zoukankan      html  css  js  c++  java
  • vlc的应用之七:用vlc做单播,组播及点播服务器

    1. 所需软件
        vlc-0.9.9或vlc-0.8.6i,主要测试的是比较新的0.9.9版本的。
        putty:一款集telnet,ssh远端登陆的非常好的软件。下载地址:http://wrc.gro.clinux.org/putty/putty.exe
     
        2. 命令行启动vlc,并打开后台信息显示,有助于观察后台信息
        开启cmd,并cd到vlc的目录,执行
    vlc -vv --extraintf=logger
     
        3. 开启vlc的telnet服务
        vlc-0.9.9在界面上选择工具->界面->telnet控制台
        后台dos窗口会有反应,显示
    [00000403] main interface debug: looking for interface module: 1 candidate 
    [00000403] main interface debug: creating VLM 
    [00000405] main vlm daemon debug: thread 5112 (vlm thread) created at priority 0 
    (http://www.cnblogs.com/src/input/vlm.c:112) 
    [00000405] main vlm daemon debug: thread started 
    [00000403] telnet interface: using the VLM interface plugin... 
    [00000403] main interface debug: net: listening to 127.0.0.1 port 4212 
    [00000403] telnet interface: telnet interface started on interface 127.0.0.1 421 

    [00000403] main interface debug: using interface module "telnet" 
    [00000403] main interface debug: TIMER module_Need() : 19.000 ms - Total 19.000 
    ms / 1 intvls (Avg 19.000 ms) 
    [00000403] main interface debug: thread 5136 (interface) created at priority 0 ( 
    http://www.cnblogs.com/src/interface/interface.c:168) 
    [00000403] main interface debug: thread started
        注意观察main interface debug: net: listening to 127.0.0.1 port 4212这句话,说明vlc现在的telnet监听的是127.0.0.1这个地址和4212这个端口。如果没有显示ip的话,一般用127.0.0.1是没有问题的。127.0.0.1就表示的本机,与localhost是同一个意义。
     
        4. 启动putty.exe
        主机名称(或ip)输入:127.0.0.1
        端口:4212
        连接类型:选Telnet
        点打开。
        如果没有出现"Password:"字样,点打开就关闭了,那就说明没有telnet上。(这个时候可以在cmd里面输入telnet 127.0.0.1 4212,看结果应该是正在连接到127.0.0.1...不能打开到主机的连接, 在端口 4212: 连接失败,或者是与主机失去连接。不用cmd的telnet连接的主要原因是过会输入命令的时候看不到。)这个时候,请关闭防火墙,杀毒软件及一切相关软件,不过中毒了别找我哎。(*^__^*) 嘻嘻……继续继续。
        如果没有出现以上问题,在Password:后面输入"admin",没有明文回显。登录成功后会显示:Welcome, Master。
     
        5. 架设点播服务vod
        分别输入:
    new vod1 vod enabled 
    setup vod1 input d:/01.avi
        解释下:
        new了一个名字叫vod1的vod,设置vod1的input为d:/01.avi。
        验证:开启另一个vlc,打开rtsp://127.0.0.1/vod1。应该就可以播放了。127.0.0.1可以换成自己的ip。
     
        6. 架设组播服务器
        继续输入:
    new ch1 broadcast enabled 
    setup ch1 input d:/02.avi [loop] 
    setup ch1 output #duplicate{dst=rtp{dst=226.0.0.6,mux=ts,port=1234}} 
    control ch1 play
        解释下:
        new了一个名字叫ch1的broadcast。设置ch1的input为d:/02.avi,loop可选,表示循环播放。设置ch1的output为#duplicate{dst=rtp{dst=226.0.0.6,mux=ts,port=1234}},表示rtp协议的ts流发送到组播地址为226.0.0.6,端口1234。控制ch1播放。
        扩充:
        1) output后面可以跟sout参数。具体可以参考vlc->媒体->流->流输出界面的已生成的流输出字符串。
        2) control ch1后面还可以加stop,pause,seek 百分比。表示停止,暂停和跳转到百分之几的位置。
        验证:开启一个vlc,打开rtp://226.0.0.6:1234。应该就可以播放了。
     
        7. 架设单播服务器
        第6步里面的output换成单播的地址就行了。其他的都一样的。注意不要new重名了。
     
        8. 保存刚才操作
        继续输入
    save d:/01.cfg
        将刚才操作保存到了d:/01.cfg里面,除了control。可以通过记事本等文本编辑器查看一下里面的内容。
        如果重新开启了vlc,则可以输入
    load d:/01.cfg
        将刚才保存的操作读入进来,继续操作或控制。
             
        通过这样的配置,一个vlc的实例可以提供多个服务,包括单播,组播和点播。确实强大啊。
        这样上一篇博客的流媒体服务器可以替换为vlc了。跟上一篇日志结合作个简单的流媒体服务的网站或者类似于pplive的客户端,就不是太有技术难度的事情了。
     

    本文出自 “海狗哥的流媒体空间” 博客,http://jeremiah.blog.51cto.com/539865/161876

  • 相关阅读:
    TCP源码—连接建立
    TCP系列02—连接管理—1、三次握手与四次挥手
    TCP系列01—概述及协议头格式
    ubuntu软件管理apt与dpkg
    318. Maximum Product of Word Lengths
    317. Shortest Distance from All Buildings
    316. Remove Duplicate Letters
    315. Count of Smaller Numbers After Self
    314. Binary Tree Vertical Order Traversal
    313. Super Ugly Number
  • 原文地址:https://www.cnblogs.com/zjoch/p/1898571.html
Copyright © 2011-2022 走看看