如何在 LibVLCSharp 中禁用/最小化缓冲?

问题描述 投票:0回答:1

我已经试过了

FileCaching = 0
NetworkCaching = 0
,但是播放延迟还是显得很高(几秒)。我正在使用
LibVLCSharp.Avalonia
NuGet 包中的 Avalonia 视图,但这应该无关紧要。

代码如下:

var mediaPlayer = new MediaPlayer(this.vlc) {
    FileCaching = 0,
    NetworkCaching = 0,
    EnableHardwareDecoding = true,
};

var input = new StreamMediaInput(new VideoStream(source));
using var media = new Media(this.vlc, input);
media.AddOption(":demux=h264");
mediaPlayer.Play(media);

附言经过一番研究,我发现 h264 分路器并不真正了解视频 FPS,因此延迟的原因可能是 VLC 仅以每秒 24-30 帧的速度显示帧。我尝试添加

media.AddOption(":h264-fps=60")
来指示真实视频 FPS,但问题并没有消失。此参数似乎被忽略(格式错误?损坏?)。

P.P.S.可悲的是,LibVLCSharp 不会抱怨无法识别的选项。

libvlc libvlcsharp
1个回答
0
投票

根据我的经验,VLC 有一个额外的延迟,您不能低于某个点。请参阅:https://code.videolan.org/videolan/vlc/-/issues/21859

根据您的“PPS”,Libvlcsharp 无法检测选项是否有效,它全部由核心处理。

© www.soinside.com 2019 - 2024. All rights reserved.