安卓反应原生视频无法在 m3u8 视频中播放


  1. 我的问题是我无法通过react原生视频播放m3u8碎片视频。但来自不同资源的另一个测试m3u8确实有效。我认为我的代码转换后的CMAF m3u8已经损坏,因此不起作用,但它通过react原生视频在ios上工作,我试图通过demo.theoplayer测试它,它工作正常。

  2. 我通过AWS MediaConvert创建作业模板并配置一些设置,将mp4代码转换为CMAF m3u8。

  3. 我的代码很简单:

<Video
style={{ flex: 1, backgroundColor: 'black' }}
source={{uri: 'https://d7m8ah93fnh1v.cloudfront.net/media/ROOM/03bc46a8-eb9f-4f94-950e-55da3c9b4a77/567e932f-d964-43c5-8866-247a9e777d35/567e932f-d964-43c5-8866-247a9e777d35.m3u8'}} 
/>

我们的建议是确定这是流格式问题还是播放器方面的问题。为此,我们建议使用苹果的"流验证器"工具验证流,该工具是苹果网站上提供的"HLS工具"包的一部分。我们还建议在JWplayer、Shaka player等其他播放器中检查流的播放情况。仅供参考,我在bitmovin测试播放器和hls.js中尝试了你的源URL,它在这两个播放器中都很好。

如果播放问题是特定于react原生视频播放器的(这似乎很可能(,那么有两条路要走:[a]与react团队一起打开一个bug;和[b]检查react播放器的推荐设置,然后尝试修改您的编码设置,以生成react播放器可以毫无问题地处理的流。

最新更新