首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为libvlcsharp中的自适应流设置起始比特率

为libvlcsharp中的自适应流设置起始比特率
EN

Stack Overflow用户
提问于 2021-02-15 14:55:30
回答 1查看 218关注 0票数 0

我使用LibVlcSharp播放由adaptive转换的自适应视频流(HLS),EncoderNamedPreset.AdaptiveStreaming设置在我的Xamarin.Forms应用程序中。

当我观看我的视频时,我注意到我的视频的前几秒钟(5-6秒)非常模糊。

这可能是因为播放器以“安全”的低比特率开始,并且在下载了几块数据之后,它确定带宽足以显示更高质量的视频,并且可以切换到质量。

这几秒钟的低质量困扰着我,我宁愿让它以更高的比特率开始。

如果视频能更快地切换(<2秒),我会很高兴,这可能意味着我需要一个不同的编码器设置,产生更小的“块”视频。

但是,也许更容易的解决方案是将起始比特率设置为更高的值。

我曾在其他媒体播放器上看到过这样的ams.InitialBitrate = ams.AvailableBitrates.Max<uint>();形式。

LibVlc也有类似的选择吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-16 02:15:59

这可能是因为播放器以“安全”的低比特率开始,并且在下载了几块数据之后,它确定带宽足以显示更高质量的视频,并且可以切换到质量。

可能吧。您可以通过在视频开始时检查比特率,以及在质量提高时再次检查比特率来验证该假设,如下所示:

代码语言:javascript
复制
await media.Parse(MediaParseOptions.ParseNetwork);

foreach(var track in media.Tracks)
{
    Debug.WriteLine($"{nameof(track.Bitrate)}: {track.Bitrate}");
}

LibVlc也有类似的选择吗?

尝尝这个

代码语言:javascript
复制
  --adaptive-logic={,predictive,nearoptimal,rate,fixedrate,lowest,highest} 
                                 Adaptive Logic

你可以像new LibVLC("--adaptive-logic=highest")一样试一试

有关更多信息,请参见文档论坛。如果不起作用,我会把它设为服务器端。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66210257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档