我有一个演示iOS (8.0分钟)的项目流本地mp4到使用FFMPEG的服务器。RTMP目标可以工作,但RTSP不能。
当尝试使用RTSP时,我从以下位置得到一个'Protocol not found‘错误
ret = avio_open(&oc->pb, filename, AVIO_FLAG_WRITE);我试着重建我的FFMPEG库,并确保我包含了必要的协议(据我所知,RTSP是FFMPEG中的一个复用器,因此启用了复用器)
--enable-muxer=rtsp \
--enable-muxer=rtp \
--enable-protocol=rtp \
--enable-protocol=rtsp \在代码中,我尝试添加适当的AVOptions
av_dict_set(&opt, "rtsp_transport", "udp", 0);
av_dict_set(&opt, "announce_port", "1935", 0);
av_dict_set(&opt, "enable-protocol", "rtsp", 0);
av_dict_set(&opt, "protocol_whitelist","file,udp,tcp,rtp,rtsp", 0);
av_dict_set(&opt, "enable-protocol", "rtp", 0);
av_dict_set(&opt, "enable-protocol", "rtsp", 0);
av_dict_set(&opt, "enable-protocol", "udp", 0);
av_dict_set(&opt, "enable-muxer", "rtsp", 0);
av_dict_set(&opt, "enable-muxer", "rtp", 0);这在我的开放编解码器调用中被调用。
ret = avcodec_open2(c, codec, &opt);感觉我遗漏了一些非常基本的东西,任何帮助都将是令人惊讶的!
发布于 2020-01-10 10:24:04
你应该像这样打开rtp和rtsp demuxer,
--enable-demuxer=rtp
--enable-demuxer=rtsp也可使用udp和rtp协议
--enable-protocol=udp
--enable-protocol=rtphttps://stackoverflow.com/questions/53310554
复制相似问题