专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 多媒体/流媒体开发

ffmpeg的av_find_stream_info()卡住15秒…解决方法

发布时间:2011-06-27 19:30:45 文章来源:www.iduyao.cn 采编人员:星星草
ffmpeg的av_find_stream_info()卡住15秒……
大家好,请教一个问题。。请问为什么调用av_find_stream_info()这个函数的时候会卡住很长时间才返回?如果是用av_open_input_file()打开文件后再调用这个函数就没有这个问题,该函数会马上返回;但如果我是这样:
AVFormatContext *pFmtCtx;
AVInputFormat *fmt = NULL;
AVProbeData probe_data, *pd = &probe_data;
ByteIOContext *pb = NULL;

pd->buf = pszNetBuf; //网络流的缓冲区,该指针已指向I帧开头
pd->buf_size = 400000; //随便写的,100000试过,200000也试过,都是这样
pd->filename = "rtsp://192.168.1.100/stream0"; //RTSP地址
if (!fmt) {
/* guess format if no file can be opened */
fmt = av_probe_input_format(pd, 0);
}

av_open_input_stream(&pFmtCtx, pb, "rtsp://192.168.1.100/stream0", fmt, NULL); //这个函数能正常地获取pFmtCtx相关的数据
av_find_stream_info(pFmtCtx); //卡住。。。。。大概15秒后才返回。

请问为什么会这样呢?应该怎样解决?谢谢!

------解决方案--------------------
你不是用avcodec_decode_video挺好的么
------解决方案--------------------
是这样子的,先用av_open_input_file()打开文件流,但这样有的时候有些参数的值仍然获取不到,比如时间,只好再调用av_find_stream_info()解码第一帧来得到具体的数值
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: