天天看点

浏览器播放rtsp流媒体解决方案

老板提了一个需求,想让网页上播放景区监控的画面,估计是想让游客达到未临其地,已知其境的状态吧。

    说这个之前,还是先说一下什么是rtsp协议吧。

 RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTP传送的是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。(管他说的啥,反正就是摄像头的协议,网页不能直接播)。

 跟后台研究了几天,决定的实现方式是:nginx搭的服务器,ffmpeg转码,jwplayer播放。(未知的时候像读天书,真要了解了,感觉也没多难)。

什么都不说了,卷起袖子玩玩吧。先搞个ffmpeg、nginx和jwplay。

1.先把nginx开了。

conf里我用的是这两个端口,

1935不是http,但8080的www是呀, 先放个本地的mp4看看有没有问题。

2再说说ffmpeg.

举个例子:

假如海康摄像头的监控地址为(rtsp://admin:[email protected]/h264/ch1/main/av_stream)(帐户,密码,ip,端口,.....)

这串地址每一项都要对,不然就等着报错吧,错了重来也是挺浪费时间的。

如图就是地址不对导致的授权失败。

话不多说,让我们开了ffmpeg吧。

然后再转一下rtmp

如果成功了会一直转,不停歇:

至此,ffmpeg就先这样吧

3 让我们开了jwplayer

key值一定要有,这是我以前觉的一切都没错,js也引了,可还是实现不了播放的一个原因。

jwplayer虽然是国外的还是很不错的,可以自定义直播封面,插播广告等,可惜有的功能要花钱。

最后刷下local,

ok,海康的摄像头再也不需要海康的软件才能看直播了。

其实,实践过程中还出过一些其它错误,时间拖的太长,我也记不清了。

一开始是想用websocket直接拿过来video直接播放rtsp的,由于后台说的某些原因,就改用这个方案了。

我现在还是想用websocket,有时间了再看下吧。

http://www.cnblogs.com/gaoji/p/6872365.html

继续阅读