当前行为
当使用托管在 AWS 的 S3 + 上由 CloudFlare 缓存的视频时,视频无法重新启动(无限“缓冲”)。托管在另一个简单的 Web 服务器上的相同视频每次加载都很好,无论我尝试删除/添加视频组件多少次,或者重新启动应用程序。
本机应用程序中的其他 android 播放器适用于相同的视频,iOS 加载也很好。
复制步骤
每次都可重现,但仅限于特定情况或云/缓存状态(例如,我可以在早上在波兰始终如一地重现它,但我不能在下午重现它)。
脚步:
- 将相同的文件上传到 AWS S3 + CloudFare 和一个简单的网络服务器。
- 在主视图中启动一个包含 2 个视频组件的应用程序(附加示例项目)
- 视频开始播放
- 使用“返回”按钮退出应用程序,再次打开应用程序(或者只是删除视图并再次添加它而不关闭应用程序)
- 重复 3 & 4 次
结果:AWS S3 + CloudFare 上托管的视频在第一次或几次后停止启动,其他视频每次都正常启动。
重现问题的视频录制:https ://drive.google.com/file/d/1Wfxr6GkZFfP2-WM4hHSfiiwYBritt4mN/view
用于重现问题的示例项目:https ://github.com/react-native-community/react-native-video/files/2556644/bug_infinite_buffering_src.zip
预期行为
视频应该每次都开始。
平台
- Android ExoPlayer(react-native-video 组件)
- 反应原生 0.56.0
- 反应原生视频 3.2.1
加载正常:
- https://sample-videos.com/video123/mp4/480/big_buck_bunny_480p_20mb.mp4
- http://handcraftedmobile.com/sample_dev_videos/bunny.mp4
- https://handcraftedmobile.com/sample_dev_videos/bunny.mp4
- https://handcraftedmobile.com/sample_dev_videos/bunny-big.mp4
重新加载时遇到问题:
- https://vid.twinbody.com/1811/bunny-big.mp4
- https://vid.twinbody.com/1811/bunny.mp4
- 和其他私人视频的托管方式与上述相同
请帮助查找问题,任何如何调试它的建议表示赞赏。