首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iOS中显示来自IP摄像机/闭路电视的RTSP

如何在iOS中显示来自IP摄像机/闭路电视的RTSP
EN

Stack Overflow用户
提问于 2013-02-25 17:25:04
回答 4查看 21.8K关注 0票数 8

显然有一种方法可以做到这一点,因为已经有很多应用程序在这么做了-- NetCamViewer和iCamviewer就是其中之一。

我已经找了又找,但我没有找到任何有价值的东西来提示这是如何完成的。我伸出援手,希望有人能给我一点提示。

我正在尝试连接支持RTSP协议的视频安全摄像头(Y-CAM),并显示来自我的iPhone/iPad应用程序的视频。摄像头有一个IP地址,我可以从我的Mac上运行的web浏览器和Quicktime上观看视频。问题是RSTP在iOS上不受支持,所以即使在iPad上尝试使用Safari连接也不能正常工作。

我读到过一些人正在尝试使用Live5555,但我还没有看到一篇文章描述它是否已经成功完成以及如何完成。

另一种方法是在服务器上捕获RTSP流,将其转换为HTTP Live流,然后从iOS连接到HTTP Live流。不幸的是,事实证明这并不像听起来那么容易。

我更喜欢像我见过的其他应用程序那样直接转到摄像头。如果有必要,RTSP to Live是一个后备方案。

任何提示都是非常感谢的。谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-01 06:29:35

这是错误的:)或者没有必要(另一种方法是在服务器上捕获RTSP流,将其转换为HTTP Live流,然后从iOS连接到HTTP Live流。不幸的是,事实证明这并不像听起来那么容易。)

你应该使用ffmpeg库,因为这个库可以连接任何流媒体服务器(支持rtsp,mms,tcp,udp,rtmp ...)然后在屏幕上绘制图片..(对于绘图,您可以使用opengles或uiimage也工作)

首先,使用avformat_open_input连接到您的ip地址,然后使用avcodec_find_decoder & avcodec_open2查找编解码器并打开它们(音频和视频都应该调用它们)

然后,在while循环中,当你得到帧时,使用av_read_frame方法从服务器读取数据包,如果是音频,则将其发送到AudioUnit或AudioQueue,如果是视频,则使用sws_scale方法将其从yuv格式转换为rgb格式,并将图片绘制到屏幕上。

就这样。

再看看这个包装器(http://www.videostreamsdk.com),它是在ffmpeg库上编写的,支持iOS

票数 11
EN

Stack Overflow用户

发布于 2013-02-27 00:02:35

你真的需要在发帖前搜索堆栈溢出,这个问题已经被问过很多次了。是的,live 555之类的作品,我们中的一些人已经让它工作了..

也有其他的玩家,包括我们的http://www.streammore.tv/

票数 0
EN

Stack Overflow用户

发布于 2013-05-07 01:44:07

您可以在GitHub上找到用于iOS的开源FFMepg解码器(以及一些示例):https://github.com/mooncatventures-group

这个库的示例用法:http://sol3.typepad.com/exotic_particles/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15063720

复制
相关文章

相似问题

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