VLC:通过 RTSP 的网络流:我可以使用更积极的缓冲吗?

VLC:通过 RTSP 的网络流:我可以使用更积极的缓冲吗?

我可以使用甚高频液晶几乎完美。

直播已从 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)在这里包含一个错误。

相关内容