ffmpeg 的那些坑

时间:2024-03-23 07:06:44

在编译支持ffmpeg命令行的静态库时遇到了很多坑,总结修改如下:

      1.  修改ffmpeg.c的main函数,因为一个程序不能有俩个main函数,我们可以改成ffmpeg_main,

ffmpeg 的那些坑

      2.修改exit_program(int)函数,这个函数是清理资源用的,但是在里面调用了退出进程的函数exit,导致每次执行ffmpeg命令程序都会闪退。

将exit函数注释掉。

ffmpeg 的那些坑


    3. 将ffmpeg_main中的exit_program改为退出线程函数,return  exit_program(1);改完以后会发现并没有退出线程,所以还需要将exit_program(int ret)

av_noreturn中的av_noreturn去掉,这个是给编译器的注解。

ffmpeg 的那些坑

    4.在ffmpeg_clean函数中会爆野指针错误,我们需要把指针计数器清零。

ffmpeg 的那些坑

    5.和成视频的同名错误,即在执行完assert_file_overwrite函数之后会卡住报错already exist,所以我们要在

函数开始时先将以前的删除。

ffmpeg 的那些坑


demo地址:https://github.com/zhouxiangyu666666/ZXYFFmpeg/tree/master