コンテナとコーデック

Derek Herman
Derek Herman
Joe Medley
Joe Medley

複数のブラウザをサポートするには、FFmpeg を使用して .mov を変換する必要があります 2 つの異なるコンテナ(MP4 コンテナと WebM コンテナ)に保存できます。イン コーデックも同時に指定することをおすすめします。現在のところ、 FFmpeg にデフォルトを使用します

これらの概念になじみがない場合は、 メディア ファイルの基本 先に進む前にまた、FFmpeg がインストールされていない場合は メディアアプリの基本 Docker でセットアップします

推奨の Docker インストールを使用し、 ウェブ用のメディア ファイルを準備するglocken.mov ファイル media ディレクトリ内に追加します。すべてのソフトウェアバージョンに FFmpeg バージョン 4.3.2 を使用しました。 説明します。

コンテナ

まず、.mp4 を使用して .mov ファイルから 2 つのコンテナを作成する必要があります。 ファイル内に音声ストリームと動画ストリームの両方を含む、.webm ファイル拡張子。 メディア ファイルの基本を確認する でコンテナとストリームの相違点が不明な場合は、 できます。

  1. MP4

    /media # ffmpeg -i glocken.mov glocken.mp4
    
  2. WebM

    /media # ffmpeg -i glocken.mov glocken.webm
    

WebM は MP4 よりも作成に時間がかかります。これは当然ながら 表示されます。MP4 は元のファイルの約 83% に圧縮されますが、 WebM は元のサイズの 78% に縮小されますが、はるかに小さくなることがあります。 実際の結果は一定ではありません。重要なのは FFmpeg の 4.2.2 が 動画のデフォルトのビットレートは 200k です。4.3.2 ではデフォルトのビットレートは設定されません。 そのため、動画は元の動画の単なる4%ではなくなります。これを実際に確認できます メディア ファイルがあるフォルダで ls -a bash コマンドを使用します。

例:

/media # ls -l
-rw-r--r-- 1 root  root  12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root  root  10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root  root   9503301 Mar 7 18:30 glocken.webm

小さなファイルを取得するには、代わりに次のようにします。

/media # ffmpeg -i glocken.mov -b:v 200k glocken.webm
...
frame=  300 fps=3.6 q=0.0 Lsize=     483kB time=00:00:10.01 bitrate= 395.0kbits/s speed=0.121x
video:359kB audio:117kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.356068%
/media # ls -l
-rw-r--r-- 1 root  root  12080306 Mar 7 12:16 glocken.mov
-rwx------ 1 root  root  10106446 Mar 7 12:33 glocken.mp4
-rwx------ 1 root  root    494497 Mar 7 18:45 glocken.webm

実施したタスクを確認する

結果を検証するには、すでに示されているように、FFmpeg と Shaka Packager を使用します。 メディアアプリの基本:

/media # packager input=glocken.mp4 --dump_stream_info
/media # ffmpeg -i glocken.mp4

コーデック

次はコーデックですメディア ファイルの基本で説明されているように、コーデックは コンテナ(ファイル形式)とは異なります。同じコンテナの 2 つのファイル 異なるコーデックを使用して圧縮されたデータを保持できます。たとえば、WebM 形式は を使用すると、Vorbis または Opus を使用して音声をエンコードできます。コーデックを変更するには FFmpeg を使用しますたとえば、このコマンドは vorbis 音声を含む .mkv ファイルを出力します。 av1 動画コーデックがあります。

/media # ffmpeg -i glocken.mov -c:a vorbis -c:v av1 glocken.mkv

この例では、-c:a フラグと -c:v は、音声と動画を指定するためのものです。 それぞれ異なります

[メディア コンバージョン] ページには、 コマンドを変換できます。以下の表は、Terraform で使用したライブラリを FFmpeg に格納して、WebM および MP4 ファイルのコーデック変換を実行します。これらは DASH と HLS でそれぞれ推奨される形式です。

動画

コーデック 広告表示オプション ライブラリ
av1 WebM、mkv libaom-av1
h264 MP4 libx264
vp9 WebM libvpx-vp9

音声

コーデック 広告表示オプション ライブラリ
AAC MP4 AAC
オーパス WebM リボパス
Vorbis WebM libvorbis

次に、新たに作成したファイルのビットレートを変更する方法について説明します。