首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何选择VLCJ中的视频质量?

如何选择VLCJ中的视频质量?
EN

Stack Overflow用户
提问于 2022-10-05 02:47:14
回答 3查看 151关注 0票数 1

目前,我正在使用这个HLS流进行测试:

通常,VLCJ播放器播放视频的质量是144便士,这是不好的。如果在那之后再开始视频,那么质量就变成360便士。当我把屏幕切换到电视上时,它开始更频繁地播放360 p质量的视频。

此外,在此之前,我用VLC播放器在C#中创建了一个应用程序。在那里,视频以144便士的质量发布,过了一段时间,质量自动改变到720 p。

我运行VLCJ时没有参数,根据最基本的示例

如何确保最佳质量的选择?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-10-06 23:32:11

我刚解决了问题。我查看了在运行vlc.dotnet.forms时使用的VLC版本.VLC版本为3.0.17.4。我在vlcj中使用了VLC版本3.0.9.2。我用VLC 3.0.17.4运行vlcj,视频从144 p开始,然后改为1080 p!问题在VLC版本中。因此,这是一个真正的解决方案。

票数 0
EN

Stack Overflow用户

发布于 2022-10-05 14:41:55

大多数玩家从低比特率开始的原因是最初允许快速启动,然后随着进程的进行,他们将切换到更高的比特率,并且假设设备和网络条件支持较高的比特率。

您可以在大多数优质流媒体服务上看到这种行为。

Update请参见下面的讨论以及vlcj的正确方法,以及vlcj的独立答案-- track返回单个轨道,而不是单个还原子轨道的列表。

原始答案-见上面的更新:

如果你想选择轨道自己编程,你可以这样做,在大多数球员也。VLCJ的语法是:

mediaPlayer.setVideoTrack(newVideoTrack);

在以下链接中有更多的细节,包括如何查询可用的轨道:https://capricasoftware.co.uk/projects/vlcj-3/tutorials/media-info

票数 1
EN

Stack Overflow用户

发布于 2022-10-05 18:11:22

没有特定的本机API来处理这个问题,但在播放媒体时可以使用媒体选项参数:

代码语言:javascript
复制
mediaPlayer.media().play(
  "https://cph-p2p-msl.akamaized.net/hls/live/2000341/test/master.m3u8",
  ":adaptive-logic=highest"
);

除了“最高”之外,还有其他选择:

  • predictive
  • nearoptimal
  • rate
  • fixedrate
  • lowest
  • highest

使用vlc -H并搜索“适应性”以在命令行帮助中找到这些值。

如果不希望每次播放媒体时将其作为媒体选项传递,则可以在MediaPlayerFactory上设置它(语法略有不同):

代码语言:javascript
复制
MediaPlayerFactory factory = new MediaPlayerFactory("--adaptive-logic=highest");

为了确认这一点,我使用了来自发布问题的流URL。

如果没有这个设置,它将在144 p开始,然后切换到1080 p。在此设置下,它立即启动1080 p回放。

请注意,以这种方式传递的选项不受支持,并且可能随着VLC的任何新版本而改变。

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

https://stackoverflow.com/questions/73955495

复制
相关文章

相似问题

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