【问题标题】:How to configure ffmpeg with libsrt (Secure Reliable Transport) protocol?如何使用 libsrt(安全可靠传输)协议配置 ffmpeg?
【发布时间】:2019-03-15 05:43:15
【问题描述】:

我想在 linux-Ubuntu 操作系统上使用 libsrt(安全可靠传输)协议配置 ffmpeg,我按照link 中的步骤操作

但是当运行$./configure --enable-libsrt 命令时它给了我一个错误:

ERROR: srt >= 1.3.0 not found using pkg-config

我修改了配置文件,它执行了上面的命令,但是当我运行$ make 命令时,它最终出现以下错误:

LD  ffmpeg_g
libavformat/libavformat.so: undefined reference to `srt_socket'
libavformat/libavformat.so: undefined reference to `srt_bind'
libavformat/libavformat.so: undefined reference to `srt_getsockopt'
libavformat/libavformat.so: undefined reference to `srt_close'
libavformat/libavformat.so: undefined reference to `srt_epoll_add_usock'
libavformat/libavformat.so: undefined reference to `srt_startup'
libavformat/libavformat.so: undefined reference to `srt_connect'
libavformat/libavformat.so: undefined reference to `srt_epoll_release'
libavformat/libavformat.so: undefined reference to `srt_listen'
libavformat/libavformat.so: undefined reference to `srt_getlasterror'
libavformat/libavformat.so: undefined reference to `srt_getlasterror_str'
libavformat/libavformat.so: undefined reference to `srt_cleanup'
libavformat/libavformat.so: undefined reference to `srt_setsockopt'
libavformat/libavformat.so: undefined reference to `srt_sendmsg'
libavformat/libavformat.so: undefined reference to `srt_clearlasterror'
libavformat/libavformat.so: undefined reference to `srt_epoll_wait'
libavformat/libavformat.so: undefined reference to `srt_epoll_remove_usock'
libavformat/libavformat.so: undefined reference to `srt_epoll_create'
libavformat/libavformat.so: undefined reference to `srt_recvmsg'
libavformat/libavformat.so: undefined reference to `srt_accept'
collect2: error: ld returned 1 exit status
Makefile:108: recipe for target 'ffmpeg_g' failed
make: *** [ffmpeg_g] Error 1

使用 ffmpeg 启用 libsrt 的具体步骤是什么?我错过了什么吗?我必须将任何补丁添加到现有的 ffmpeg 源吗?

提前致谢!!!

【问题讨论】:

  • 配置脚本旨在评估依赖项的存在和适用性。不要指望通过修改脚本来逃避它们!你的 srt 版本是多少?
  • srt版本是1.3.2
  • 您确定您正确安装(make install)SRT 吗?
  • @thekamilz SRT 安装正确
  • 我们在 1.3.1 之前的版本中无法正确安装,这是由于明确使用 lib 而不是 GNUInstallDirs。在 1.3.2 版本中,它应该被修复。如果您有报告为“pkg-config”的问题,只需尝试执行pkg-config --libs srt。如果有任何无效结果,请检查PKG_CONFIG_PATH 是否指向安装SRT 的位置,如果可以,请在github.com/Haivision/srt 上提交错误。

标签: ffmpeg protocols configuration-files patch pkg-config


【解决方案1】:

answer you referred 假设提问者正在关注Ubuntu compile guide on the FFmpeg Wiki(因为他们声称这样做)。编译指南将外部库“安装”到~/ffmpeg_build 中以获得variety of reasons。该答案中的 libsrt 说明与 wiki 文章的内容相同。因此,在编译ffmpeg 时,预计您将使用 wiki 中显示的附加编译选项来处理此问题。

  1. 撤消您对 configure 所做的任何更改。
  2. 如果您还没有,请按照链接的答案编译 libsrt。
  3. 现在编译ffmpeg

    make distclean
    PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --enable-libsrt --pkg-config-flags="--static"
    

或者,如果您不想使用大多数这些额外选项,则在编译 libsrt 时省略 -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 2017-03-27
    • 1970-01-01
    • 2016-05-26
    • 2016-09-30
    相关资源
    最近更新 更多