将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中的该有的参数都有,解码应该是没问题的。