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

简介: 这段时间用到了流媒体数据传输的TCP和UDP方式,感觉vlc可以做这方面的demo,这里总结下,也方便我以后查阅。 简介 VLC主页:http://www.videolan.org VLC不仅仅是个播放器,也可以作为流媒体服务器使用。
+关注继续查看

这段时间用到了流媒体数据传输的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

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

目录
相关文章
|
4天前
|
网络协议
百度搜索:蓝易云【基于TCP/UDP的Socket编程】
通过使用上述示例,您可以基于TCP或UDP协议进行Socket编程,实现网络通信功能。根据您的需求,可以进一步扩展和定制这些示例代码。
19 1
|
5天前
|
网络协议
HTTP基于TCP还是UDP
HTTP基于TCP还是UDP
|
6天前
|
网络协议
百度搜索:蓝易云【UDP和TCP网络编程】
UDP和TCP网络编程都涉及到Socket编程,通过创建Socket对象、发送和接收数据等操作,实现网络应用程序的数据传输和通信功能。在选择使用UDP还是TCP时,需要根据应用需求、数据传输要求和可靠性等因素进行合理的选择。
24 0
|
7天前
|
网络协议
百度搜索:蓝易云【基于TCP/UDP的Socket编程。】
以上是基于TCP/UDP的Socket编程的基本步骤和函数调用。通过理解和掌握这些概念和操作,可以实现网络应用程序的数据传输和通信功能。
29 1
|
9天前
|
安全 网络协议 网络安全
给女朋友解释为什么TCP可靠而非安全,UDP非可靠而安全(聊天记录)
给女朋友解释为什么TCP可靠而非安全,UDP非可靠而安全(聊天记录)
20 0
|
9天前
|
域名解析 存储 网络协议
Linux网络-UDP/TCP协议详解(上)
Linux网络-UDP/TCP协议详解(上)
|
9天前
|
网络协议 算法 Linux
Linux网络-UDP/TCP协议详解(下)
Linux网络-UDP/TCP协议详解(下)
|
26天前
|
存储 缓存 网络协议
TCP vs UDP:揭秘可靠性与效率之争
在网络通信中,TCP和UDP是两种最常用的传输层协议。本文将深入探讨TCP和UDP之间的区别,包括连接方式、服务对象、拥塞控制、流量控制和首部开销等方面,帮助读者在不同应用需求下选择适合的协议。无论你是技术爱好者还是网络工程师,这篇文章定能帮助你了解并应用TCP和UDP的差异,提升你的网络传输效率和可靠性。
|
1月前
|
缓存 监控 网络协议
2.6 TCP与UDP的可靠性传输
2.6 TCP与UDP的可靠性传输
49 0
|
1月前
|
缓存 网络协议 算法
图解TCP、UDP,流量控制,拥塞控制,一次看懂
图解TCP、UDP,流量控制,拥塞控制,一次看懂
55 0
相关产品
机器翻译
推荐文章
更多