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


    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的版本号,并可以加载配置项。

  • 相关阅读:
    Kafka 再均衡监听器示例
    Spring boot中异步线程池
    【Java&Go并发编程系列】4.等待一组并发任务完成——CountDownLatch VS sync.WaitGroup
    Redis常用命令对应到Redisson对象操作
    Redisson教程
    Redisson官方文档
    Springboot 防止XSS攻击,包含解决RequestBody 的Json 格式参数
    防止XSS脚本注入-前端vue、后端springboot
    在Intellij IDEA中使用Debug
    appium 处理webview
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14251828.html
Copyright © 2020-2023  润新知