用vlc搭建流媒体服务器
用vlc搭建流媒体服务器
作者:axu82119
来源:CSDN知识库
VLC是一种开源的播放器,同时也可以用作流媒体服务器。今天试验了几种搭建流媒体服务器的方法,这里做一个归纳总结。
本文使用的VLC版本为:2.1.5。
服务器平台操作系统:Windows 7 32位 旗舰版(Service Pack 1);
服务器IP地址:10.1.11.21;
客户端平台操作系统:Windows XP32位 Home Edition 2002(Service Pack 3);
客户端IP地址:10.1.11.99。
流媒体服务器大多是基于UDP的,这里只试验了其中几种。
1. UDP(Latency)传统模式
服务器端操作
打开“媒体——流”选项,如图所示。
点击“添加”按钮选择流媒体文件,然后点击“串流”按钮。
检查来源,没问题了选择“Next”。
在“目标设置”界面选择“UDP (legacy)”,如果要在本地同步显示视频,可勾选“在本地显示”,然后点击添加按钮。
在流目标输出“地址”栏输入客户端IP地址,本次实验客户端为10.1.11.99,默认端口1234,再单击“Next”。
在“转码选项”中,由于本次实验视频源为已经用H.264编码过,所以可以不勾选“激活转码”,如果视频源为原始视频,则可以通过勾选此复选框来选择编码方式(使用.h264视频源,并勾选“激活编码”,配置文件选择“H.264 + MP3”,经过试验也可以正常工作)。
下一步,直接选择“Stream”,服务器就开始发送视频流了。
客户端操作
点击“媒体——打开网络串流”,在弹出的框中输入“udp://@:1234”,点击“播放”按钮即可。
通过EtherPeek抓包工具,可看到服务器在不停发送UDP数据包。
下图为UDP数据包的视频数据。
实验中共选择了三种数据源:h264文件,TS文件和USB摄像头,都可以播放。其中,h264文件由于分辨率不高,播放流畅;TS文件经h.264编码后,在客户端会有卡顿现象,明显网络传输带宽已经不够用了;USB摄像头视频经h.264编码后也可以正常解码播放,但是延迟比较大。
通过界面操作比较简单,但如果经常进行此类工作的话,脚本是比较靠谱的。这里并没有对脚本进行测试,只把脚本作为备份内容列在这里。
命令行操作方式
服务端(10.1.11.21):
vlc -vvv sample1.avi --sout udp: 10.1.11.21:1234--ttl 10
客户端(10.1.11.99):
vlc udp://@:1234
2. RTP方式
抓包发现,VLC的RTP是基于UDP的。
服务器端操作
前几步和“UDP(legacy)传统模式”类似,这里不再赘述。主要是在目标里面选择“RTP / MPEG Transport Stream”这个选项;目标IP为客户端IP(10.1.11.99),端口为默认值(5004)。
客户端操作
输入网路URL:rtp://@:5004,点击播放即可。
命令行操作方式
服务端(10.1.11.21):
vlc -vvvsample1.avi --sout
"#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{dst=10.1.11.21,port=5004,mux=ts,ttl=10}"
客户端(10.1.11.99):
</pre><pre name="code" class="cpp">vlc rtp://@:5004
3. RTSP方式
RTSP方式是通过RTP进行流媒体数据的传输的,VLC的实现也是基于UDP的。这种方式的图形界面操作与HTTP方式类似,就不赘述了。下面是命令行方式的操作。
命令行操作方式
服务端(10.1.11.21):
vlc -vvv sample1.avi
--sout "#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/test}"
客户端(10.1.11.99):
vlc rtsp:// 10.1.11.21:8554/test
用VLC搭建基于TCP的流媒体服务器
VLC的http方式搭建的流媒体服务器是用TCP方式进行数据传输的。
HTTP方式
界面操作与UDP相似,只是在服务器端,端口默认为8080,路径可设置为“/test”。
在客户端,URL为http://10.1.11.21:8080/test 。
命令行操作方式
服务端(10.1.11.21):
vlc -vvv sample1.avi --sout "#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:http{mux=ffmpeg{mux=flv},dst=:8080/test}"
客户端(10.1.11.99):
vlc http:// 10.1.11.21:8080/test
以上就是全部的实验内容,命令行操作方式并没有在实验中验证,列在这里作为参考吧。
用vlc搭建流媒体服务器相关推荐
- 支持组播的流媒体服务器,VLC 搭建流媒体服务器
1.安装VLC https://www.videolan.org/vlc/#download 2.设置UDP流服务器 IP 238.0.0.1是区域网可多播的地址之一. 也可以是目标客户端的地址.组播 ...
- ffmpeg libx264_nginx+ffmpeg搭建流媒体服务器(直播流)
这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新 环境 系统环境:CentOS release 6.7 (Final) 需求 利用nginx和ffmpeg搭建流媒体 ...
- 音视频开发(8)---nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器
nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/redstarofsle ...
- obs nginx-rtmp-module搭建流媒体服务器实现直播 ding
欢迎大家来此浏览,希望大家一块在此学习,共同交流进步. 接下来我就简单跟大家介绍一下利用nginx来搭建流媒体服务器. 我选择的是腾讯云服务器 1.下载nginx-rtmp-module: nginx ...
- Linux---nginx+ffmpeg搭建流媒体服务器
这里实现了简单nginx+ffmpeg 推本地mp4视频文件的功能,以后将会继续更新 环境 系统环境:CentOS release 6.7 (Final) 需求 利用nginx和ffmpeg搭建流媒体 ...
- nginx+ffmpeg搭建流媒体服务器
安装ffmpeg: 下载FFmpeg和libx264的包 ffmpeg-2.4.1.tar.bz2 last_x264.tar.bz2 libx264需要yasm,所以先安装yasm apt-get ...
- nginx的rtmp搭建流媒体服务器实现直播流
最近自己搞了一个用nginx的rtmp来搭建流媒体服务器,从而实现直播的过程,参考了网上很多资料,有些资料对于初学者来说比较难以理解,在此将我搭建的过程记录下来,分享给大家. 1.下载nginx-rt ...
- srs服务器播放文件,使用SRS+ffmpeg搭建流媒体服务器播放m3u8格式视频
1.简介 srs是一个简单的流媒体开源直播软件,ffmpeg是完整的跨平台解决方案,用于记录,转换和流传输音频和视频. 2.相关 官网下载页面:点击我到达 在线演示播放页面:点击我到达 Git页面:点 ...
- 使用EasyDarwin + ffmpeg 搭建流媒体服务器,实现多台智能电视同步播放宣传视频
近期单位用户提出需求,需要在单位内部的9台安卓智能电视(小米电视)上同步播放用户提供的宣传视频,希望能够做到所有电视音视频同步播放(电视均位于食堂内部,使用内置扬声器,各电视间音频延迟不同会导致混响) ...
最新文章
- Juce源代码分析(一)Juce的优势
- The Historical Accident of Waterfall Validity--瀑布开发模型在历史事件中的印证
- 爬取虎扑NBA首页主干道推荐贴的一只小爬虫,日常爬不冷笑话解闷
- mysql为什么使用b 树作为索引_为什么Mysql用B+树作为索引
- [总结]DataGrid 固定表头实现(纵向和横向滚动条滚动,而Header不动)
- 数据库中间件漫谈——看看云时代,它会走向何方
- DOM中Property与Attribute的区别
- python如何和qt交互_Python 之Pyqt5操作交互处理,原来这么简单!
- linux listener作用,Local_listener 的作用
- CRM【第三篇】: crm业务
- 【Java定时任务调度工具】Timer
- SQL数据库连接超时时间已到
- paypal tp 对接_PayPal支付接入
- 关于 Jupyter Notebook 中 No module named ‘torch‘ 的解决办法
- 【云原生|实践指北】5:真实业务场景下云原生项目落地实践学习
- Faceless geometries are not supported
- jquery.webcam.js实现调用摄像头拍照兼容各个浏览器
- 什么是SDK?MFC?
- 雷达、定位、跟踪等信号处理邻域SCI期刊整理及推荐
- 2021杭州恒生电子实习一面面经