0

多数の小さなビデオ パーツで構成されているビデオを管理するにはどうすればよいですか? たとえば、元のビデオは、現在の帯域幅に応じて各部分を選択できるように、それぞれ異なるバイト レートで使用できる 1 秒のビデオに分割されます。または、元のビデオは 360 ビデオであり、ユーザーが現在見ている場所に対応するチャンクをストリーミングできるように、さまざまな地域でより良い品質で利用できる 1 秒のチャンクに分割されます。

MPEG-DASH プレーヤーは、おそらくもっと多くのことを行っていますが、バイト レートの適応のためにこの問題を解決しているようです。

デスクトップで多数の html5 ビデオ + javascript を使用してこれを行うのは、それほど複雑ではないように思えます。何がストリーミングされるか、およびトランジションを処理することに注意してください。ただし、モバイルでは、ビデオを読み込んで再生するにはユーザーの操作が必要です。しかし、ユーザーが毎秒自分の電話をタップするのは望ましくありません...

理想的には、最終的なものには html5 ビデオのものと非常によく似た API があり、定期的にストリーミング ソースを選択する可能性が追加されます。モバイルで動作することは私にとって非常に重要です。

どうもありがとう!

4

1 に答える 1

1

はい、MPEG-DASH とHLSは特にこの問題を解決しています。

DASH および HLS プレーヤーは、新しい HTML5 Media Source Extensions API (MSE) を使用して、複数のビデオ フラグメントを 1 つのファイルであるかのように再生します。

モバイルが問題です。MSE は Chrome for Android で動作しますが、ほとんどの Android スマートフォンに付属している組み込みブラウザーに注意してください。それらはバグが多く、機能が不足していることで有名です。

残念ながら、MSE はiOSでは動作しません。iOS で動作するのは HLS だけです。

HLS は非常に広く普及しており、iOS デバイスで十分にサポートされているため、ほとんどの人は HLS を使用します。HLS は Android でもサポートされていますが、特に一部のデバイスではバグが発生する可能性があります (ご存知のように、ほぼすべてのハードウェア メーカーが Android 携帯電話も製造しており、携帯電話にどのようなハードウェアを搭載しているかを知っている人はいません。セット トップ ボックスに関しては、さらに悪い)。デスクトップ ブラウザーの場合、hls.js (オープン ソース) やViblast (商用) などの JavaScript HLS プレーヤーが使用されます。

一部のストリーミング サーバーは、ビデオ ストリームを複数の形式 (HLS、MPEG-DASH、rtmp) でパッケージ化するため、フォールバック メカニズムを実装できます。HLS がサポートされている場合は HLS を使用し、サポートされている場合は MPEG-DASH を使用するか、非常に古いブラウザーの場合は rtmp を使用します。

DIY ソリューションは楽しいものですが、ほとんどのプラットフォーム (モバイルおよびデスクトップ) で機能するようになるまでには、おそらく多くの時間を投資する準備ができている必要があります。

于 2016-02-13T12:27:22.783 に答える