【手把手教】VLC搭建组播视频环境
VLC(VideoLAN Client)是一款开源、跨平台的多媒体播放器,除了可以播放本地视频和网络媒体流,VLC无需复杂配置即可快速搭建单播和组播视频流,非常是否用来学习IGMP协议和测试组播业务。VLC按界面主要分成新旧两个版本,本文介绍旧版和新版VLC搭建组播环境的步骤,欢迎大家收藏、转发!
网络拓扑
测试拓扑如下
路由器:启用IGMP SNOOPING功能
PC1:运行VLC当作组播源
PC2:运行VLC当作组播客户端

搭建组播视频源
旧版本VLC
1、PC1上运行旧版VLC播放器,点击文件--打开文件

2、点击浏览按钮,在弹窗选择视频文件

3、勾选串流,然后点击设置按钮

4、建议勾选本地播放,方便查看视频画面是否同步;
勾选UDP,地址填入组播地址如234.2.3.4,端口保持默认的1234即可;
有效时间TTL输入64,表示组播流报文经过64跳后丢弃;

5、点击确认,开始播放组播视频

6、如果需要长时间播放,按下图步骤勾选循环播放

7、组播源视频播放效果如下

8、使用wireshark抓包,可以看到从网口发出组播视频报文;注意,存在多网卡时,如果没有从预期网卡发出组播流则需要禁用掉不用的网卡

新版本VLC
1、在PC1上运行新版本VLC,依次点击媒体--流

2、点击添加按钮,在弹出窗口选择视频文件

3、点击串流按钮,设置组播源参数

4、在以下页面保持不变,直接点击下一个按钮

5、勾选在本地显示,方便查看视频画面是否同步;
串流方式选择RTP/MPEG Transport Stream,然后点击添加按钮

6、在以下页面,地址填入组播地址如234.2.3.4,基本端口保持默认的5004即可,然后点击下一个按钮

7、取消激活转码避免CPU使用率过高,码流选择Vide-H.264+MP3(MP4)

8、勾选串流所有基本流,点击流按钮,开始播放组播视频

9、如果需要长时间播放,点击下面的循环播放按钮即可

10、在网卡抓包确认组播流已经从预期网卡发出

组播客户端
旧版本VLC
1、在PC2运行旧版本VLC,依次点击文件--打开网络串流

2、选择UDP/RTP多播,输入需要播放的组播地址和端口号

3、组播客户端播放效果如下

新版本VLC
1、在PC2运行新版本VLC,依次点击媒体--打开网络串流

2、输入组播流URL如rtp://234.2.3.4:5004,点击播放按钮

3、组播客户端播放效果如下

IGMP报文
加入报文IGMP report
VLC作为客户端加入组播组时,会发出一个IGMP report报文,组播地址是需要加入的组播组地址

查询报文IGMP query
路由器会周期性发出查询报文general query报文,查看网络中是否仍存在组播客户端,如果收到回复则继续转发组播流,否则就停止转发;

查询回复报文IGMP report
在收到路由器的查询报文后,组播客户端会通过IGMP report报文回复

离开报文IGMP leave
组播客户端停止播放组播视频时,会发出离开报文,路由器收到后不会再往此客户端转发组播流

