以前のコンテナとコーデックに関する記事では、メディア ファイルのコンテナ(拡張機能)とコーデックを変更する方法を学習しました。この記事では、解像度について説明する前に、ビットレートを変更する方法について説明します。
ビットレートと解像度は、メディア ファイルのデータ量と相関しています。言うまでもありませんが、とにかく言っておきましょう。ビットレートと解像度はいつでも下げることができますが、上げるのは問題です。特別なソフトウェアとアルゴリズムがないと、品質が低下します。
そのため、変換プロセスは、入手可能な最高品質のソースファイルで開始してください。なんらかの作業を行う前に、コーデックやコンテナを変更する前であっても、ファイルの表示特性を調べて、ソースファイルのビットレートや解像度が想定した結果よりも高くなっていることを確認してください。
ビットレートは、メディア ストリームの 1 秒間のエンコードに使用される最大ビット数です。ストリームの 1 秒のエンコードに使用されるビットが多いほど、忠実度が高くなります。
ウェブが処理できるビットレートが低いことは驚くことではありません。次の表に、一般的なネットワーク条件で目標とするビットレートを示します。比較のために、ブルーレイと DVD の値も記載しています。
配信方法 | ビットレート |
---|---|
ブルーレイ | 20MB |
DVD | 6MB |
PC ウェブ | 2MB |
4G モバイル | 0.7MB |
3G モバイル | 0.35MB |
2G モバイル | ネットワークの種類によって異なります。 EDGE: 0.4 Mbs GPRS: 0.04 Mbs |
ウェブページの動画にはどの値を使用すればよいですか?端的に言えば、少なくともパソコン、4G、3G です。たとえばインドなど、「次世代の 10 億人のユーザー」と呼ばれる市場で動画を配信する場合は、2G も含める必要があります。ここでは、デモのために 3G をターゲットとします。
FFmpeg では、ビットレート(-b
)フラグを使用してビットレートを設定します。
FFmpeg がインストールされていない場合は、メディア アプリケーションの基本を読んで Docker でのセットアップを行います。
MP4
/media # ffmpeg -i glocken.mov -b:v 350k -b:a 64k glocken_3g.mp4
WebM
/media # ffmpeg -i glocken.mov -b:v 350k -b:a 64k glocken_3g.webm
ビットレート フラグには -b:a
と -b:v
の 2 つがあります。1 つは音声ストリーム用、もう 1 つは動画ストリーム用です。
/media # ls -l
-rw-r--r-- 1 root root 12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root root 531117 Mar 7 13:42 glocken_3g.mp4
-rwx------ 1 root root 706119 Mar 7 13:46 glocken_3g.webm
ファイルの準備ができたら、解像度を調整します。