首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS :发送到服务器的FFMPEG视频流为RTSP提供“找不到协议”

iOS :发送到服务器的FFMPEG视频流为RTSP提供“找不到协议”
EN

Stack Overflow用户
提问于 2018-11-15 07:58:37
回答 1查看 2.3K关注 0票数 0

我有一个演示iOS (8.0分钟)的项目流本地mp4到使用FFMPEG的服务器。RTMP目标可以工作,但RTSP不能。

当尝试使用RTSP时,我从以下位置得到一个'Protocol not found‘错误

代码语言:javascript
复制
ret = avio_open(&oc->pb, filename, AVIO_FLAG_WRITE);

我试着重建我的FFMPEG库,并确保我包含了必要的协议(据我所知,RTSP是FFMPEG中的一个复用器,因此启用了复用器)

代码语言:javascript
复制
--enable-muxer=rtsp \
--enable-muxer=rtp \
--enable-protocol=rtp \
--enable-protocol=rtsp \

在代码中,我尝试添加适当的AVOptions

代码语言:javascript
复制
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);

这在我的开放编解码器调用中被调用。

代码语言:javascript
复制
ret = avcodec_open2(c, codec, &opt);

感觉我遗漏了一些非常基本的东西,任何帮助都将是令人惊讶的!

EN

回答 1

Stack Overflow用户

发布于 2020-01-10 10:24:04

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

代码语言:javascript
复制
--enable-demuxer=rtp 
--enable-demuxer=rtsp

也可使用udp和rtp协议

代码语言:javascript
复制
--enable-protocol=udp
--enable-protocol=rtp
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53310554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档