3.2. FFMPEG¶
FFMPEG は、ビデオ ファイルとオーディオ ファイルを処理 (デコード、エンコード、変換など) するためのコマンド ライン ツールです。これは、Blender を含む多くの商用および無料ソフトウェア製品で使用されています。コアは FFMPEG プログラムと、ビデオ & オーディオ プレーヤー (FFPLAY) およびストリーム アナライザー (FFPROBE) です。
FFMEG のインストールやコマンド ラインの使用に関するチュートリアルはたくさんあります (Google で「ffmpeg のインストール方法」を検索してください)。素晴らしい 3-part tutorial がNerdFirst によって提供されています。
3.2.1. ビデオをロスレスでトリミングする¶
ソースファイル "input.mkv" の途中の部分を切り取りたいとします。次のコマンドは、約 2 分 2 秒 (-ss コマンド後) から 2 分 43 秒 (-to コマンド後) のセクションを切り出します。ビデオ (c:v) とオーディオ (c:a) の両方が再圧縮されずにコピーされます (コピー)。結果は "output.mkv" に書き込まれます。
ffmpeg -i input.mkv -ss 00:02:02 -to 00:02:43 -c:v copy -c:a copy output.mkv
3.2.2. 複数のビデオフラグメントを 1 つのファイルに結合する¶
以前はビデオを別々のシーンで作成していました。たとえば、年次レビュー モンタージュの各月に 1 つのシーン。この 1 年の間に、個別のシーンをビデオ フラグメントにレンダリングすることができました。年末にはそれらを 1 つの作品にまとめる必要があります。
ffmpeg -safe 0 -f concat -i list.txt -c copy output.mp4
出力ファイルは "output.mp4" と呼ばれます。毎月のフラグメントは、フラグメントの名前を含む 12 行を含む別のファイル "list.txt" で名前が付けられます。 "01-jan.mp4 02-feb.mp4 … 12-dec.mp4"。フラグメントが配置されているフォルダーでコマンドを実行する必要があります。
3.2.3. 複数のビデオチャンネルを 1 つのコンテナに作成する¶
一部のビデオ コンテナには、複数のビデオおよびオーディオ チャネルを含めることができます。たとえば、2 つの監視カメラ出力が隣り合っている場合などです。Blender では、[Strip] > [Source] パネル > [Stream index] を使用して、プレビューするチャンネルを選択できます (同時に両方を選択することはできません)。次のコマンドは、2 つのビデオ チャネルを 1 つのコンテナに作成します。
ffmpeg -i input-1.mp4 -i input-2.mp4 -map 0:0 -map 1:0 output.mkv
3.2.4. 「2で割り切れない」エラーを修正¶
場合によっては、クラシックな 1080p (1920 x 1080) 以外のレンダリング解像度が必要になることがあります。次に、[Output]プロパティ の [Dimensions] パネルに X および Y 解像度を入力できます。ただし、たとえば 1500 ピクセル x 399 ピクセルで H.264 コーデックを使用しようとすると、「2 で割り切れません」というエラーが発生します (さらに悪いことに、クラッシュが発生する場合もあります)。このエラーの理由は、H.264 エンコーダが固定サイズ (4x4 など) のマクロブロックを使用してムービーを圧縮するためです。各フレームはこれらの小さなマクロブロックに分割され、ビデオを圧縮するために、これらのマクロブロック間の差異のみがエンコードされます。ただし、これにより、ムービーの幅と高さが 2 で割り切れる必要があるという要件が追加されます。Y 解像度を 400 に変更すると、問題が解決します。
何らかの理由で、元の解像度 1500 x 399 を維持したい場合は、最初にアニメーションを PNG シーケンスとしてレンダリングする必要があります。PNG 形式には、幅と高さに関するこの制限はありません。もちろん、再生可能なムービーはありません。
したがって、ムービー (MP4 など) を作成するには FFMPEG が必要です。一連の画像からムービーを作成するには、次のコマンドが必要です。
ffmpeg -f image2 -r 24 -i %04d.png test.mp4
-f image2
specifies the filter to convert from images to movie-r 24
sets the framerate to 24 fps-i %04d.png
specifies the input as a 4 digit number, followed by .png, e.g. 0001.png, 0002.png, ...test.mp4
specifies the output file.
3.2.5. 可変フレームレートを確認する¶
次のコマンドは VFR をチェックします。ビデオフィルター vfrdet を使用します。
ffmpeg -i test_input.mp4 -vf vfrdet -f null -
出力は画面に送られます。 VFR パラメータは、可変フレーム レートの割合を示します。括弧内は、VFR (この例では 0) と CFR (この例では 532) のフレーム数です。以下を参照してください。 1
[Parsed_vfrdet_0 @ 000001f8b3902e80] VFR:0.000000 (0/532)
脚注
- 1
VFR(Variable Frame Rate): 可変フレームレート、CFR(Constant Frame Rate): 固定フレームレート