入門
私たちは皆、オンラインビデオで可能な限り最高のビデオとオーディオ品質を求めています。同時に、動画がうまく動作するようにします。つまり、視聴者がクリックした瞬間から実際の再生の開始までの遅延はできるだけ小さくなります。また、再生が開始されると、追加のデータがバッファされている間、停止したり一時停止したりすることはなく、スムーズに継続されます。
残念ながら、これらは矛盾する欲求です。ビデオの品質は、主に視聴者のシステムに配信され、処理されるデータの量に依存します。一方、パフォーマンスは、インターネット接続やクライアントアプリケーションとシステムが処理できるデータよりも多くのデータを配信しないことに依存します。より複雑にするために、地理や時刻、インターネットプロバイダー、デバイスの種類などに基づいて、接続帯域幅とシステム容量にはかなりのばらつきがあります。
Brightcoveのプレーヤーは、利用可能な帯域幅を検出し、最適な動画レンディションを選択することで、視聴体験を最適化するのに役立ちます。プレイヤーは、使用可能なレンディションの中からしか選択できませんが、視聴者のニーズに合ったレンディションのセットを提供するのはユーザー次第です。
ビデオソース
考慮すべき最初の要因は、ビデオソースファイルです。レンディションの品質をソースよりも高くすることはできません。そのため、レンディションで必要な最高のビットレートよりも高いビットレートでビデオをエクスポートすることが重要です。
一方、ビットレートでエクスポートすることには価値がありません 多くの 最高の目標ビットレートよりも高い-オンラインビデオの品質を上げることなく、アップロードとトランスコードの時間を増やすだけです。通常、ソースビットレートは、ターゲットビットレートの最高の 2 倍以下にすることをお勧めします。ただし、テクノロジ、平均帯域幅、および新しいデバイスの変更により、将来的に高いビットレートのレンディションが有効になる可能性があるため、後で新しいソースをエクスポートできるように raw ビデオファイルを保存するか、1 つのバージョンを今使用し、別の高いビットレートバージョンを将来使用するためにエクスポートする必要があります。
レンディションのプロパティ
取り込みプロファイルで設定できるビデオの品質とパフォーマンスに影響を与えるレンディションプロパティがいくつかあります。これらについて以下に説明します。
decoder_bitrate_cap
バッファを介してデコーダに送られる最大ビットレート。この設定は通常、ストリーミング(RTMP、HLS、またはブロードキャストビデオ)にのみ使用されます。
この設定は、ビデオの品質が低下する可能性があるため、その意味を理解している場合にのみ使用してください。
また、max_video_bitrate
以下のセクション。
decoder_buffer_size
bitrate_cap を使用するときにデコーダに供給されるバッファのサイズを kbps 単位で表します。buffer_size を bitrate_cap で割った値は、バッファーのサイズを秒単位で表します。したがって、bitrate_cap を 1000 に設定し、バッファサイズを 1000 に設定すると、バッファは実質的に 1.0 秒になります。ビットキャップが 500、バッファサイズが 1000 の場合、バッファは 2.0 秒です。
この設定は、ビデオの品質が低下する可能性があるため、その意味を理解している場合にのみ使用してください。これは通常、ストリーミング(またはデバイスの再生)にのみ使用する必要があります。
h264_level
ビットレートとマクロブロックを拘束します。主にデバイスの互換性のために使用されます。たとえば、iPhoneはH.264レベル3をサポートしています。これは、ビデオがデコーダービットレートキャップ 10,000kbpsを超えることはできません。通常、この設定は、必要な特定のデバイスをターゲットにする場合にのみ変更してください。
video_bitrate
ムービーの最大平均ビットレート。品質と video_bitrate の両方の設定をオーバーライドして、ビットレートが指定された数を超えないようにします。
ザ・max_video_bitrate
設定は品質設定と連動して機能し、特定の品質レベル(可変ビットレートモード)へのエンコードを可能にしますが、「安全」制限があります。Brightcoveは、指定された品質設定にエンコードしようとすることから始めますが、エンコード中に、最終的な平均ビットレートがより高くなることが検出された場合max_video_bitrate
、エンコードを停止し、戻って2番目のパスを実行します。max_video_bitrate
(平均ビットレートモード)、ビデオの平均ビットレートが高くなりすぎないようにします。
video_bitrateと組み合わせてmax_video_bitrateを使用することは実際には意味をなさないので、指定された2つの値のうち小さいほうにエンコードするだけです。
ザ・decoder_bitrate_cap
ただし、設定すると、エンコーディングの最大ピークビットレートが設定され、このビットレートを超える「スパイク」が発生しないため、停止して再バッファリングすることなくビデオをストリーミングできます。ただし、これらのピークの計算は単純ではありません。これは、単一のフレームまたは単一の期間のビットレートを制限するのではなく、ビデオバッファのフィルレートを制限するためです。だからこそdecoder_buffer_size
一般的にこれと一緒に使用されます。ビデオエンコーダーは、必要に応じて(低アクションの後に非常に高アクションが続く場合など)バッファーを事前に埋めることができるため、単一フレームまたは短時間のビットレートが大幅に高くなる可能性があります。に指定された値よりdecoder_bitrate_cap
。それでも、ビデオが少なくとも等しい帯域幅の接続を介して転送される場合decoder_bitrate_cap
、その後、停止して再バッファリングする必要はありません。
ご了承くださいmax_video_bitrate
ピーク値を制限しないため、ストリーミングの状況にはお勧めしません。
max_video_bitrate
ビットレートを自動選択する品質設定を使用してモバイルデバイス用にエンコードする場合に特に便利です。モバイルデバイスには、固定ビットレート制限があります。たとえば、iPhone 3GSのビットレート制限は 1500 kbps です。
max_video_bitrate
また、トーキングヘッズセグメントとハイアクションまたはスクリーンキャストセグメントの間の移行ポイントで発生する可能性のあるビットレートスパイクを回避するのにも役立ちます。このようなスパイクは、デコーダに供給されるデータが一時的に処理能力を超えているため、ビデオがストールする可能性があります。
品質
を設定することによりquality
レンディションでは、出力の望ましい品質を指定すると、VideoCloudトランスコーディングシステムがその品質を実現するビットレートを自動的に選択します。使用可能な設定は次のとおりです。
- 高度に圧縮。平凡な視覚品質、しかし小さなファイル
- 許容できる品質
- 良い品質。 ほとんどのWebビデオよりも優れています
- 素晴らしい品質。優秀に見える
- ほぼ可逆だな大きなファイル。この出力を再度エンコードする予定がない限り、推奨されません
速度
speed
ターゲットのトランスコーディング速度を決定します。トランスコーディングが遅くなると、より高度なファイル圧縮が可能になり、高度な圧縮機能をスキップすることで、より高速なトランスコーディングが可能です。有効な値は 1 ~ 5 です。ビデオの迅速な利用が重要でない場合は、低速のトランスコーディング速度を選択することで、画質が若干向上します。
bitrate
ビデオのターゲット出力ビットレート(kbps 単位)。これにより、出力ビットレートは予測可能になりますが、品質は予測できません。たとえば、640 x 480 では、動画ブログの見栄えが良くなるには 500 kbps で十分ですが、アクションムービーは同じビットレートで悪くなる可能性があります。同様に、スクリーンキャストには高すぎるため、ファイルは必要以上に大きくなります。
プラットフォーム固有の問題
- Edge ブラウザでは、Windows に組み込まれた Microsoft の「Media Foundation」(MF) コーデックを使用して再生します。MFの「AACデコーダ」には、AACの最大サンプリングレートを48kHzに制限する制限があります。プレーヤーが48khzを超えるオーディオサンプリングレートでレンディションをロードすると、ブラウザは
MEDIA_ERR_SRC_NOT_SUPPORTED
エラー。