4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

FFmpegの使い方メモ

Posted at

FFmpegの簡単な使い方

音声と動画ファイルをマージする必要があったため、調査結果のメモを残しておきます。

データは以下の形式を想定します。

  • video[X].mp4
    ビデオファイル(映像のみ)

  • audio[X].mp4
    音声ファイル

形式変換

ファイル形式の変換

ffmpeg -i video.mp4 video.avi

映像と音声の結合

長さが同じ、または長いほうに合わせる場合

ffmpeg -i video.mp4 -i audio.mp3 output.mp4

時間の短いほうに合わせる場合(-shortest)

ffmpeg -i video.mp4 -i audio.mp3 -shortest output.mp4

高速に結合したい(-copy)

-copyを付けると、ほぼ一瞬でおわります。

ffmpeg -i video.mp4 -i audio.mp3 -shortest -c copy output.mp4

音声の結合

時間をずらして結合

audio1.mp3 の開始5000ミリ秒後から audio2.mp3を結合する。

ffmpeg -y -i audio1.mp3 -i audio2.mp3 -filter_complex "[1]adelay=5000|5000[a1]; [a1]amix=inputs=2:duration=longest[a]" -map "[a]" output.mp3

filter_complexはセミコロン単位に分解して考えればよい。

  • [1]adelay=5000|5000[d1]
    [1]は2つめの入力ファイル(audio2.mp3)を指す。adeleayで開始時間を左右チャンネルともに5000ミリ秒に指定。フィルタ後のストリーム名を[d1]とする。

  • [d1]amix=inputs=2:duration=longest[a]
    [d1]を利用して結合する。durationで長いほうにあわせる。短いほうに合わせる場合はshortest。

映像の結合

2つのファイルを並べる

ビデオファイル2つを横に並べる。
| video1.mp4 | video2.mp4 |

ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex "hstack" output.mp4

3つ以上のファイルを並べる

ビデオファイル3つを横に並べる。
| video1.mp4 | video2.mp4 | video3.mp4 |

ffmpeg -i video1.mp4 -i video2.mp4 -i video3.mp4 -filter_complex "[0:v][1:v][2:v]hstack=inputs=3[v]" -map "[v]" output.mp4

タイル以外の並べ方

video1のファイルの横幅は1920pxなので、video2,3の横幅は半分の960を設定。

| <----- video1.mp4 ------> |
| video2.mp4 | vodeo3.mp4 |

ffmpeg -i video1.mp4 -i video2.mp4 -i video3.mp4 -filter_complex "[1:v]scale=960:-1[left]; [2:v]scale=960:-1[right]; [left][right]hstack[bottom]; [0:v][bottom]vstack" output.mp4

参考

FFmpegの基本的な使い方

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?