当前位置: 代码迷 >> 多媒体/流媒体开发 >> ffmpeg av_read_frame解决办法
  详细解决方案

ffmpeg av_read_frame解决办法

热度:2646   发布时间:2013-02-26 00:00:00.0
ffmpeg av_read_frame
将av_read_frame读出的数据保存成文件,再用ffmpeg进行解码出错! 调用av_open_input_file()出错?

------解决方案--------------------------------------------------------
av_read_frame读出来的是帧数据,送交解码之前要先,avformat_open_input解析文件头,再调用avformat_find_stream_info解析文件中的流并得到流中一些必须的信息。

给你个例子:
http://bbs.chinavideo.org/viewthread.php?tid=10043&highlight=
------解决方案--------------------------------------------------------
不贴代码怎么看。。。

调用av_read_frame写入文件,然后fopen文件,读文件中的数据解码?不大清楚你是怎么处理的。

有两个可能:
1) 你读文件解码,文件中缺少解码所必须的一信息,如video中的width,height,audio中的channels,samplerate,bitrate等等,这些参数如果已知,可以通过填充AVCodecContext结构体来得到。

2) 两个线程的同步没做好,不明白你是写文件还是写buffer,不管怎样,同步做好了,保证读的顺序和写的顺序是一致的,再加上decoder中的该有的参数都有,解码应该是没问题的。
  相关解决方案