我只是通过在Android jni代码中调用av_register_all来初始化ffmpeg
JNIEXPORT jstring JNICALL Java_com_testplayer_MainActivity_ffmpegOpen( JNIEnv* env, jobject thiz, jstring path)
{
const char *input_filename = "mtbiketribe-small.mp4";
av_register_all();
return env->NewStringUTF("Success in av_register_all");
}
我在文件中包含exav“C”中的libavcodec,libavformat,libavutil。 在makefile中,我包括预构建的ffmpeg.so。
我的代码构建正常,但在运行代码时,我在av_register_all中收到错误。
segmentation fault :fatal signal 11 at 0xa660001d.
请说明我收到此错误的原因。
答案 0 :(得分:0)
我担心任何人都无法用你提供的有限信息来帮助你。您使用的FFmpeg
版本很可能与您的设备/ CPU不兼容。你在模拟器上运行它吗?
如果要调试它,您需要做的是编译一个只能进行av_register_all
调用的独立C应用程序,并在gdb
下运行它,以便跟踪崩溃。