用VLC搭建流媒体服务器
用vlc搭建简单流媒体服务器(UDP和TCP方式)
这段时间用到了流媒体数据传输的TCP和UDP方式,感觉vlc可以做这方面的demo,这里总结下,也方便我以后查阅。
简介
VLC主页:http://www.videolan.org
VLC不仅仅是个播放器,也可以作为流媒体服务器使用。这个网上有相关的资料,我就不多说了。
声明下本文用的VLC版本:2.0.3
用VLC搭建基于UDP的流媒体服务器
流媒体服务器大多数是基于UDP的,这个在VLC中也有好几种实现,我这里只列出我用到的几个。
1、UDP(legacy)传统模式
服务端操作
打开“媒体——流”选项,如图所示:

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

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

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

可以点击“下一个”进行相关设置,也可以点击“串流”来完成服务端的设定。这里我点击“串流”完成服务端的设定。
客户端操作
点击“媒体——打开网络串流”,在弹出的框中输入“udp://@1234”,点击“播放”按钮即可。

通过界面操作比较简单,但如果经常进行此类工作的话,脚本是比较靠谱的。
命令行操作方式
服务端(172.16.1.1):
vlc -vvv sample1.avi --sout udp:172.16.1.100:1234 --ttl 10
客户端(172.16.1.100):
vlc udp://@:1234
2、RTP方式
虽然有基于TCP的RTP,但抓包发现,VLC的RTP是基于UDP的。

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

填IP,选端口:

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

点击“播放”按钮即可。
命令行操作方式
服务端(172.16.1.1):
vlc -vvv sample1.avi --sout "#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{dst=172.16.1.100,port=5004,mux=ts,ttl=10}"
客户端(172.16.1.100):
vlc rtp://@:5004
3、RTSP方式
RTSP方式是通过RTP进行流媒体数据的传输的,VLC的实现也是基于UDP的。这种方式网上的参考资料比较多,我就不截图了,直接叙述命令行方式的操作。
命令行操作方式
服务端(172.16.1.1):
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}"
客户端(172.16.1.100):
vlc rtsp://172.16.1.1:8554/test
用VLC搭建基于TCP的流媒体服务器
VLC的http方式搭建的流媒体服务器是用TCP方式进行数据传输的,这里就以这个为例子了。
HTTP方式
这个的界面操作和RTSP的类似,就不赘述。
命令行操作方式
服务端(172.16.1.1):
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}"
客户端(172.16.1.100):
vlc http://172.16.1.1:8080/test
用VLC搭建流媒体服务器的更多相关文章
- 使用 Live555 搭建流媒体服务器
最近因为工作需要,需要搭建流媒体服务器,所以研究了一下,在此分享我的搭建过程. 搭建过程还是非常简单的! 搭建环境为Centos 7.2 64bit 一.安装gcc编译器 yum install gc ...
- Linux-Nginx+rtmp+ffmpeg搭建流媒体服务器
Nginx+rtmp+ffmpeg搭建流媒体服务器 说明: nginx搭建流媒体服务需要用到 nginx-rtmp-module 模块 具体操作步骤: 安装nginx (1)下载第三方扩展模块ngin ...
- nginx + rtmp 搭建流媒体服务器
一.安装nginx服务器 1.路径说明: 路径:/usr/local/src 2.下载nginx-rtmp-module (我这里的目录是在/usr/local/src/下面) cd /usr/loc ...
- centos7+nginx+rtmp+ffmpeg搭建流媒体服务器(保存流目录与http目录不要随意配置,否则有权限问题)
搭建nginx-http-flv-module升级代替rtmp模块,详情:https://github.com/winshining/nginx-http-flv-module/blob/master ...
- Linux 下搭建流媒体服务器
http://blog.csdn.net/huangtaishuai/article/details/9836581 ----------------------------------------- ...
- obs nginx-rtmp-module搭建流媒体服务器实现直播 ding
接下来我就简单跟大家介绍一下利用nginx来搭建流媒体服务器. 我选择的是腾讯云服务器 1.下载nginx-rtmp-module: nginx-rtmp-module的官方github地址:http ...
- nginx的rtmp搭建流媒体服务器实现直播流
最近自己搞了一个用nginx的rtmp来搭建流媒体服务器,从而实现直播的过程,参考了网上很多资料,有些资料对于初学者来说比较难以理解,在此将我搭建的过程记录下来,分享给大家. 1.下载nginx-rt ...
- 用VLC搭建流媒体server
VLC开元项目相当强大,我们既能够将其作为播放核心用于二次开发,又能够将其作为高性能的流媒体server.今篇博客主要讲用VLC搭建流媒体server. VLC搭建流媒体server步骤非常easy: ...
- Ubuntu下使用nginx和nginx-rtmp-module搭建流媒体服务器的正确姿势
之前在使用nginx和nginx-rtmp-module搭建流媒体服务器的时候遇到一个很尴尬的问题,就是在把nginx-rtmp-module模块添加到nginx中去的时候,我最开始采取的做法是先卸载 ...
随机推荐
- python基础[16]——解决django连接mysql数据库报错的问题
Models.py #创建数据表 from django.db import models from django.utils import timezone from tinymce.models ...
- 深入JVM(二)JVM概述
深入JVM(一)JVM指令手册 深入JVM(二)JVM概述 一.JVM的原理 Java虚拟机是Java平台的基石,解决了硬件和操作系统的相互独立性.不同平台(Windows,Linux和MacOS)的 ...
- Centos7源码编译安装mysql8
前面介绍了很多关于mysql的文章,下面主要介绍一下mysql8的源码编译安装 一 基本环境 [root@CentOS-7-x86-64-Minimal-1810 ~]# cd /usr/local/ ...
- 【C++】将调用第三方库的代码封装成动态库供上层调用
需求分析 Java应用中需要调用C++的程序,而这个C++的程序中需要引入一个第三方静态库.所以需要将该程序编译成一个动态库文件(.so)供Java调用. 步骤 使用CLion创建一个动态库的项目,会 ...
- $ [Contest \#4]$求和 思博题
正解: 解题报告: 传送门$QwQ$ 一道看起来是数位$dp$其实并不是的题$QwQ$ 首先求$\sum_{l}^r$就变成$\sum_1^r-\sum_1^{l-1}$不说$QwQ$.现在就只要求$ ...
- 公子奇带你一步一步了解Java8中Lambda表达式
在上一篇<公子奇带你一步一步了解Java8中行为参数化>中,我们演示到最后将匿名实现简写为 (Police police) -> "浙江".equals(poli ...
- 信息管理java
代码: package 信息管理;//信1805-1 20183763 凌云 public class ScoreInformation { private String stunumber = &q ...
- JDK1.8中的HashMap实现
1.HashMap概述 在JDK1.8之前,HashMap采用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里.但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通 ...
- 「UVA1328」Period 解题报告
English题面 题意: 给你一个长度为n的字符串,依次取字符串前i个(前缀),如果前缀由k(k>0)个相同真子串构成,那么输出i和k 直到n为0结束,每组数据后要有一行空白 思路: KMP+ ...
- 微信公众号 唤醒手机导航APP 一看就懂 复制即用
公司自研发框架,基本上没啥看不懂的 基本都是直接复制用就好了!希望能帮助到需要的朋友! 新建俩个同级文件用来保存 jsapi_ticket 和 access_token的文件 命名:jsapi_tic ...