(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【macOS】FFmpegを利用してMP4ファイルから画像データを抽出する

スポンサーリンク

やりたいこと

映像データ(MP4)から写真データを出力する。
尚、FFmpegはインストール済みでコマンドは打てる状態とする。

環境情報
  • macOS 10.15
  • ffmpeg version N-106666 the FFmpeg developers

やり方

動画データ(test.mp4)にピクセルにてサイズ(1920x1280等)を指定した上で以下のように出力先を与えると

$ ./ffmpeg -i test.mp4 -s 1920x1080 -r 1 -q:v 1 -vcodec png Test/%06d.png

以下のような標準出力の後に動画を1秒毎に切り出した画像が出力される。

frame=  333 fps=1.8 q=-0.0 Lsize=N/A time=00:05:32.00 bitrate=N/A dup=0 drop=9600 speed= 1.8x    40 speed=N/A    
video:614727kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown ...

尚、ファイル数はframeに記載されている数値でファイル名は6桁の0詰め数字となる。

$ ls -l Test 
...
-rw-r--r-- ... 000331.png
-rw-r--r-- ... 000332.png
-rw-r--r-- ... 000333.png

以下、補足です。

補足

動画のフォーマット変更で利用されるffmpegですが、動画データを画像データに変換することも可能です。

ただし画像は動画をスクリーンショットしたものと対して変わらないので、利用方法としては画像生成の省力化と言う観点になりそうです。
尚、今回は-rにて毎秒1枚と言う指定をしましたが、引数の数を大きくすることで毎秒2枚や毎秒6枚といった指定も可能です。

以上。