LoginSignup
4
2

More than 5 years have passed since last update.

ffmpegで動画のスプライトシートを生成する

Last updated at Posted at 2017-02-14

動画ファイルからパラパラ漫画用のスプライトシートを生成する方法です。
いつもやり方を忘れてしまうので備忘のため。

スプライトシートのサンプル

コマンド

ffmpeg -i /path/to/movie.mp4 -vf fps=12,scale=600:-1,tile=24x1 -an -vsync 0 -qscale 2 -qmin 1 -qmax 5 ./sheets/%0d.jpg

※ jpg出力だと画質が著しく悪くなる可能性があるのでpng出力のが良いかも。

追記

-qscale オプションでjpgの画質設定が可能。詳しくは後述。

-i オプション

入力ファイル。
素材となる動画ファイルを指定する。

-vf オプション

ビデオフィルター。
エンコード時にかける効果を指定する。

fps フィルター

1秒間あたりのフレーム数を指定する。

# 例) 秒間12フレーム
fps=12

scale フィルター

1フレームあたりの画像サイズを指定する。

# width:height の書式で明示的にサイズを指定
scale=1920:1080

# 片方を `-1` にすると、もう片方の値と元の動画ファイルのアスペクト比にしたがって計算される
scale=600:-1

tile フィルター

fps フィルターで指定した値にしたがって動画中のフレームをタイル状に並べる。

# 例)横24枚・縦1列に並べる
tile=24x1

# 例)横8枚・縦3列に並べる
tile=8x3

-qscale -qmin -qmax オプション

エンコードの品質を設定する。
数値が小さい方が高品質。
-qscale 2 で80%ぐらい?
最大値は 31
25 ぐらいがちょうどよさげ。

# 平均品質を `2` として 最小を `1` 最大を `5` とする
-qscale 2 -qmin 1 -qmax 5

その他のオプション

  • an オプション: 音声を取り除く
  • vsync オプション: おまじない
4
2
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
2