iOS:FFMPEG到服务器的视频流为RTSP提供了“未找到协议”

问题描述 投票:0回答:1

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

[尝试使用RTSP时,我收到'找不到协议'的错误

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);

感觉好像我缺少一些非常基本的东西,任何帮助都将是惊人的!

ios ffmpeg camera stream rtsp
1个回答
0
投票

您应该这样打开rtp和rtsp多路分配器,

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

也具有udp和rtp协议

## --enable-protocol=udp
## --enable-protocol=rtp
© www.soinside.com 2019 - 2024. All rights reserved.