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

    还是前两天帮“猪小妹”考虑毕业设计的时候,想了想vlc能不能作为vod的服务器,替代上一篇博客里面的live555 media server,因为live555 media server做的确实不是太好。查了些资料,在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://www.videolan.org/doc/streaming-howto/en/ch05.html
  • 相关阅读:
    Java核心技术 卷一 笔记四 库类的直接使用
    Java核心技术 卷一 笔记三 大数值及数组
    Java核心技术 卷一 笔记2 字符串的复制
    Java核心技术 卷一 笔记1
    修改css 样式后, hover事件 不生效
    修改 element ui input 输入框 样式不生效问题
    css3 计算属性
    Vue3 改动系列
    浏览器实现,向下滑动 鼠标滚轮,页面横向移动
    linux ceont0s7 vue 打包压缩图片 一直报错
  • 原文地址:https://www.cnblogs.com/qq78292959/p/2076989.html
Copyright © 2011-2022 走看看