linux vlc流媒体服务器,vlc media server rtsp 流媒体服务器搭建成功经验分享
vlc 由videolan.org 出品,开源免费的一款本地和网络播放器,支持个音视频格式非常多,还可以用来搭建 rtsp 流媒体服务器,非常好用,支持的平台很多:windows、mac、linux都可以用,可以做点播、多播(组播)、单播服务器。通过命令设定引用文件后就可以通过rtsp协议访问这些音视频。我用的centos6.5,搭建 rtsp 流媒体服务器的时候遇到诸多问题,现在记录下来以方便其它同学少走弯路。
1.安装vlc
cd /etc/yum.repos.d/
wget http://pkgrepo.linuxtech.net/el6/release/linuxtech.repo //我试了3次才下载下来
yum list *vlc*
yum -y install vlc
我这里需要149个依赖项,共150个安装包,100多兆,可能需要下载一会,每人可能不同。
2.验证vlc是否安装成功
直接敲vlc,会提示
VLC is not supposed to be run as root. Sorry.
If you need to use real-time priorities and/or privileged TCP ports
you can use vlc-wrapper (make sure it is Set-UID root and
cannot be run by non-trusted users first).
不支持root用户运行,用useradd vlcuser添加了一个名为vlcuser的用户,然后su vlcuser,再次运行vlc,成功看到版本和其它很多信息。验证成功。
useradd vlcuser
su vlcuser
vlc
3.防火墙放行几个后面要用到的端口
iptables -I INPUT -p TCP --dport 4212 -j ACCEPT
iptables -I INPUT -p TCP --dport 5554 -j ACCEPT
iptables -I INPUT -p TCP --dport 1234 -j ACCEPT
其中4212是telnet端口,配置操作vlc搭建的rtsp流媒体服务器,都需要telnet上去之后进行,我这里是为了演示,生产当中大家要主意安全限定规则或者不开该端口使用本地telnet登陆。5554是rtsp协议使用的端口,可以设置和修改,这点相对上篇文章live555 media server rtsp 流媒体服务器搭建成功经验分享来说要好很多。1234端口是组播端口,也是可以自己随意设置的。
4.开启vlc rtsp流媒体服务
vlc --ttl 12 -vvv --color -I telnet --telnet-password videolan --rtsp-host 0.0.0.0 --rtsp-port 5554
看到大量信息,然后中断了,仔细排查发现如下错误提示:
process 91744: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open “/var/lib/dbus/machine-id”: No such file or directory
See the manual page for dbus-uuidgen to correct this issue.
D-Bus not built with -rdynamic so unable to print a backtrace
Aborted
上网查了之后,执行如下命令,问题解决,再次运行开启vlc rtsp流媒体服务的命令,服务成功启动
su root
dbus-uuidgen > /var/lib/dbus/machine-id
su vlc
vlc --ttl 12 -vvv --color -I telnet --telnet-password videolan --rtsp-host 0.0.0.0 --rtsp-port 5554
注意上面的ip地址0.0.0.0要替换成你自己的ip,按理说0.0.0.0代表监听本地任何ip,这样你改了ip还是能用,但我实际测试发现点播不了。而且,端口要用–rtsp-port指定,用0.0.0.0:5554的方式会有错误提示,实际监听到554的端口去了,然后554端口被live555mediaserver占用,关掉live555mediaserver才正常。后面telnet上去配置vod服务的时候会在vlc rtsp 流媒体服务器的状态中看到如下信息:
main vod server error: Ignoring port 5554 (using 554)
main vod server: Specify port 5554 separately with the rtsp-port option instead.
main vod server debug: net: listening to 0.0.0.0 port 554
main vod server error: socket bind error (Permission denied)
main vod server error: cannot create socket(s) for HTTP host
看到这句 [telnet] main interface debug: net: listening to localhost port 4212 说明telnet监听正常。
当然可能还会看到一些错误,但是暂时不影响服务的正常使用,可以忽略:
inhibit interface error: Failed to connect to the D-Bus session daemon: /bin/dbus-launch terminated abnormally without any error message
main interface error: no suitable interface module
main interface error: no suitable interface module
main libvlc error: interface “globalhotkeys,none” initialization failed
还有一些警告,应该也不影响:
stream warning: unknown box type btrt (incompletely loaded)
demux warning: CTTS table
5.进入telnet添加点播项目,先安装telnet客户端
yum -y install telnet
telnet 127.0.0.1 4212
输入前面设定的密码:videolan,就进入vlc rtsp 流媒体服务器配置的telnet操作界面了。
a 架设点播服务vod
new vod1 vod enabled
setup vod1 input /home/01.avi
解释: new 新建了一个名字叫vod1的vod点播服务,设置vod1的input 输入文件为/home/01.avi。你可以通过这种方式添加很多个点播服务。
b 架设组播服务ch1
new ch1 broadcast enabled
setup ch1 input /home/02.avi loop
setup ch1 output #duplicate{dst=rtp{dst=0.0.0.0,mux=ts,port=1234}}
control ch1 play
上面的0.0.0.0换成你自己的组播服务器ip地址。解释下:new 新建了一个名字叫ch1的broadcast组播。设置ch1的input输入文件为/home/02.avi,loop可选,表示循环播放。设置ch1的output输出为#duplicate{dst=rtp{dst=0.0.0.0,mux=ts,port=1234}},表示rtp协议的ts流发送到组播地址为0.0.0.0,端口1234。控制ch1开始播放。
扩充:
1) output后面可以跟sout参数。具体可以参考vlc->媒体->流->流输出界面的已生成的流输出字符串。
2) control ch1后面还可以加stop,pause,seek 百分比。表示停止,暂停和跳转到百分之几的位置。
c 架设单播服务
前面组播命令中output换成单播的地址就行了。其他的都一样的。注意不要new重名了。
可能会看到这些警告和错误:
demux warning: track[0x2] will be disabled (eof?)
stream_out_rtp vod server error: cannot add this stream (unsupported codec: RV40)
这表明你的视频格式vlc不支持,比如这个rv40就是rmvb格式的视频所用的编码,vlc不支持,这种情况就会出现该视频通过rtsp播放画面是黑的,但是有声音,因为声音使用的vlc支持的某种格式。同理,如果有画面,没有声音,说明你的视频使用的视频编码格式受到vlc的支持,而音频编码格式不受vlc支持。需要你去手动转码或者采用别的处理方式。
d 保存以上配置,下次重启可以直接加载,不需要全部重新输入一遍,试想你提供了100个点播和组播服务,每次都手动输入。。。
save /home/vlc.vod.cfg
load /home/vlc.vod.cfg
实际我测试这个没成功,报错:save : Unable to save to file
6.测试vlc rtsp流媒体服务器
在另一台电脑开启一个vlc,打开rtsp://127.0.0.1:5554/vod1。应该就可以以rtsp协议串流的方式播放/home/01.avi这个文件了。127.0.0.1可以换成自己的ip。
打开rtp://127.0.0.1:1234。应该就可以以直播的方式观看/home/02.avi了。但是这个我没有实验成功。目前还不清楚问题出在哪里。
参考链接:
linux vlc流媒体服务器,vlc media server rtsp 流媒体服务器搭建成功经验分享相关推荐
- 流媒体服务器NTV Media Server G3性能测试
大家好,我是资深测试工程师李工,今天我来和大家一起对云视睿博的高性能流媒体服务器NTV Media Server G3做一次性能测试. 今天测试有一个小目标,那就是验证在一台普通的PC机上,NTV M ...
- 微软流媒体服务器直播,流媒体服务器Flussonic Media Server对直播流进行录制
Flussonic Media Server可以对直播流进行录制,然后在提供播放服务. 我们首先来看如何为直播流配置录制功能,如下: stream channel0 { url tshttp://vl ...
- 流媒体服务器 NTV Media Server G3 电视回看功能赏析
电视回看是NTV Media Server G3的一个有趣的功能,主要用于电视直播.监控直播类视频流的回看. 像电视频道这类直播流具有长时间不间断直播的特征,不能像处理普通直播流一样按版本号或者按事件 ...
- java代码去连接flash media server服务器_flash media server 第一课:Hello world!
client-server架构 FMS是基于RTMP协议的client-server架构. 客户端的应用由flash或是flex搭建,运行在flash player或是AIR上,服务器端运行在服务器上 ...
- 微软文件共享服务器进程,Windows Server“8”– 将服务器应用程序存储转移到 Windows 文件共享...
Windows Server"8"– 将服务器应用程序存储转移到 Windows 文件共享 07/10/2012 30 分钟可看完 本文内容 在开发 Windows Server& ...
- 小型邮件服务器,windows 2003 server小型邮件服务器架设
一.安装pop3和smtp服务组件: 1.安装pop3服务组件:以系统管理员身份登录windows 2003 server系统,依次进入"控制面 板--添加或删除程序--添加/删除windo ...
- Linux服务器带宽占用高导致无法登录的处理经验分享
Linux服务器带宽占用高的情况时有发生,许多情况我们可以通过查看后台运行指令和IP来源来简化处理.处理经验分享供大家参考! 使用 VNC 方式登录实例,针对云服务器进行排障及问题处理:(操作以 Ce ...
- sql server如何修改服务器名称,SQL Server 2014改服务器名称为(local)的方法
类型:数据库类大小:40.7M语言:中文 评分:6.6 标签: 立即下载 微软SQL Server 2014三大新特性:集成内存OLTP.BI和混合云搭建!SQL Server 2014带来一套功能强 ...
- sql远程mysql服务器查询_sql server 使用链接服务器远程查询
--PK select * from sys.key_constraints where object_id = OBJECT_ID('TB') --FK select * from sys.fore ...
最新文章
- Centos7 下 配置 rsync 以及 rsync+inotify 实时同步
- 1.5亿美元!英国AI芯片创企今宣布获新融资,估值近20亿美元
- 利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖
- Linux 3D 编程学习总结
- JSP完全自学手册图文教程
- 关于Mybatis的各种配置文件
- C Runtime Library 的来历
- 编写Dockerfile增强centos镜像:安装vim 和net-tools
- Mysql 5.7 json
- Esxi直通板载Sata
- 个人猜测一下《黑神话:悟空》的部分剧情
- 更改盘符实现文件服务器的特使需求
- JAVA语法基础作业——动手动脑以及课后实验性问题(一)
- android切图倍数,【Flutter工具】fmaker:自动生成倍率切图/自动更换App图标
- axivion和astree_基于LabVIEW的IVI编程 IVI Programme Based on LabVIEW.pdf
- 红旗Linux中文教程
- 用flex做的3D坦克游戏
- 计算机相关期刊阅读,计算机领域的所有SCI一区期刊,这是最顶级期刊了.doc
- 【Leetcode】Customers Who Never Order
- 使用普通打印机打印条码标签
热门文章
- Windows Server 2012 在个人终端上使用的推荐设置
- SQL SERVER 中identity
- 【转】_declspec(naked) 使用
- 嵌入式linux字符设备驱动
- ubuntu中make头文件找不到_和平精英:游戏中找不到人怎么办?这些技巧帮你练出“火眼金睛”...
- C++ STL的查找算法
- chrome网页自动化插件_chrome网页注释插件
- 网页制作代码模板_科普:关于网页设计的4个基础小知识
- 高级计算机网络的基本知识
- TCP 之 RST 原因分析