Skip to content

测试

ffmpeg推流 本次测试选择ffmpeg的推流方式,如图所示。 并将其发送端视频和接收端视频输入给 VMAF ,得到 VMAF 得分,直观地评估 SAW 服务器的性能。

VMAF

VMAF(Video Multimethod Assessment Fusion)是一种用于视频质量评估的算法和工具,由Netflix开发。它采用了多种评估方法,并将它们进行融合,以提供更全面、准确的视频质量评估。VMAF 的评分通常在0到100之间,分数越高表示视频质量越好。

编译

sh
cargo build
cargo build

切换至项目的/target/release目录

sh
cargo build --release
cargo build --package=whipinto --release
cargo build --package=whepfrom --release
cargo build --release
cargo build --package=whipinto --release
cargo build --package=whepfrom --release

运行

  • 运行服务器
sh
./live777
./live777
  • 推流的时候同时录制
sh
ffmpeg -re -f lavfi -i testsrc=size=640x480:rate=30 -c:v libvpx -b:v 1M -f rtp 'rtp://127.0.0.1:5003?pkt_size=1200' -an input.webm
ffmpeg -re -f lavfi -i testsrc=size=640x480:rate=30 -c:v libvpx -b:v 1M -f rtp 'rtp://127.0.0.1:5003?pkt_size=1200' -an input.webm
  • 运行whipinto
sh
./whipinto -c vp8 -u http://localhost:7777/whip/777 --port 5003
./whipinto -c vp8 -u http://localhost:7777/whip/777 --port 5003
  • 运行whepform
sh
./whepfrom -c vp8 -u http://localhost:7777/whep/777 -t localhost:5004
./whepfrom -c vp8 -u http://localhost:7777/whep/777 -t localhost:5004
  • 构建sdp文件
sh
cat > stream.sdp << EOF
v=0
m=video 5004 RTP/AVP 96
c=IN IP4 127.0.0.1
a=rtpmap:96 VP8/90000
EOF
cat > stream.sdp << EOF
v=0
m=video 5004 RTP/AVP 96
c=IN IP4 127.0.0.1
a=rtpmap:96 VP8/90000
EOF
  • 播放视频的时候录制
sh
ffmpeg -protocol_whitelist rtp,file,udp -i stream.sdp -c:v copy -an output.webm
ffmpeg -protocol_whitelist rtp,file,udp -i stream.sdp -c:v copy -an output.webm

在当前目录下得到input.webm和output.webm视频 将input.webm和output.webm转成yuv格式

sh
ffmpeg -i input.webm -pix_fmt yuv420p input.yuv
ffmpeg -i output.webm -pix_fmt yuv420p output.yuv
ffmpeg -i input.webm -pix_fmt yuv420p input.yuv
ffmpeg -i output.webm -pix_fmt yuv420p output.yuv

输入到vmaf模型中

sh
sudo docker run --rm -v $(pwd):/files vmaf     yuv420p 640 480     /files/output1.yuv     /files/output2.yuv     --out-fmt json
sudo docker run --rm -v $(pwd):/files vmaf     yuv420p 640 480     /files/output1.yuv     /files/output2.yuv     --out-fmt json
vmaf报告

从第0帧-625帧,每一帧的具体分析 第0-1帧vmaf评估 第0-1帧vmaf评估 最后一帧vmaf评估 最后一帧vmaf评估 最后通过平均得综合vamf得分为97.8669,评分较高 最后一帧vmaf评估

总结

通过此次测试,我们得出以下结论:

  1. 网络传输和带宽管理: SAW 在网络传输方面表现出色,有效地管理带宽、减少丢包,并保持视频流畅性。

  2. 实时性能: SAW 具备高实时性能,确保输入视频能快速、稳定地传输到输出端,同时不影响视频质量。

  3. 稳定性和适应性: SAW 表现出良好的稳定性和适应性,能够应对网络波动、不稳定的连接以及其他挑战,确保输出视频质量的稳定性。

这些结论强调了 SAW 在不同方面的优异性能,为其在视频传输领域的应用提供了有力的支持。

Released under the MIT License.