在 react-native-tvos@^0.63.4-0 上使用 react-native-video 时遇到问题
Having trouble using react-native-video on react-native-tvos@^0.63.4-0
错误
我们正在使用这个库为 AndroidTV 构建一个严重依赖视频流的应用程序,所以我们决定使用这个库并看看它如何去了。
我们只为应用程序使用 HLS (m3u8) 视频格式。
我们使用了 ExoPlayer 并且一切似乎都很好,但是当用户开始在非品牌 AndroidBoxes[=83 上安装应用程序时=] ,我们收到了大量错误报告,所有错误报告都包含一个特定问题,“视频播放器无法正常工作”。
我们开始在多个设备上调试,包括 Android Phones , AndroidTVs , Amazon Fire Stick 和 android 盒子.
我们对某些设备同时使用 ExoPlayer 和 MediaPlayer 进行了调试。
- 我们得到的结果是这样的:
- Android Phone:ExoPlayer 和 MediaPlayer 工作正常。
- AndroidTV:ExoPlayer 工作正常但是当我们尝试使用 MediaPlayer 视频开始不同步。
- Amazon Fire Stick:ExoPlayer 运行良好。 (未使用 MediaPlayer 进行测试)
- Android Box:ExoPlayer 无法正常工作,问题包括我们手动将其设置为 1 时的 2 倍速度,没有声音,不能完全工作。另一方面,MediaPlayer 起初似乎可以工作,但在使用 30-40 分钟后就会出现故障,运行 视频以 2 FPS 播放。
平台
您在哪个播放器上遇到问题:
- Android ExoPlayer
- Android 媒体播放器
环境信息
React 本机信息输出:
System:
OS: Windows 10 10.0.18363
CPU: (8) x64 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
Memory: 3.36 GB / 11.90 GB
Binaries:
Node: 14.16.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.4 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.14.11 - C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK: Not Found
Windows SDK: Not Found
IDEs:
Android Studio: Version 4.1.0.0 AI-201.8743.12.41.7042882
Visual Studio: 16.5.30011.22 (Visual Studio Community 2019)
Languages:
Java: 1.8.0_282 - /c/Program Files/OpenJDK/openjdk-8u282-b08/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: Not Found
react-native-tvos: 0.63.4-0
react-native-windows: Not Found
npmGlobalPackages:
*react-native*: Not Found
库版本:^5.1.1
重现步骤
- 运行
react-native init TestApp --template=react-native-tvos
.
- 运行
npm i react-native-video
.
- 给
<Video />
一个 HLS 类型的视频。
- 运行
react-native run-android --variable=release
并在目标平台上安装 apk 文件。
预期行为
在电视平台上流畅播放视频的解决方案或修复。
我在 react-native-video github here.
打开了一个关于这个问题的问题
我们的问题似乎出在文件的编码上,这导致 HLS 文件不稳定。
如果您想在您的应用中使用 HLS,请确保您的编码是标准的并且适用于旧设备。
错误
我们正在使用这个库为 AndroidTV 构建一个严重依赖视频流的应用程序,所以我们决定使用这个库并看看它如何去了。
我们只为应用程序使用 HLS (m3u8) 视频格式。
我们使用了 ExoPlayer 并且一切似乎都很好,但是当用户开始在非品牌 AndroidBoxes[=83 上安装应用程序时=] ,我们收到了大量错误报告,所有错误报告都包含一个特定问题,“视频播放器无法正常工作”。 我们开始在多个设备上调试,包括 Android Phones , AndroidTVs , Amazon Fire Stick 和 android 盒子.
我们对某些设备同时使用 ExoPlayer 和 MediaPlayer 进行了调试。
- 我们得到的结果是这样的:
- Android Phone:ExoPlayer 和 MediaPlayer 工作正常。
- AndroidTV:ExoPlayer 工作正常但是当我们尝试使用 MediaPlayer 视频开始不同步。
- Amazon Fire Stick:ExoPlayer 运行良好。 (未使用 MediaPlayer 进行测试)
- Android Box:ExoPlayer 无法正常工作,问题包括我们手动将其设置为 1 时的 2 倍速度,没有声音,不能完全工作。另一方面,MediaPlayer 起初似乎可以工作,但在使用 30-40 分钟后就会出现故障,运行 视频以 2 FPS 播放。
平台
您在哪个播放器上遇到问题:
- Android ExoPlayer
- Android 媒体播放器
环境信息
React 本机信息输出:
System:
OS: Windows 10 10.0.18363
CPU: (8) x64 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
Memory: 3.36 GB / 11.90 GB
Binaries:
Node: 14.16.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.4 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.14.11 - C:\Program Files\nodejs\npm.CMD
Watchman: Not Found
SDKs:
Android SDK: Not Found
Windows SDK: Not Found
IDEs:
Android Studio: Version 4.1.0.0 AI-201.8743.12.41.7042882
Visual Studio: 16.5.30011.22 (Visual Studio Community 2019)
Languages:
Java: 1.8.0_282 - /c/Program Files/OpenJDK/openjdk-8u282-b08/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: Not Found
react-native-tvos: 0.63.4-0
react-native-windows: Not Found
npmGlobalPackages:
*react-native*: Not Found
库版本:^5.1.1
重现步骤
- 运行
react-native init TestApp --template=react-native-tvos
. - 运行
npm i react-native-video
. - 给
<Video />
一个 HLS 类型的视频。 - 运行
react-native run-android --variable=release
并在目标平台上安装 apk 文件。
预期行为
在电视平台上流畅播放视频的解决方案或修复。
我在 react-native-video github here.
打开了一个关于这个问题的问题我们的问题似乎出在文件的编码上,这导致 HLS 文件不稳定。 如果您想在您的应用中使用 HLS,请确保您的编码是标准的并且适用于旧设备。