複数のブラウザをサポートするには、FFmpeg を使用して .mov
を変換する必要があります
2 つの異なるコンテナ(MP4 コンテナと WebM コンテナ)に保存できます。イン
コーデックも同時に指定することをおすすめします。現在のところ、
FFmpeg にデフォルトを使用します
これらの概念になじみがない場合は、 メディア ファイルの基本 先に進む前にまた、FFmpeg がインストールされていない場合は メディアアプリの基本 Docker でセットアップします
推奨の Docker インストールを使用し、
ウェブ用のメディア ファイルを準備するの glocken.mov ファイル
media
ディレクトリ内に追加します。すべてのソフトウェアバージョンに FFmpeg バージョン 4.3.2 を使用しました。
説明します。
コンテナ
まず、.mp4
を使用して .mov
ファイルから 2 つのコンテナを作成する必要があります。
ファイル内に音声ストリームと動画ストリームの両方を含む、.webm
ファイル拡張子。
メディア ファイルの基本を確認する
でコンテナとストリームの相違点が不明な場合は、
できます。
MP4
/media # ffmpeg -i glocken.mov glocken.mp4
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 |
次に、新たに作成したファイルのビットレートを変更する方法について説明します。