avformat_open_input返回-1094995529 “Invalid data found when processing input“

avformat_open_input() 返回"Invalid data found when processing input" 错误码为-1094995529

遇到这个问题时,我一脸黑人问号。由于项目限制,之前在使用ffmpeg项目时,configure编译选项没有做筛选,导致编译出来的库十分巨大。后面发现库包含的许多功能都是用不上的,就把没必要的功能都去除了,但是当重新运行程序段时发现在打开输入流时一直失败,定位到是 avformat_open_input() 这个函数这里出的问题。网上查到的资料也只是说要添加

av_register_all();
avcodec_register_all()

但是这两个接口已经废弃了啊!!于是又查了很多资料,最终看到别人遇到类似的错误:
FFmpeg Invalid data found when processing input.
里面提到重新编译就OK了,但是也没给出具体细节。后面自己摸索,终于是解决了这个问题。
编译的时候添加上
–enable-demuxers --enable-parsers --enable-ffprobe**

这三个选项就可以了,具体是什么原因引起的,我没继续去深入了解,简单的记录一下,免得以后又遇到这个问题。ffmpeg中其他函数的问题也可能是因为编译时某些功能被去掉引起的,出错的时候要考虑这方面的原因。

编译条件
红色部分由于有换行,没有执行这些条件

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
avformat_open_input()函数是FFmpeg库中的一个函数,它用于打开一个媒体文件并且准备开始读取。当该函数返回失败并且错误代码为-1094995529时,可能是以下几种情况之一导致: 1. 文件路径错误:检查传递给avformat_open_input()函数的文件路径是否正确。确保文件存在,并且提供的路径名是正确的。如果文件不存在或路径错误,函数将返回失败。 2. 文件格式不支持:FFmpeg库支持多种音视频文件格式,但并不是所有格式都被支持。确保传递给avformat_open_input()函数的文件是被支持的格式,比如常见的.mp4文件格式。如果文件格式不被支持,函数将返回失败。 3. 缺少依赖库:FFmpeg库依赖于一些外部库来实现对某些文件格式的解码,如libx264等。如果系统中缺少这些依赖库,avformat_open_input()函数可能会返回失败。在这种情况下,需要安装正确的依赖库并重新编译FFmpeg。 4. 版本不匹配:确定FFmpeg库的版本与应用程序所依赖的版本是否匹配。如果版本不匹配,可能会导致某些函数操作失败。检查库的版本和应用程序的要求,并确保它们是兼容的。 5. FFmpeg配置错误:如果FFmpeg库没有正确配置或编译,可能会导致某些函数操作失败。确保FFmpeg库已正确配置,并重新编译以消除任何错误。 在调试过程中,可以使用av_strerror()函数将返回的错误代码转换为可读的错误信息,以便更好地理解问题的原因。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值