ffmpeg打开视频解码器失败:Could not find codec parameters for stream 0 (Video: h264): unspecified size

在使用ffmpeg进行拉流分离音视频数据再解码播放操作的时候;

有时候经常会报错:

Could not find codec parameters for stream 0 (Video: h264): unspecified size

ffmpeg默认使用udp方式传输,在使用:avformat_find_stream_info 会出现返回 codec_id ==AV_CODEC_ID_NONE 的情况;

如果id = none 的情况在 打开解码器的时候肯定会报错,所以在 执行 avformat_find_stream_info  的时候有必要判断一下视频信息的有效性!

在 avformat_open_input打开流地址之前 强制ffmpeg 以tcp传输 ,可以解决上面返回 none的情况。

AVDictionary* options = NULL;
av_dict_set(&options, "rtsp_transport", "tcp", 0);

avformat_open_input(....);

参考:

http://blog.sina.com.cn/s/blog_4462d1710101k4ld.html

原文地址:https://www.cnblogs.com/wainiwann/p/7301534.html