ウェブ用のビデオフォーマット、選択に役立つ短いガイド

ウェブ上のビデオは長い間増加するでしょう。InstagramとYoutubeのビデオを埋め込むのは簡単ですが、多くのeコマースのユースケースのように、ビデオ配信へのカスタムアプローチを要求する状況はますます増えています。

ビデオ処理と配信のパイプラインを設定する場合、最初に決定するのは、提供するビデオ形式についてです。UX、サポート(ブラウザーとシステム)、圧縮効率、コーディング速度などの側面がこの選択に関連する可能性があります。

Webビジネスのメディア最適化に関する私の経験に基づいて、ここで考慮すべき主な側面を強調します。ffmpegを使用した簡単なトランスコーディングと最適化のオプションを探している場合は、この記事も確認してください。

コンテナとコーデック

通常の画像形式とは対照的に、コンテナとコーディング標準の違いに注意することは非常に重要です。ファイル拡張子は、どのコンテナを示していますが、どのコーデックが使用されているかは示していません。そして、クリップをエンコードするために従う標準は、それがブラウザまたはシステムでサポートされているかどうかを決定します。

たとえば、Webで広くサポートされているビデオ形式はmp4コンテナとH264標準をエンコードに使用しますが、H265などの別の標準でコーディングされる可能性があるため、すべてのmp4ファイルが普遍的にサポートされているわけではありません。

アダプティブビットレート(ABR)を使用すると、さらに複雑になり、ユーザーのネットワークおよびデバイス機能に応答するための最良の方法がもたらされます。

コンテナーとコーディングおよび配信標準の主な組み合わせと、サポート、圧縮効率、エンコード速度、およびユーザーエクスペリエンスの点でのそれらの違いを見てみましょう。

プログレッシブビデオ

H264 / AVC

ビデオのキングフォーマットは、H264 / AVCエンコーディングを備えたmp4コンテナを備えています。場合によっては、DRM保護付きのH264ビデオ用にAppleが開発したmp4派生物であるm4vコンテナ(Handbrakeのデフォルト形式)に含まれています。

すべてのブラウザとシステム(iOSとAndroidの両方のネイティブアプリケーションも)がこの形式をサポートしています。互換性の問題を回避することは安全な選択です。

さらに、デスクトップからモバイルまでのほぼすべてのデバイスが、H264のハードウェアアクセラレーションをサポートしています。エンコードとデコードは高速です。

要するに、このフォーマットのエンコードと配信は本当に簡単です。画像の場合と同様に、HTML5を使用してビデオへのリンクを挿入するだけで、他のどのブラウザでも機能します。

問題は、VGAを超える解像度、良好な視覚品質(ビットレートが約2000 kbps以上)、および持続時間が数秒を超える場合に発生する可能性があります。モバイルネットワークを介して表示すると(多くの地域で、ピーク時のホーム接続でも)、ストールや再充電が発生する可能性があります。品質を下げる代わりに、ぼかし、蚊、ブロックなどのアーティファクトが発生します。

H265 / HEVC

同じコンテナとH265 / HEVCエンコーディングを使用すると、はるかに高い圧縮効率(約50%軽量)とブラー以外のアーティファクトのリスクがはるかに少ない強力なビデオフォーマットが見つかります。このフォーマットの問題は、サポートがAppleデバイスに限定されていることです。これには、価格に多額のロイヤルティが含まれています。ほとんどのSafariとiOSアプリのみがそれを使用できます。多くのiPhoneまたはMacユーザーがいる場合は、H264へのフォールバックに含めることができます。彼らの経験はより良くなるでしょう。

ハードウェアアクセラレーション(ほとんどAppleデバイスでのみ利用可能)を使用しても、この形式の複雑さが増すと、エンコードが大幅に遅くなるため、配信用のバリアントの作成には、より多くのコンピューティングと時間がかかります。

VP9

これは、Googleからのオープンソースのロイヤリティフリーの返信です。mp4の代わりにwebmコンテナー、基本的にはmkvコンテナーを使用しますが、コーディング標準をVP8またはVP9に設定します。Inは、H265に同様の利点をもたらします。おそらく、H264と比較すると、効率は少し劣りますが、それでもはるかに多くなります。繰り返しになりますが、ぼやけ以外のアーティファクトのリスクを大幅に減らして、重量を減らすことができます。エンコード速度は遅いH265に似ています。エンコード速度は、特に社内のトランスコーディングパイプラインでは、覚えておく必要があるかもしれません。

以前のバージョン(VP8)は同じサポートで存在しますが、すでに広くサポートされているH264に利点が追加されないため、まったくお勧めしません。webmの使用は、VP9エンコーディングでのみ正当化されます。

もちろん、webmのサポートはGoogleの世界に限定されています。つまり、ChromeとAndroidです。繰り返しますが、H264へのフォールバックが必要です。

AV1

この標準の最初の安定バージョンが2018年3月にリリースされ、MP4コンテナとMKVコンテナの両方のマッピングが含まれています。ライセンスフリーでありながら、H265と比較して同等またはわずかに高い圧縮効率の向上を実現します。最後の実装では、H265と比較してデコード速度も向上しており、AV1ビデオをWeb配信の魅力的な代替手段にしています。

このフォーマットを作成したAlliancefor Open Mediaに関与するパートナーは、近い将来、広範なサポートを主張します。それはそこにある他のすべてのフォーマットを一掃することを約束します。

ただし、現在利用可能な実装はまだ実験的なものと見なす必要があり、そのボトルネックは依然としてエンコード速度です。この操作のハードウェアアクセラレーションの欠如は明らかに問題であり、最初のソリューションは年末に予定されています。

VVC

H264AVCおよびH265HEVCを担当する委員会は、新しい規格を迅速に追跡し、2020年にリリースが予定されています。現在検討されているアプローチの予備テストでは、H265およびAV1と比較して顕著な向上が見られました。ビデオコーディングの競争がまだ終わっていないように見えることを示すために、これを未来的な通知としてここに含めます。

アダプティブビットレート(ABR)

これは、プログレッシブ形式の非常に興味深い代替手段です。これは、HTTPベースのメディアストリーミング通信プロトコルに基づいて構築されています。このアプローチでは、ビデオはマスタープレイリストとして配信されます。プレイリストは、さまざまなビューポートサイズ、ネットワーク帯域幅、およびデバイス機能に対応する解像度とビットレートのさまざまなオプションを備えた表現またはラダーを提供します。

さらに、クライアントが1つの品質レベルから別の品質レベルにジャンプできるように、ビデオは断片またはチャンクに分割されます。ユーザーの状態、つまりネットワーク速度だけでなく、フルスクリーンへの切り替えなどのビューポートサイズにも適応できます。

ABRは、モバイルデバイスのUXを最適化する大きな利点をもたらし、モバイルネットワークでのストールやイベントの再バッファリングを回避します。真のレスポンシブな振る舞いを求めるなら、これは明らかに取るべきアプローチです。HLSとMPEG-DASHの2つの主要な標準があります。

ABRは非常に長いビデオにのみ意味があるという拡張された信念がありますが、私の経験では、かなり短いクリップを使用する多くの状況でも、このアプローチの恩恵を受けることができます。

HLS

Appleによって開発されたこのABRプロトコルは、mp4形式のチャンクに分割されたさまざまなレンディションに依存しています。元々はH264でしたが、現在はH265もサポートしています。ただし、妥協案として、HLSを使用したH264エンコーディングに固執することをお勧めします。これにより、さまざまなクライアントケース間ではるかに優れた互換性がもたらされます。

この規格の大きなポイントは、最近のAppleデバイスでのサポートです。SafariまたはネイティブiOSアプリケーション以外のクライアントの場合は、ビューアが必要です。しかし、videojsのような優れたオープンソースオプションがそこにあるので、これは大きな問題ではありません。またはもちろん、それをカスタマイズしてフロントエンドで機能させるには、ある程度の努力が必要です。このすべての作業を行う優れたトランスコーディングおよび配信サービスもあります。

各レンディションは一定のビットレートでエンコードする必要があるため、HLSとタイトルごとのエンコードを組み合わせることをお勧めします。つまり、ビデオのコンテンツに基づいてレンディションビットレートを選択します。

MPEG-DASH

これはABRのコーデックに依存しないプロトコルであるため、H264およびH265に加えて、VP9エンコーディング、またはAV1などの新しい代替プロトコルでも機能します。欠点は、その相対的な若さです。つまり、HLSよりもはるかに少ないサポートしか享受できません。これが、ほとんどのWebビジネス(大規模なeコマースストアでさえ)にはまだ推奨されていない理由です。

概要

H264 AVC圧縮が何年にもわたって優勢だった後、新しいアプローチがシーンを活気づけています。ディスプレイのサイズと解像度の競争は、同じ帯域幅内でより多くのコンテンツを配信できる新しいフォーマットの開発を後押ししています。

webmのVP9は、圧縮効率を大幅に向上させ(約30%)、ロイヤリティフリーで、Googleソリューション(Chrome、Android)でサポートされています。さらに進んで、H265 / HEVCは、H264と比較して半分のビットレートで同等以上の主観的品質を達成しました。それらのどれもユニバーサルサポートを備えていないので、少なくともフォールバックとして、H264はまだ必要です。

アダプティブビットレートは魅力的な代替手段であり、比類のないユーザーエクスペリエンスを提供します。この点で、HLSはオープンソースの視聴者の助けを借りて幅広いサポートを楽しんでいます。中型のWebにはおそらく最良のオプションです。視聴者の必要性によって追加された複雑さは、社内ソリューション用のvideojsのようなオープンソースイニシアチブの可用性だけでなく、競争力のある価格で仕事をするためのサードパーティサービスの可用性によってかなり軽減されます。この最後のルートを通過する場合は、必ずタイトルごとのエンコーディングを要求してください。