zoukankan      html  css  js  c++  java
  • 用VLC读取摄像头产生RTSP流,DSS主动取流转发(一)(二) 【转】

    http://blog.csdn.net/fm0517/article/details/38110633

    http://blog.csdn.net/fm0517/article/details/38119363

    摄像机地址是192.1.101.51,VLC运行在192.1.101.77上,DSS服务器架设在192.1.101.30上。


    Step1:VLC从摄像机取流,产生RTSP流

    vlc -vvv rtsp://192.1.101.51 --sout #rtp{dst=192.1.101.77,sdp=rtsp://192.1.101.77/live_vlc.sdp}

    此时已经可以从77上观看视频。



    Step2:在DSS服务器上配置转发



    Step3:查看结果,从DSS服务器30上观看视频,注意与上一个截屏存在月10秒的时差。

    之前介绍过《用VLC读取摄像头产生RTSP流,DSS主动取流转发(一)》本文介绍另一种方法。

    摄像机地址是192.1.101.51,VLC运行在192.1.101.77上,DSS服务器架设在192.1.101.30上,二级DSS服务器(可选)架设在192.1.101.78上。


    Step1:VLC从摄像机取流,产生RTSP流

    vlc -vvv rtsp://192.1.101.51 :sout=#rtp{dst=192.1.101.30,sdp=file:///k:/channel_vlc.sdp,ttl=255,port-video=12000}

    此时VLC已经开始转发流数据(参见底图左图)。

    注意命令行中与上一篇文章不同之处在于IP地址不是本机(77),而是DSS服务器(30)。同时在本地(77)生成sdp文件channel_vlc.sdp。

    将channel_vlc.sdp文件拷贝到DSS服务器(30)的Movies目录下。

    此时已经可以通过地址 rtsp://192.1.101.30/channel_vlc.sdp 观看视频了。(参见底图中图)


    Step2:在二级DSS服务器(78)上配置二级转发,如下图:



    此时已经可以通过地址 rtsp://192.1.101.78/channel_vlc.sdp 观看视频了。(参见底图右图)



    【后续】

    经过后续的抓包分析,终于知道了原理:

    vlc的命令行(vlc -vvv rtsp://192.1.101.51 :sout=#rtp{dst=192.1.101.30,sdp=file:///k:/channel_vlc.sdp,ttl=255,port-video=12000})中指定了向目标地址(dst=192.1.101.30)的某个特定端口(port-video=12000)发送UDP数据包。不管对方是否有程序在监听该端口并接收数据,发送均一直在进行。这样就能够解释文章《VLC-DSS搭建直播系统中链路断开影响测试》中VLC或者DSS重启都不影响客户端重新访问资源。

  • 相关阅读:
    Interesting Finds: 2008.03.19
    Interesting Finds: 2008.03.11
    Interesting Finds: 2008.03.27
    Interesting Finds: 2008.03.21
    每日日报
    每日日报
    每日日报
    每日日报
    idea怎么创建properties文件
    移动端rem.js
  • 原文地址:https://www.cnblogs.com/mazhenyu/p/8259247.html
Copyright © 2011-2022 走看看