問題タブ [digital-ocean-spaces]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ffmpeg - (React Native) モバイル アプリの動画を提供する最良の方法: HLS が LTE で非常に遅いのはなぜですか?
モバイル アプリ (react-native-video プレーヤーを使用した React Native) でビデオ ファイルを提供したいと考えています。気になるのは以下の2点です。
- より遅い帯域幅 (LTE など) を使用するユーザーでも最小限のバッファリングでビデオを視聴できる適応ビットレート
- 速いシーク時間
- 低帯域幅消費
HLS ストリーミング (具体的には .m3u8 プレイリスト + TS ファイル) は、上記の基準をすべて満たしているようです。
ファイルを生成するために (Apple が推奨する 6 秒のセグメント長) を使用しましたffmpeg
。-hls_time 6
マスター プレイリストの例を次に示します。
次に、それらを DigitalOcean Spaces に保存しreact-native-video
、マスター プレイリストの CDN エンドポイント経由でソースします。例:
これはすべて、50Mb/秒のダウン Wifi で問題なく動作しますが、LTE (DO の NYC1 データセンターから約 5 ~ 10Mb/秒) に切り替えると、HLS ストリームは (セグメントの境界で) 6 秒ごとにバッファリングされるようです。各セグメントは最大 800KB であるため、各セグメントを時間内にダウンロードするには 5Mb/s で十分です。
ここで何か間違ったことをしていますか?