我想在Linux-Ubuntu OS上使用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源文件中的补丁吗?
先谢谢了!
答案 0 :(得分:2)
answer you referred假设提问者正在关注Ubuntu compile guide on the FFmpeg Wiki(因为他们声称这样做了)。编译指南将variety of reasons的外部库“安装”到~/ffmpeg_build
中。该答案中的libsrt指令也适用于Wiki文章。因此,期望您在编译ffmpeg
时将使用Wiki中所示的其他编译选项来处理此问题。
configure
所做的任何更改。现在编译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"
。