如何在 ijkplayer 中更改 HLS 质量以获得颤振或替代解决方案?

Posted

技术标签:

【中文标题】如何在 ijkplayer 中更改 HLS 质量以获得颤振或替代解决方案?【英文标题】:How to change HLS quality in ijkplayer for flutter or alternative solutions? 【发布时间】:2020-11-16 08:11:20 【问题描述】:

您好,谁能帮我解决这个问题,我们决定使用 Flutter ijkplayer,因为它是 Flutter 上唯一支持更改播放速度选项的播放器,但它没有更改 hls 质量的选项,并且根据我的发现,任何其他玩家也没有,如果有人知道,请分享。

至于我尝试过的,我下载文件并将其拆分为 4 个文件,每个文件只有一个视频和音频流,并使用按钮更改文件。

我还尝试考虑使用播放器从 master 更改曲目,但 FFMpeg 确实支持这一点,但我不确定如何从颤振中做到这一点。

目前它可以工作,但是拆分是硬编码的,可能需要针对不同的主 m3u8 进行更改(我们使用 vimeo 并期望主 m3u8 的文件格式相同,但他们可以在以后更改它,或者我们可以更改视频服务),并且最好从播放器本身更改流,而不是使用外部 ui 按钮,例如在全屏模式下不可用,您希望大多数人都可以在其中观看视频。

我正在尝试使拆分部分更通用,但想知道其他人如何处理此问题。

编辑我已经使分裂变得有点动态,但我刚刚遇到了另一个问题,在 ffmpeg 中(在 ijk 播放器中编译它是 4-5 岁而不是最新版本)我必须使用格式选项 - 协议白名单, 'http, https, tls, file, crypto, tcp, udp, concat' 所以我可以播放本地文件,但播放器默认设置格式选项 - fflags 'fastseek' 以允许播放速度超过 1,但出于某种原因功能中断了快速搜索,或者换句话说,如果我播放本地文件,我不能使用大于 1 的速度,而我可以在从 Internet 播放的文件上使用。

使用这个版本的flutter ijkplayer github

【问题讨论】:

【参考方案1】:

你可以使用更好的播放器来颤动它的好选择质量

Better Player Flutter

【讨论】:

我实际上最终编写了自己的播放器(修改了默认的视频播放器来做我需要的),因为当时没有这样的播放器存在,但感谢您的回答可能会帮助其他人(和我也是,如果我需要更换我的播放器以防万一以后出现问题)

以上是关于如何在 ijkplayer 中更改 HLS 质量以获得颤振或替代解决方案?的主要内容,如果未能解决你的问题,请参考以下文章

在 android 上的 hls 流上选择质量视频

在 iOS SDK - AVPlayer 中手动选择视频质量的 HLS 流?

使用 FFMPEG 创建 HLS 变体

第一天:短信验证,正则表达式和直播

如何以安全的方式从 S3 提供 HLS 流(授权和认证)

android studio引入ijkplayer二次开发