我有一台IP摄像头,我想分享它的饲料。
它可以输出RTSP源和简单的JPEG图像。
我正在寻找一种方法来获取单个Feed并将其提供给多个观众。
实际上在任何给定时间可能只有少数,所以不是一次看1000。
我也想在没有硬件的情况下这样做,只需要相机,输出它的输入。
互联网上是否有可以接受该Feed并以某种方式向多人提供服务的服务?
也许这样做的方法是将RTSP转码为更适合浏览器的东西,这是一个选项吗?
同样,我的硬件没有,我不希望机架上的计算机(甚至1个)坐在我的尽头。
答案 0 :(得分:3)
首先,您需要从相机接收RTSP流。有一些开源库可以像Live555一样使用。然后,您需要将流转换为可由浏览器播放的协议。这可以是HTTP实时流(HLS)或HTTP上的动态自适应流(MPEG-DASH)。如果支持Media Source Extensions(MSE),则可以使用HTML5视频播放这些流。较旧的浏览器不支持MSE,因此您需要一个后备播放器(例如支持HLS或MPEG-DASH的基于Adobe Flash的播放器)。
有一些基于云的服务可为广播您的IP摄像机提供完整的解决方案。我测试了IPCamLive.com,它对我来说很好。
我在IPCamLive中最喜欢的是这项服务提供了一个简单的HTML片段来嵌入相机,所以我只将这个片段粘贴到我的网页中。另一个好处是该服务支持ONVIF协议,可以帮助您找到相机流的正确RTSP URL。
答案 1 :(得分:0)
相机型号是什么?如果它支持RTSP和JPEG,您只需要将端口80用于JPEG,将554用于RTSP从路由器转发到摄像机的本地IP地址。此外,您应该拥有静态IP,或在dyndns.org注册您的动态地址并获取它的DNS名称。
然后,如果用户想要查看来自该摄像头的RTSP流,他们可以从RTSP网址打开它,参考相机所在路由器的WAN IP地址。
对于AXIS相机和上面的设置:
rtsp://84.55.1.2/axis-media/media.3gp
这将路由到10.10.10.1:554
,即IP摄像头。
如果相机支持UPnP,您可以减少工作量。然后将其打开,您将获得用户必须在其URL和要添加的端口中放置的地址。
现在,如果你想在浏览器中显示它,你可能想要获得MOTION JPEG(如果支持),或定期获取JPEG ...
答案 2 :(得分:0)
使用媒体服务器...
媒体服务器聚合连接,因此设备不必面向前方。
有几个......
我的是http://net7mma.codeplex.com/
我的库@ http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp
有一个代码项目文章它支持非rtp源,例如您指定的HTTP Jpeg和MJpeg变体,此外它还支持动态地从jpeg图片创建RTP MJPEG。
您还可以选择使用重新启动间隔并仅发送已更改的最小编码单元(MCU),从而减少发送的数据量并获得或多或少接近MPEG的带宽。
适用于VLC,QuickTime,(S)MPlayer和其他各种播放器。
它的主要目的是按照您的要求进行聚合,它还支持录制到rtpdump格式。
它适用于Mono或.Net,目前的目标是4.5.2,因为还计划提供一些编码和解码支持。