![在 CentOS 上使用 VLC 0.9.9 播放高清内容时出现大量伪影](https://linux22.com/image/516666/%E5%9C%A8%20CentOS%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20VLC%200.9.9%20%E6%92%AD%E6%94%BE%E9%AB%98%E6%B8%85%E5%86%85%E5%AE%B9%E6%97%B6%E5%87%BA%E7%8E%B0%E5%A4%A7%E9%87%8F%E4%BC%AA%E5%BD%B1.png)
我正在尝试使用 VLC 流式传输(多播)一个 x264 编码文件。这本身是成功的,但流式传输有大量伪影。这似乎表明数据传输速度不够快。但是,如果我检查网络使用情况,它只使用了大约 15 mbit。
我有一个类似的 SD 流,它运行完美。我认为我可以通过不流式传输原始数据来提高流性能,但我似乎无法做到这一点。似乎在关键帧上,所有伪影都会在短时间内(不到一秒)被删除。
这是我使用的命令:
vlc -vv hdtest.mkv --sout '#duplicate{dst=rtp{dst=ff02::1%eth1,mux=ts,port=5678,sap,group="Testgroup",name="TeststreamHD"}}' --loop
这些都是一条长线。
我真的不想对流进行转码。将来这个盒子必须提供多个流。我们说的是 P4 2.8 gHz 和 2 GB 内存。
答案1
可能是数据包丢失。您的交换机是否正在优化多播,还是只是将流量从所有端口泛洪出去?
你可以对流进行转码 - 我使用类似
#transcode{vcodec=h264,venc=x264{keyint=15},acodec=mpga,vb=2500,ab=128}:std{mux=ts,access=udp,dst=x.x.x.x}
keyint 指定在流中放置关键帧的频率 - 根据我的经验,它越低,流从丢失的数据包中恢复的效果就越好。