FFmpeg日志输出到adb logcat
来源:互联网 发布:知乎笑笑五五开 编辑:程序博客网 时间:2024/06/01 22:24
0. 前言
在Android中编写的FFmpeg程序,没有经过设置的话是无法在adb logcat中看到ffmpeg的日志,对于NDK程序而言其本身就缺乏适当的调试方法(AndroidStudio可以支持调试,但是很麻烦),如果再不能查看日志,那就算是废了。
本文在此提供一种把ffmpeg日志输出到adb logcat的方法。
1. av_log_set_callback
ffmpeg中av_log_set_callback函数提供了注册ffmpeg日志输出回调接口。
av_log_set_callback(log_callback_null);
static void log_callback_null(void *ptr, int level, const char *fmt, va_list vl){ static int print_prefix = 1; static int count; static char prev[1024]; char line[1024]; static int is_atty; av_log_format_line(ptr, level, fmt, vl, line, sizeof(line), &print_prefix); strcpy(prev, line); //sanitize((uint8_t *)line); if (level <= AV_LOG_WARNING) { XLOGE("%s", line); } else { XLOGD("%s", line); }}
2. 输出android日志
NDK程序通过__android_log_print函数可以把日志从logcat输出。
#ifdef ANDROID#include <android/log.h>#ifndef LOG_TAG#define LOG_TAG "FFMPEG"#endif#define XLOGD(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)#define XLOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)#else#include <stdio.h>#define XLOGE(format, ...) fprintf(stdout, LOG_TAG ": " format "\n", ##__VA_ARGS__)#define XLOGI(format, ...) fprintf(stderr, LOG_TAG ": " format "\n", ##__VA_ARGS__)#endif //ANDROID
0 0
- FFmpeg日志输出到adb logcat
- adb logcat输出安卓日志
- 在开源库中输出log到adb logcat
- jni中的日志输出到LOGCAT
- jni中的日志输出到LOGCAT
- adb shell logcat 输出对应APK的日志
- adb logcat查看某个进程的输出日志
- adb logcat 查看日志
- adb logcat 查看日志 !!!
- adb查看日志LOGCAT
- adb logcat查看日志
- adb logcat 查看日志
- adb logcat 查看日志
- adb logcat 查看日志
- adb logcat查看日志
- adb logcat 查看日志
- adb logcat 查看日志
- adb logcat 查看日志
- 数据结构及算法 1-开始学习!
- 编程书籍
- java开发中拦截器、过滤器、监听器区别
- Linux 内核打印级别
- 简单使用android自带刷新控件SwipeRefreshLayout
- FFmpeg日志输出到adb logcat
- 【LeetCode】No.1 Two Sum
- 对象引用、==、toString方法、equals方法以及hashcode方法
- android 通话自动录音服务
- web介绍
- 音标再总结
- layout_weight 讲解
- Static块(静态代码块)
- svntogit git rebase git cherrypick