gpt4 book ai didi

iOS : FFMPEG Video stream to server gives 'Protocol not found' for RTSP

转载 作者:行者123 更新时间:2023-12-04 23:24:39 25 4
gpt4 key购买 nike

我有一个演示 iOS(8.0 分钟)项目,它使用 FFMPEG 将本地 mp4 流式传输到服务器。 RTMP 目的地有效,RTSP 无效。

尝试使用 RTSP 时,我收到“找不到协议(protocol)”错误

ret = avio_open(&oc->pb, filename, AVIO_FLAG_WRITE);

我试图重建我的 FFMPEG 库并确保我包含了必要的协议(protocol)
(据我了解,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);

感觉就像我错过了一些非常基本的东西,任何帮助都会很棒!

最佳答案

你应该像这样打开 rtp 和 rtsp demuxer,

--enable-demuxer=rtp 
--enable-demuxer=rtsp

还带有 udp 和 rtp 协议(protocol)
--enable-protocol=udp
--enable-protocol=rtp

关于iOS : FFMPEG Video stream to server gives 'Protocol not found' for RTSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53310554/

25 4 0