`
cloudtech
  • 浏览: 4578795 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

基于移动平台的多媒体框架——用VLC搭建简单的流媒体服务器

 
阅读更多

用VLC搭建简单的流媒体服务器



为了将来在Android上的构造一个支持流媒体的播放框架,最近我开始研究流媒体的相关内容。
传说VLC是一个强大的播放器,我认为其最强大之处在于其处理流媒体的能力。不论是播放流媒体,还是搭建一个流媒体服务器,简单易用并且功能强大。其中强大的功能尚且还不能驾驭,在这里就说如何用图形界面的VLC搭建一个简单的流媒体服务器吧。

第一步:Media ---- Advanced Open File (快捷键 Ctrl+Shift+O)

这时,弹出一个Open Media的对话框。根据标签,我们可以发现VLC可以打开的类型有四种:文件(File),光盘(Disk),网络(Network),摄像头(Capture Device)。

第二步:Add添加文件 ---- 点击Play右边的下拉菜单----Stream(快捷键Alt+S)

在Play右边的下拉菜单中,我们可以看到,VLC可以把视频流的输出到:列表(Enqueue),屏幕(Play),网络(Stream),文件(Convert)。

第三步:弹出的Stream Output的对话框中有三页标签(Source,Destinations,Options),对其设置,以更改输出流的属性。

  • Source:要打开的源,即我们上面说到的:文件,光盘,网络,摄像头。
  • Destinations:为什么是复数?因为你的Destination可以不止一个。点击New Destination旁边的下拉列表,可以看到有几种流媒体的协议可以选择。

    HTTP:HTTP流;

    MS-WMSP(MMSH):Microsoft-Windows Media Stream Protocal,就是常见的mms;

    RTSP:这个也很流行RTSP流;

    RTP/MPEG Transport Stream;

    RTP Audio/Video Profile;

    UDP(legacy):UDP流,比较旧的系统会用;

    IceCast:不了解,网上查了一下,好像从前是做音频流的,现在也支持视频流了。

    设置好了目标之后,可以点击Add就可以添加一个目标,可以同时添加好几个目标。下边还有个Didplay locally,如果选择你的VLC在Stream的时候会一遍在自己的屏幕上播放出来。

    下面的Transcoding options可以让你把你的视频转码成如下的编码格式然后再Stream出去,取消Activate Transcoding就可以不转码直接Stream出去。

  • Options:这个里面的几个选项可以更详细地设置。在下面的区域,可以看到根据我们前面不同的设置,得到的配置指令。如果要了解VLC命令行的设置,这些配置指令就都要了解一下。我们这里只是简单的图形界面设置,可以不用管。

第四步:点击Stream。

如果第三步的Destinations有选择Didplay locally就会看到像正常播放一个视频一样;如果没有选,则只能看到进度条在不断地移动,没有图像也没有声音。

第五步:通过以上四步,我们已经完成了一个流媒体服务器的搭建,这一步我们对其进行测试。

在本机或网络,打开任一个支持流媒体播放的播放器(再开一个VLC也可以)。加载网络地址,输入我们第三步的Destinations中设置的地址,稍等,缓冲,然后就可以看到流媒体的播放了。一般情况下,播放时进度条是不会动的。

第六步:扩展。

  1. 上面的过程我们见证了VLC的强大功能。这篇教程虽然只记录了如何从视频文件到流媒体服务器,但是以下的一些问题是否也可以用VLC实现呢?
  2. 常看到视频格式转换的软件,上一篇《AVS的编解码》中介绍了如何用ffmpeg和mencoder转码,但是他们都没有图形界面。VLC可以实现视频格式转换吗?
  3. 常看到吧CD/VCD/DVD的影音存成本地文件的软件,这个功能可以用VLC实现吗?
  4. 可否用VLC作为一个摄像头录像的软件?
  5. 用VLC,一个机器上的摄像头,可否在其他机器上远程监视?
看了以上几种功能,你是否感觉到了VLC有多么强大。

后记:初学流媒体,VLC了解尚浅,聊以此志学习之过程。其中错误之处,还望高手们多多指正。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics