繁体   English   中英

使用Xcode 4.6.1在iOS 6上进行RTSP流式传输

[英]RTSP Streaming on iOS 6 with Xcode 4.6.1

我需要开发一个能够接收RTSP流的应用程序。 我试着在互联网上找到解决方案/教程一整天,但没有任何成功。 我阅读了很多关于使用FFMPEG或Live555的内容(更多FFMPEG,我也读到使用最新版本的FFMPEG时不需要Live555),但是当我在stackoverflow上发现问题时,我无处可见它以我能理解的形式描述答案非常简短,我无法弄清楚他们试图解释什么。 所以现在我需要问问自己。 我使用“Homebrew”下载并安装FFMPEG,现在当我查看我的目录/ usr / local /我可以看到这个,安装的文件包含在“Cellar”的子文件夹中 酒窖目录

我还试着看看这些项目: Mooncatventures的RTSPPlaykolyvan的kxmovie

我并没有真正弄清楚如何使用这些项目,文档无限期且“模糊”。 好吧,当我尝试编译这些项目时,kxmovie会出现错误,例如“缺少avformat.h”, 错误avformat.h 我将usr / local / cellar / ffmpeg / 1.2.1 / lib中的dylib添加到项目中,但似乎这不是正确的方法。 与RTSPPlay xcodeprj几乎相同的问题,它给出了“Entitlements.plist”丢失的错误,在完全删除了该文件的链接之后我得到了99+ Apple Mach-O链接器错误,老实说我无法理解为什么。

我也想尝试Live555,但是我无法看清所有这些模糊和混乱的文件,我再也无法监督文档以及如何为iphoneos构建库(我读它是接收RTSP Stream的最简单方法,但它是与其他项目相同的一堆令人困惑的文件)

也许如果有人尝试使用这些项目或开发应用程序本身可以帮助我使用他/她的SourceCode,或者如果有人看到FFMPEG / Homebrew的所有内容制作了dir,他/她可以解释我如何使用它,那可能帮助我和正在寻找解决方案的所有其他绝望的开发人员。

只需稍加编辑:我正在尝试接收RTSP H.264解码视频流。

在此先感谢Maurice Arikoglu。 (如果您需要任何类型的SourceCode,Links,ScreenShots等,请告诉我)

对于正在寻找有效的RTSP播放器库的人来说,看看我在网上发现的Durfu的Mooncat Fork ,它在iOS 8上运行得非常好。包含一个示例代码,如果你对实现有困难我可以帮助你。

我已经检查过你提到过的很多项目,并且对这些项目有很好的经验。

你可以使用ffmpeg库来创建一个rtsp流客户端,因为ffmpeg支持rtsp协议...但是我在测试中看到一个重要的问题,当使用UDP传输层进行流传输时,ffmpeg的rtsp协议有一些重要的问题。 ..即使使用最新版本(2.01),许多RTP数据包在流式传输过程中也会丢失,因此图像有时会出现故障...如果您使用TCP或http传输层,那么它运行良好...

对于live555项目,当流式传输rtsp流时,这个库适用于UDP和TCP传输。但是ffmpeg功能非常强大/具有许多功能而不是live555。

如果您决定使用ffmpeg,那么基本上,您应该按照以下步骤,

  1. 建立连接 - avformat_open_input
  2. 找到音频/视频编解码器 - avcodec_find_decoder
  3. 打开音频/视频编解码器 - avcodec_open2
  4. 在循环中读取来自文件/网络流的编码数据包 - av_read_frame A. a。 解码音频数据包 - avcodec_decode_audio4 b。 使用audiounit / audioqueue框架填充音频缓冲区B. a。 解码视频数据包 - avcodec_decode_video2 b。 将yuv图片转换为rgb图片 - sws_scale或opengles着色器

祝好运...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM