【问题标题】:react-native-video: How to manually select video qualityreact-native-video:如何手动选择视频质量
【发布时间】:2018-10-04 15:35:26
【问题描述】:

我正在使用来自 s3 的 HLS 构建视频流应用。

我想支持选择视频质量的功能。

仍然无法找到如何选择所需的质量。

谁能帮我解决这个问题。 如果有人知道一些 react-native api 或其他解决方案,请提供帮助。

谢谢

【问题讨论】:

  • 视频是否以多重演绎形式编码?你用的是什么播放器?
  • 您找到解决方案了吗?我面临同样的问题。如果您发现任何问题,请发布您的答案,这将对很多开发人员有所帮助。

标签: react-native mobile video-streaming http-live-streaming


【解决方案1】:

可以根据 react-native-video 文档手动选择视频质量,使用 selectedVideoTrack Prop

https://github.com/react-native-community/react-native-video#selectedvideotrack

例子

selectedVideoTrack={{
  type: "resolution",
  value: 1080
}}

【讨论】:

  • selectedVideoTrack 不适合我
【解决方案2】:

react-native.config.js中添加这些行

module.exports = {
    dependencies: {
        'react-native-video': {
            platforms: {
                android: {
                    sourceDir: '../node_modules/react-native-video/android-exoplayer',
                },
            },
        },
    },
    assets:['./src/assets/fonts/'],
};

如果您没有字体目录,请删除 assets:['./src/assets/fonts/'],

然后在Video组件中选择这样的视频轨道

selectedVideoTrack={{
  type: "resolution",
  value: 1080
}}

此解决方案仅在 Android 设备上进行了测试。

原答案:https://stackoverflow.com/a/71148981/4291272

【讨论】:

    【解决方案3】:

    如果您的 HLS 视频中有多个质量再现,则可以将 hls.js 用于播放组件。通常这只会为您切换播放,但您可以使用 Quality Switch API 手动控制。

    即您将使用hls.levels 获得可用的质量,然后遍历它们。然后将hls.currentLevel 设置为所需的质量。

    【讨论】:

    • OP 要求反应原生,而不是网页
    猜你喜欢
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 2019-05-24
    • 2019-12-16
    相关资源
    最近更新 更多