VLC组播测试Server及Client使用

VLC是一种开源的媒体播放器,但同时又可以用于组播测试。可以用VLC搭建组播Server,也可以用VLC作客户端接受组播流。

一. 使用VLC搭建组播Server

1. 修改TTL

注意:默认VLC图形方式下打出的组播流其IP报头中的TTL=1

  1. 菜单 工具 偏好设置
  2. 简明偏好设置 显示设置:全部(左下角)
  3. 高级偏好设置 串流输出 访问输出 跳数限制(TTL):64 多播输出接口(若无法指定,请在win10网络管理内禁用其他的接口)

2. 设置组播server

  1. 菜单 媒体 流
  2. 网络 删除URL
  3. 文件 添加 选择文件 打开/加载/确定 串流 下一步
  4. 勾选在本地显示 新目标:UDP(legacy) 添加
  5. 地址(239.10.1.1) 端口(1234) 下一步
  6. 勾选激活转码 配置文件(Video - H.264 + MP3(MP4))
  7. 取消串流所有基本流,生成的串流输出字符串(默认) 流

注意:默认UDP的组播流输出接口是根据系统本地的路由表来选择的。比如:

如果输出组播的IP地址为239.10.1.1,那么根据上述路由表组播流将发往192.168.56.1那个接口。因为该接口的路由metric相对较小(276)

二. VLC客户端接受组播流。

  1. 菜单 媒体 打开网络串流
  2. 网络 URL(udp://@239.10.1.1:1234) 播放

三. 命令行操作方式(windows操作系统)——UDP(legacy)实现方式。

1. Server侧打流。

  • 先通过添加组播路由条目的方式指定组播流的输出接口
    1
    route add 239.0.0.0 mask 255.0.0.0 192.168.1.100
  • 使用VLC打组播流
    1
    vlc -vvv D:\bak\others\组播测试片源\hello.mp4 --sout udp:239.10.1.1:1234 --ttl 10

    2. Client侧接受流。

    1
    vlc udp://@239.10.1.1:1234

    四. 命令行操作方式(windows操作系统)——RTP实现方式。

1. Server侧打流

1
vlc -vvv hello.mp4 --sout "#transcode{vcodec=h264,vb=0,scale=0,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{dst=239.10.1.1,port=4321,mux=ts,ttl=20}"

2. Client侧接受流

1
vlc rtp://@239.10.1.1:4321

五. 命令行操作方式(windows操作系统)——RTSP实现方式。

1. Server侧打流

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}"

2. Client侧接受流

1
vlc rtsp://172.16.1.1:8554/test

六. 命令行操作方式(windows操作系统)——HTTP实现方式。

1. Server侧打流

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}"

2. Client侧接受流

1
vlc http://172.16.1.1:8080/test