• 浏览器播放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.
     FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。在这里我只用到了它的视屏格式转换功能,将rtsp协议的视频流转成rtmp(监控本身是rtsp协议,现在这个方案虽然用了jwplay,但也只是支持rtmp,因此要用ffmpeg转码)
    举个例子:
    假如海康摄像头的监控地址为(rtsp://admin:12345@192.168.10.215/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

  • 相关阅读:
    jQuery 获取 select 值和文本
    js 获取字符串中最后一个斜杠后面的内容
    asp.net web.config 经典模式和集成模式相关配置
    IIS8 web.config 重定向之后 报错 500.19
    nodeJs学习-06 模块化、系统模块、自定义模块、express框架
    nodeJs学习-05 案例:http/fs/querystring/url
    nodeJs学习-04 POST数据请求,分段发送,分段接收
    nodeJs学习-03 GET数据请求,js拆解/querystring/url
    nodeJs学习-02 fs模块(文件操作)
    nodeJs学习-01 http模块
  • 原文地址:https://www.cnblogs.com/softidea/p/6872731.html
Copyright © 2020-2023  润新知