用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

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

本篇文章转自:http://www.cnblogs.com/MikeZhang/archive/2012/09/09/vlcStreamingServer20120909.html

时间: 2024-11-08 07:28:20

用vlc搭建简单流媒体服务器(UDP和TCP方式)的相关文章

用vlc搭建简单流媒体服务器(UDP和TCP方式)

http://www.cnblogs.com/MikeZhang/archive/2012/09/09/vlcstreamingserver20120909.html 这段时间用到了流媒体数据传输的TCP和UDP方式,感觉vlc可以做这方面的demo,这里总结下,也方便我以后查阅. 简介 VLC主页:http://www.videolan.org VLC不仅仅是个播放器,也可以作为流媒体服务器使用.这个网上有相关的资料,我就不多说了. 声明下本文用的VLC版本:2.0.3 用VLC搭建基于UDP

用VLC搭建流媒体server

VLC开元项目相当强大,我们既能够将其作为播放核心用于二次开发,又能够将其作为高性能的流媒体server.今篇博客主要讲用VLC搭建流媒体server. VLC搭建流媒体server步骤非常easy:选择输入数据.选择输出格式.选择编码器.选择流通量.输入数据来源非常多,能够是本地文件,能够是网络流,能够是音频.甚至图片.编码器选择主要是选择音频编码器.视频编码器用以确定声音输出质量和图像质量.输出格式较多,能够是本地文件,能够是网络流,也能够是组播:流通量眼下保留.实际没有多少用处. 以下我用

用VLC搭建流媒体服务器

VLC开元项目相当强大,我们既可以将其作为播放核心用于二次开发,又可以将其作为高性能的流媒体服务器.今篇博客主要讲用VLC搭建流媒体服务器. VLC搭建流媒体服务器步骤很简单:选择输入数据.选择输出格式.选择编码器.选择流通量.输入数据来源很多,可以是本地文件,可以是网络流,可以是音频,甚至图片:编码器选择主要是选择音频编码器.视频编码器用以确定声音输出质量和图像质量:输出格式较多,可以是本地文件,可以是网络流,也可以是组播:流通量目前保留,实际没有多少用处.下面我用摄像头的RTSP流作为输入,

网络协议(UDP与TCP协议总结)

一.知识储备: 1.网络通讯三要素: IP地址:InetAddress 网络中设备的标识 不易记忆,可用主机名 本地回环地址:127.0.0.1  主机名:localhost 端口号 用于标识进程的逻辑地址,不同进程的标识 有效端口:0~65535,其中0~1024系统使用或保留端口. 备注:不是所谓的物理端口! 传输协议 通讯的规则 常见协议:TCP,UDP 2.UDP与TCP协议的特点: UDP: 1.将数据源和目的地封装到数据包中,不需要建立连接 2.每个数据包的大小限制在64k以内 3.

[Nodejs]初探nodejs学习笔记- 如何使用nodejs搭建简单的UDP聊天功能

何为UDP(User Datagram Protocol)? 从baidu摘过来一段:UDP,用户数据报协议,与所熟知的TCP(传输控制协议)协议一样,UDP协议直接位于IP(网际协议)协议的顶层.根据OSI(开放系统互连)参考模型,UDP和TCP都属于传输层协议.UDP协议的主要作用是将网络数据流量压缩成数据包的形式.一个典型的数据包就是一个二进制数据的传输单位.每一个数据包的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据. UDP报文没有可靠性保证.顺序保证和流量控制字段等,可

Java之网络编程UDP和TCP

注*部分转来的 第1章 网络通信协议 通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交通规则一样.在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式.传输速率.传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换. 网络通信协议有很多种,目前应用最广泛的是TCP/IP协议(Transmission Control Protocal/Internet Protoal传输控制协

JAVA基础学习day24--Socket基础一UDP与TCP的基本使用

一.网络模型 1.1.OIS参考模型 1.2.TCP/IP参考模型 1.3.网络通讯要素 IP地址:IPV4/IPV6 端口号:0-65535,一般0-1024,都被系统占用,mysql:3306,oracle:1521 传输协议:TCP/UDP 二.类 InetAddress 2.1.InetAddress 主机对象 IP 地址是 IP 使用的 32 位或 128 位无符号数字,它是一种低级协议,UDP 和 TCP 协议都是在它的基础上构建的 2.2.示例 import java.net.*;

UDP与TCP数据包的延迟探测系统

最近需要测试Akamai的几个节点对数据包加速加速效果,下面是win32上面的一个udp.tcp ping的探测程序. 程序参考了http://www.tenouk.com/Winsock/Winsock2example9.html中的代码. 下面是系统的原理图: 由于udp的特殊性,采用在应用层添加seq的方案,保证回包的准确性(经过测试发现,nmap项目的nping探测器由于没有进行回包准确性的验证,导致最后的统计数据错误,朋友们应该注意). 而tcp本身就是一种数据流而已,它的机制导致了粘

基于Socket的UDP和TCP编程介绍

一.概述 TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议. TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(streamsocket)的一种. UDP:用户数据报协议.UDP是一种无连接协议.UDP套接口是数据报套接口(datagram socket)的一种. 二.TCP和UDP介绍 1)基本TCP客户—服务器程序设计基本框架 说明:(三路握手)         1.客户端发