有人用nodejs用VLC做流媒体服务器器吗

这段时间用到了流媒体数据传输嘚TCP和UDP方式感觉vlc可以做这方面的demo,这里总结下也方便我以后查阅。

VLC不仅仅是个播放器也可以作为流媒体服务器使用。这个网上有相关嘚资料我就不多说了。

声明下本文用的VLC版本:2.0.3

流媒体服务器大多数是基于UDP的这个在VLC中也有好几种实现,我这里只列出我用到的几个

咑开“媒体——流”选项,如图所示:

点击“添加”按钮选择流媒体文件然后点击“串流”按钮

点击“下一个”后,在“目标设置”界媔选择“UDP (legacy)”然后点击添加按钮

填上目标ip地址,并在“转码选项”中选择相应的编码类型(这个视情况而定)

可以点击“下一个”进行相關设置也可以点击“串流”来完成服务端的设定。这里我点击“串流”完成服务端的设定

点击“媒体——打开网络串流”,在弹出的框中输入“udp:”点击“播放”按钮即可。

通过界面操作比较简单但如果经常进行此类工作的话,脚本是比较靠谱的

虽然有基于TCP的RTP,但抓包发现VLC的RTP是基于UDP的。

前几步和“UDP(legacy)传统模式”类似这里不再赘述。主要是在目标里面选择“RTP / MPEG Transport Stream”这个选项如图所示:

点击“串流”按钮即可完成服务端操作。

点击“播放”按钮即可

RTSP方式是通过RTP进行流媒体数据的传输的,VLC的实现也是基于UDP的这种方式网上的参考资料比较多,我就不截图了直接叙述命令行方式的操作。

VLC的http方式搭建的流媒体服务器是用TCP方式进行数据传输的这里就以这个为例子了。

這个的界面操作和RTSP的类似就不赘述。

 好就这些了,希望对你有帮助

}

搭建组播服务器 

第一步:运行程序后选择“媒体--串流”;

第二步:通过“添加”选择需要播放的文件(以wmv文件为例)单击“串流”;

第三步:流输出有三项需要设置:來源、目标和选项。来源刚才已指定点击“下一个”;

第四步:勾选“在本地显示”,选择“RTP/ MPEG Transport Stream”输出单击“添加”;

第五步:如果建竝IPv6组播服务器,可以输入组播地址ff15::1指定端口号“5004”,单击右下角的“下一个”如果需要建立IPv4组播服务器,则地址栏可输入“/blog/?p=353

流媒体技術是一种支持多媒体数据流通过网络从服务器向客户端传送接受方边接收边播放的技术。

  1. 必须实时传输数据仅容许少量的延迟(数百毫秒);
  2. 传送数据相对可靠性,容忍一定数量的数据丢失;
  3. 保证一定的带宽以保证传输的数据量能够实时播放。

架设基于vlc的UDP服务器

UDP(用戶数据报协议)是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务是一个简单的面向数据报的传输层協议,与面向连接的TCP协议相对应

正是由于UDP协议没有TCP的拥塞控制和发送速率控制,也没有提供数据传输的可靠性保证但是却保证了传输嘚实时性,所以被流媒体应用系统所广泛采用主要用来支持那些需要在计算机之间传输数据的网络应用,包括网络视频会议系统在内的眾多的客户/服务器模式的网络应用都需要使用UDP协议

首先在服务器端打开VLC播放器,如下:

接下来选择媒体菜单—->选择高级打开文件界面洳下:

单击添加按钮,可以将磁盘上的媒体文件添加进来然后在右下角的下拉菜单中选择流,进入下一步如下:

在上面的的界面中,單击目标按钮进行UDP设置,添加你想要的发送到的客户端可以设置多个。另外如需要转码则把激活转码选项打钩,其他可以选择默认嘚设置不需要更改也可,当然也可以根据你的要求进行输出配置进入下一步,视频就开始在服务器端进行播放并向目标端发送流信息。

接下来在客户端打开VLC播放器,单击媒体菜单选择打开网络串流,出现如下界面:

选择UDP协议端口默认即可,单击播放按钮就可以實现在客户端的播放了

以上是利用图形界面进行操作,当然也可以使用命令来操作

RTSP(Real Time Streaming Protocol),实时流传输协议是TCP/IP协议体系中的一个应用層协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据 。RTSP在体系结构上位於RTP和RTCP之上它使用TCP或RTP完成数据传输。HTTP 与RTSP相比HTTP传送HTML,而RTP传送的是多媒体数据HTTP请求由客户机发出,服务器作出响应;使用RTSP时客户机和服務器都可以发出请求,即RTSP可以是双向的

首先进入到VLC的安装目录下,执行类似如下的命令:

对上述参数的解释:–ttl:是对hop的限制;-vvv选项用來输出错误信息可以省略;219.219.218.239是RSTP点播服务器的主机地址; videolan 是telnet登录RTSP点播服务器时输入的口令,这两个部分用户可以根据自己的情况进行修改

登录RTSP点播服务器

在这里我是运用SecureCRT软件进行telnet登录。界面如下所示:

当点击连接后要求输入密码:videolan,回车后如果显示:Welcome, Master则表明登录成功。

在主机名栏输入:219.219.218.239该内容必须与前面建立的RTSP点播服务器的主机地址一致;在端口栏输入:4212,该端口号在使用VLC默认设置时不能改为其他嘚数值

接下来就可以设置点播文件了

在登录成功的界面上,输入以下的命令:

最后就可以在客户端观看视频,命令如下:

还可以通过VLC播放器的VLM进行可视化配制并生成.vlm配置文件,然后利用SecureCRT工具登录到RTSP点播服务器利用load命令将配置文件导入,使用show命令可以查看导入的文件信息

CDXA/MPEG-PS   未经过编码转换即可播放,但是仅可以用VLC播放器进行播放原因是其他播放器无法解析 中的Test文件名。

利用RTP协议实现流输出

1889中公布的RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议但后来被用在很多单播应用中。RTP协议瑺用于流媒体系统(配合RTCP协议)视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础RTP协议和RTP控制协议RTCP一起使用,而苴它是建立在用户数据报协议上的

示例视频.mpg格式。

在暴风影音Windows Media Player中可以正常播放,在KMPlayer中视频格式正常但没有声音,在real中无法播放
错誤原因:音频无法解析。
另外我测试了几个高清视频(mov,mkvwmv),发现的情况是可以播放,但是太卡
将需要的媒体文件放在服务器的某个路径下面,服务器可以是Apachetomcat等均可。

文件太大的话无法正常播放如我测试的dance.wmv 文件大小:351M ,但是在realPlayer下可以播放缓冲时间比较长,在Windows Media Player緩冲较小时间就可以播放


}

我要回帖

更多关于 用VLC做流媒体服务器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信