ffmpeg遇到的问题

编译时遇到的问题:
/bin/sh: 1: ctags: not found
解决方案:
    sudo apt-get install ctags

遇到的问题
/usr/bin/ld: /home/fengxi/ffmpeg_build/lib//libavcodec.a(dds.o): undefined reference to symbol 'sqrtf@@GLIBC_2.0'
/lib/i386-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
解决方案
通常情况下,如果遇到这种情况,很明显是少了库。然后就要想到通过-l加库来解决问题。然后根据后面的报错情况来决定究竟是少了哪个库。


遇到的问题
执行:pkg-config --cflags libavformat libavcodec libswscale libavutil sdl
Package libavformat was not found in the pkg-config search path.
Perhaps you should add the directory containing `libavformat.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libavformat' found
解决方案:
export PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"

pkg-config
pkg-config提供的功能:
1、检查库的版本号。如果所需要的库的版本不满足工作,它会打印出错误信息,避免链接错误版本的库文件。
2、获得编译预处理参数,如宏定义,头文件的位置。
3、获得链接参数,如库及依赖的其它库的位置,文件名及其它一些链接参数。
4、自动加入所依赖的其它库的设置。
这一切都是自动的,库文件安装在哪里都没有关系。

原理:
为了让pkg-config可以得到这些信息,要求库的提供者,提供一个.pc文件。这个文件一般放在/usr/lib/pkconfig或者/usr/local/lib/pkconfig里,当然也可以放在其它地方。为了让pkconfig能够找到你的.pc文件,你需要把.pc文件所在的路径,设置在环境变量PKG_CONFIG_PATH里面。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用FFmpeg进行拉流过程中,如果遇到流中断,FFmpeg会停止。这是因为FFmpeg在拉取网络流或者读取文件流时,需要保持持续的数据传输才能正确解码和播放。 当流中断时,可能是由网络故障、服务器问题或者文件损坏等原因造成的。在这种情况下,FFmpeg会自动停止拉流操作,以避免解码和播放出错或者继续占用系统资源。 一旦流中断,通常需要重新启动FFmpeg的拉流操作。可以尝试以下方法来解决流中断问题: 1. 检查网络连接:确保网络连接正常,没有出现丢包、延迟或者断连的情况。可以使用ping命令或者其他网络诊断工具来测试网络状态。 2. 检查服务器状态:如果是从远程服务器拉流,确认服务器是否正常运行,没有出现负载过高、停机或者重启的情况。 3. 检查流源文件:如果是从本地文件中拉流,检查文件是否完整且没有损坏。可以尝试重新下载或者使用其他文件进行测试。 4. 更新FFmpeg版本:有时候,流中断问题可能是由于FFmpeg版本过旧或者存在bug所致。可以尝试更新到最新版本或者使用其他稳定版本。 5. 调整FFmpeg参数:根据具体情况,可以尝试调整FFmpeg的参数,如修改缓冲大小、重试次数、超时时间等,以适应不同的网络环境。 总的来说,当FFmpeg拉流遇到流中断时,会自动停止,需要检查网络、服务器和流源文件等因素,并尝试重新启动FFmpeg操作或者调整参数,以解决问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值