我有一台ip camera,提供实时RTSP视频流.我可以使用VLC媒体播放器通过提供URL来查看Feed:
rtsp://cameraipaddress
但我需要在网页上显示Feed.相机提供商提供了一个ActiveX控件,我已经开始工作了,但它确实很麻烦,导致浏览器频繁挂起.
有谁知道我可以使用哪些支持RTSP的替代视频插件?
摄像机可配置为以H264或MPEG4进行流式传输.
VLC还附带一个ActiveX插件,可以在网页中显示Feed:
http://wiki.videolan.org/ActiveX/HTML
粗略地说,您可以有3种选择在网页中显示RTSP视频流:
Realplayer的
Quicktime播放器
VLC播放器
您可以通过谷歌搜索找到嵌入activeX的代码.
据我所知,每个玩家都有一些限制.
Realplayer本身不支持H.264视频,您必须为Realplayer安装quicktime插件才能实现H.264解码.
Quicktime播放器不支持RTP/AVP/TCP传输,它的RTP/AVP(UDP)传输不包括NAT打孔.因此唯一可行的传输是WAN部署中的HTTP隧道.
VLC既不支持RTP/AVP传输的NAT穿孔,也可以使用RTP/AVP/TCP传输.
在网页上显示来自IP摄像机的实时视频流并不容易,因为您需要宽的互联网带宽和与主要浏览器兼容的出色视频播放器.
但幸运的是,有一些基于云的服务可以为我们完成这项工作.其中最好的是IPCamLive.该服务可以从IP摄像机接收RTSP/H264视频流,并可以将其广播给观众.IPCamLive具有Flash/HTML5视频播放器组件,可在PC,MAC,平板电脑或移动设备上显示视频.最棒的是,该网站会生成所需的HTML代码段,用于嵌入直播视频,如下所示:
因此我们只需要将其粘贴到我们的HTML文件中而无需任何修改.
如果您想将RTSP直接流式传输到网页,那么我担心您唯一的选择是使用相机附带的ActiveX控件查看器.这是一个直接连接IP Cam - > Viewer,应该是最快的.不确定为什么你有问题; Axis ActiveX对我来说非常有用.
但是,此选项实际上并不具有带宽效率,并且您无法为多个并发查看器提供服务(大多数IP摄像机都有10个查看器限制).更好的选择是将单个RTSP流上传到集中托管的流媒体服务器,该服务器将您的流转换为RTMP/MPEG-TS并将其发布到Flash播放器/机顶盒.
Wowza,Erlyvideo,虚幻媒体服务器,Red5是您的选择.
从VLC官方文档中找到一个简单易用的Web插件解决方案
https://wiki.videolan.org/Documentation:WebPlugin/
修改了一点代码并使其正常工作.这是我的代码 -
注意:上面的代码段使用了rtsp
我的IP摄像头支持的url格式.所以你需要为你的相机做同样的事情.您可以通过咨询相机供应商支持获取此信息.另请注意,我在Chrome上测试过它(使用适用于Chrome的activeX插件),可能不支持其他浏览器(包括手机浏览器).
您也可以尝试使用开源WebRTC媒体服务器Kurento
哪个可以播放RTSP视频流并将其发送到WebRTC或转码为RTMP或保存在服务器上.
我们在以下情况下将其用于生产:
- WebRTC to Webrtc (many to many) - WebRTC to RTMP - RTSP to WebRTC
Wowza
将RTSP重新流式传输到RTMP(Flash Player)无法与Android Chrome或FF一起使用(不支持Flash)
将RTSP重新流式传输到HLS
Web呼叫服务器(Flashphoner)
将RTSP重新流式传输到WebRTC(适用于Android或桌面的Chrome和FF的本机浏览器功能)
将RTSP重新流式传输到Websockets(iOS Safari和Chrome/FF桌面)
看看这篇文章.