4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ビデオ変換ツールなどメディア処理ツールは有名なもののほとんどはGUIでコマンドを使わないものが多い.コマンドでもメディア処理を行うことが可能で,ffmpegが有名なパッケージの一種だろう.実際あまりにもできることが多すぎるのでここに書き残しておこうと思う.

ffmpegとは

ffmpegは,常に強力で多機能なオープンソースのソフトウェアで,ビデオやオーディオの録画,変換,ストリーミングを行うために広く使用されている.また,ほぼすべてのビデオやオービオフォーマットをサポートしており,多くのプラットフォーム(Windows、Mac、Linuxなど)で利用可能である.本記事ではffmpegの中でメディア処理についてフォーカスする.

ffmpegのインストール

公式サイトからインストーラーをダウンロード
https://ffmpeg.org/download.html

macなら

brew install ffmpeg

でインストールできる.

ファイルの状態を参照

ffmpeg -i input.mp4

ファイルの詳細な情報(ビットレート、コーデック、解像度など)を表示することができる.
このコマンドは input.mp4 のストリーム情報やメタデータなどを表示する.

メディア変換の各種コマンド

ここではさまざまなメディア変換コマンドを紹介する.

ビデオのフォーマット変換

ffmpeg -i input.mkv -codec:v libx264 -codec:a aac output.mp4

入力ファイル input.mkv を MP4 フォーマットに変換し,output.mp4として出力.ビデオコーデックとして libx264 を,オーディオコーデックとして aac を使用している.

オーディオファイルの変換

ffmpeg -i input.wav -codec:a libmp3lame output.mp3

WAVフォーマットをMP3フォーマットに変換する.

オーディオのビットレートを変更

ffmpeg -i input.mp3 -b:a 128k output.mp3

オーディオのビットレートを128 kbpsに設定する.

オーディオのノイズリダクション

ffmpeg -i noisy.mp3 -af "afftdn" cleaned.mp3

ノイズリダクションフィルター afftdn を使用して,noisy.mp3 のノイズを減らし,cleaned.mp3 として出力する.

オーディオのループ作成

ffmpeg -stream_loop 5 -i input.mp3 -c copy output.mp3

このコマンドは input.mp3 を5回繰り返して output.mp3 を作成する.

ビデオのリサイズ

ffmpeg -i input.mp4 -vf "scale=1280:720" output.mp4

input.mp4のサイズを1280x720に変更し,output.mp4を出力する.`-vf はビデオフィルターを指定するオプション.

ビデオからの静止画の抽出

ffmpeg -i video.mp4 -ss 00:00:10 -vframes 1 output.png

video.mp4 から10秒の位置のフレームを1枚抽出して output.png として保存する.

ビデオのトリミング

ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:00 -c copy output.mp4

このコマンドは input.mp4 の1分から2分の間の部分を output.mp4 として抽出する.-c copy はすべてのストリームを再エンコードせずにコピーする.

ビデオのフレームレート変更

ffmpeg -i input.mp4 -r 30 output.mp4

このコマンドは input.mp4 のフレームレートを30fpsに変更して,output.mp4 として保存する.

複数のビデオの結合

file.txt
file 'part1.mp4'
file 'part2.mp4'
file 'part3.mp4'

同じディレクトリに各動画ファイル(part1.mp4,part2.mp4,part3.mp4)を設置し,同じディレクトリに上記のfile.txtを作成する

ffmpeg -f concat -safe 0 -i file.txt -c copy output.mp4

これで part1.mp4, part2.mp4, part3.mp4 が順番に結合され,output.mp4 として保存される.

動画の長さ

ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input_video.mp4

ffprove(FFmpeg プロジェクトの一部)を使えば動画の長さをとってこれる

4
4
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
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?