大家好,又见面了,我是你们的朋友全栈君。
ffmpeg avformat_open_input失败,返回错误码-10049,错误描述:Error number -10049 occurred
调试代码,找到如果设置了time_out参数,就会失败,不设置就没问题,具体原因还没有找到,备注此问题,以待后续继续分析
源代码:
代码语言:javascript复制av_register_all();
avformat_network_init();
AVFormatContext *pFormatCtx = avformat_alloc_context();
pFormatCtx->interrupt_callback.opaque = this;
pFormatCtx->interrupt_callback.callback = interrupt_cb;//设置超时回调函数
AVDictionary *optionsDict = NULL;
if(Rtsp_Protocol==TCP)
{
av_dict_set(&optionsDict, "rtsp_transport", "tcp", 0);//采用tcp传输
}
av_dict_set(&optionsDict, "stimeout", "5000000", 0);//设置rtsp超时5s,单位微妙
//以下timeout设置了,就会input_open失败,-10049
//av_dict_set(&optionsDict, "timeout", "3000000", 0);//设置超时3秒,单位http:ms,udp:s
av_dict_set(&optionsDict, "rw_timeout", "5000", 0);//单位:ms
int ret =0;
if ((ret=avformat_open_input(&pFormatCtx, url, NULL, &optionsDict)) != 0)
{
log_error("Couldn't open input stream %d,ret);
return -1;
}
设置下面这个参数,就失败
如果有大佬知道原因,可以留言,感谢
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。