1. 目标

流媒体软件受限于网络质量,局域网内往往正常,部署到不同现场,随着长时间运行发生过一些故障,所以在开发阶段就应该把网络情况变化纳入到测试中来,第一步需要模拟网络的变化。

准备如下软硬件环境:

  1. ffmpeg软件
  2. clumsy-0.2-win64软件
  3. 一台流媒体相机,支持RTSP等流媒体协议,可被ffplay/ffmpeg接收、解码。

2. 步骤

  1. 以RTP Over UDP方式接受相机视频,等她播放出视频画面:ffplay -i "rtsp://admin:trkj88888@192.168.5.250:554/Streaming/Channels/101?transportmode=unicast&profile=Profile_1" -x 800 -y 600
  2. 运行clumsy-0.2-win64,在Filtering中填入udp and (ip.DstAddr == 192.168.5.250 or ip.SrcAddr == 192.168.5.250),并用你的相机IP替换其中192.168.5.250
  3. 选取DropOut of orderChance填为50.0
  4. 可视具体情况,选择上面一条中不同的干扰网络数据包的方法和阈值
  5. 稍后片刻,观看ffplay播放效果的变化,如果觉得视频质量不够“灰屏”,可把Functions中功能全选择上,再加上点运气可能会出现下面效果: