我可以使用甚高频液晶几乎完美。
直播已从 h264 转码为 h265ffmpeg。
我唯一担心的是,流媒体偶尔(取决于许多因素,但每 10 秒至少一次)在播放视频时会出现音频卡顿,有时播放音频时会出现视频卡顿,有时两者都会卡住,然后很难恢复正常。
我做了一个小测试:将转码流保存为 mp4本地:完美,没有卡顿。然而,在转换结束时我意识到了一些事情:
video:22144kB audio:1469kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 0.257809%
x265 [info]: frame I: 8, Avg QP:26.63 kb/s: 22492.08
x265 [info]: frame P: 461, Avg QP:28.36 kb/s: 6194.07
x265 [info]: frame B: 1390, Avg QP:31.72 kb/s: 1077.79
x265 [info]: consecutive B-frames: 0.2% 1.5% 0.0% 98.3%
encoded 1859 frames in 74.47s (24.96 fps), 2438.69 kb/s, Avg QP:30.87
这是一个不太长的样本(75 秒),它包含 8I 帧,所以它与我在 VLC 端的实验相符:每 10 秒卡顿一次,如果这是由 I 帧引起的。
确实,VLC 和转码流之间的网络带宽最大吞吐量为 20MBps,但需要很多秒(~5)才能达到该值,因此并非立即可用。
这当然会导致卡顿。我尝试增加 VLC :network-caching=10000
,但并没有带来任何明显的改善(出于某些奇怪的原因,使用较低的值(例如 500)几乎更好)。
我如何才能让 VLC 真正使用网络流上的缓冲区?例如,设置一个 10 秒的缓冲区:VLC 应先等待 10 秒才开始播放,然后它应该从缓冲区的开头开始播放,同时它应该继续接收到缓冲区的结尾。似乎不是这种情况network-caching
,或者我的 VLC(3.0.17.4,Windows 10)在这里包含一个错误。