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。