PC

ffmpegコマンドで動画ファイルを画像ファイルに変換する

ffmpegコマンドを使用してwmvファイルを画像ファイルに分割します。

また、複数の画像ファイルからwmvファイルを作成する方法も記します。

例としてwmvファイルを利用しますが、aviやmp4でも可能です。

ffmpegのインストール

Ubuntu20.04でffpegをインストールします。

$ sudo apt install ffmpeg

# 対応オプション一覧
$ ffmpeg -h all

# 対応コーデック一覧
$ ffmpeg -codecs

動画ファイルから画像ファイルを作成

下記を実行すると、outputディレクトリにimage_0000.png, image_0001.png...といった連番のpng画像が生成されます。

$ ffmpeg -i input.wmv -vcodec png -r 1 output/image_%04d.png

各オプションは、下記の通りです。

  • -i
    画像に分割したい動画ファイルを指定します。
  • -vcodec
    出力画像のコーデックを指定します。対応するコーデックは$ ffmpeg -codecsで確認が可能です。出力画像としてjpgがほしいならmjpeg、gifがほしいならgifを指定します。
  • -r
    1秒あたりのフレーム数を指定します。入力動画が30fpsのときに-r 30を指定するとすべての画像が利用されます。一方で入力画像が60fpsで-r 30の場合は1コマ置きの画像が生成されます。

画像ファイルから動画ファイルを作成

ouput/下にあるimage_%04d.pngから、out.mp4ファイルを作成します。

$ ffmpeg -y -framerate 5 -i output/image_%04d.png -codec libx264 -pix_fmt yuv420p out.mp4
  • -framerate
    入力する画像のフレームレートを指定します。上記のコマンドでは1秒間に5枚の画像を利用してout.mp4を作成します。
  • -pix_fmt
    エンコーダに渡すピクセルフォーマット。yuv420pを指定しておけば大体OK。
  • この記事を書いた人

たかけの夫。IT系コンサルティング会社に勤務し、主にクラウドや機械学習に関するコンサルティング業務を行う三十路男。IT技術・投資に興味を持ち、家族と楽に人生を楽しみたい人。

-PC
-