Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何在没有解析器的情况下成功解码带有http超时的ffmpeg帧_C_Ffmpeg_Libav - Fatal编程技术网

C 如何在没有解析器的情况下成功解码带有http超时的ffmpeg帧

C 如何在没有解析器的情况下成功解码带有http超时的ffmpeg帧,c,ffmpeg,libav,C,Ffmpeg,Libav,我面临的情况是,连接问题导致ffmpeg生成错误/混乱的工件(帧),这与手册中的状态相反 我们使用curl作为http传输库,使用ffmpeg作为处理库。为了模拟网络超时,我在AVIOContext中放置了几个断点,该断点被传递到AVFormatContext avformat_open_input('http://some.com/1.ts') while(!eof) av_read_frame av_send_packet while(!av_receive_frame)

我面临的情况是,连接问题导致ffmpeg生成错误/混乱的工件(帧),这与手册中的状态相反

我们使用
curl
作为http传输库,使用
ffmpeg
作为处理库。为了模拟网络超时,我在
AVIOContext
中放置了几个断点,该断点被传递到
AVFormatContext

avformat_open_input('http://some.com/1.ts')
while(!eof)
  av_read_frame
  av_send_packet
  while(!av_receive_frame)
     do_something
close
av\u receive\u frame
在成功时应返回
0
,在需要额外数据的情况下,应返回错误
-35

因此,在会话超时后,
ffmpeg
仍然可以以某种方式提取(
av\u receive\u frame
)第一帧,即使它没有机会下载/积累足够的数据

我的问题是,如果不使用
解析器
,是否有方法验证解码器能否成功解码数据包

“编辑”:我看到
av\u read\u frame
使用解析,如果
AVStream::need\u parsing
属性不是
NONE
,你对如何设置它有什么想法吗