飞道的博客

TSINGSEE青犀视频开发webrtc使用ffmpeg编译报ffmpeg version: N-94448-G3CEA9CD219提示是什么原因

257人阅读  评论(0)

TSINGSEE青犀视频现阶段做的webrtc开发已经进入了下一个阶段,当音视频推流都已经测试完成后,我们开始了研究ffmpeg的道路。

FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OSX等。ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。

我们在webrtc中使用ffmpeg,出现获取版本为“ffmpeg version: N-94448-G3CEA9CD219”的提示,而不是出现xxx.xxx.xxx版本号
使用ffmpeg avcodec_configuration这个函数,出现的是null,而不是加载配置项。

一般情况下,在webrtc中使用ffmpeg报错可能有如下原因:
(1)没有找到ffmpeg库
(2)webrtc没有打包成共享库
(3)共享库的优先级问题
(4)webrtc打包错误

因此在排查中我们检查了参数列表,找到is_component_ffmpeg这个参数的说明,这个参数有助于用自己的ffmpeg库,而不是用webrtc构建的工具库。

完整的gn参数如下所示:
gn gen out/Debug --ide=vs2017 --args=“is_debug=true target_cpu=“x86” is_clang=false is_component_ffmpeg=true”

可以看到参数中is_component_ffmpeg设置为false,但是此处的参数应该为true,才能将ffmpeg构建为共享库。

通过完整的gn参数再次打包webrtc,运行结果如下:

问题得以解决,看到了ffmpeg的版本号,并可以加载配置项。


转载:https://blog.csdn.net/TsingSee/article/details/112286026
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场