ぬうぱんの備忘録

技術系のメモとかいろいろ

作った曲一覧はこちら

epsの連番静止画を動画にする

この記事は

Ubuntuでeps(任意のベクトル画像)シーケンスを動画に固める方法のメモです。

まずはpng

image magick使ってepsをpngにする.
シェルスクリプト書いてまとめて変換すればいいんじゃないですかね?
bashなら以下の要領

#!/bin/bash

if [ ! $# -eq 2 ]; then
    echo "useage : $0 <source_eps_directory> <destination_png_directory>"
    exit 0
fi

SRCDIR=`readlink -f $1`
DSTDIR=`readlink -f $2`

SRCS=$(find $SRCDIR -name "*.eps" | sort)
for i in $SRCS
do
    basename=${i##*/}
    stem=${basename%.*}
    DST=$DSTDIR/$stem.png
    echo $i
    echo $DST
    convert -alpha deactivate $i -resize 640x480 $DST
done

exit 0

入力ディレクトリを出力ディレクトリを引数で指定する。
注意点としては

  • 画像サイズはVGA
  • 密度設定(-density)を書いてないのでちょっと汚い
  • 背景が透過にならないようにアルファチャンネルは切ってある

pngシーケンスをmp4に

h264圧縮可能なffmpegはインストールされているものとして以下のコマンド

ffmpeg -r 60 -i xxx_%5d_xxx.png -r 60 -vcodec h264 yyy.mp4
  • %5dは連番が埋まる所。printfとだいたい同じ指定方法で、この場合は5ケタ0パディングの連番が入る。
  • コーデックにはh264を指定。自動的にx264が使われるはず。
  • フレームレートは60

感想

ffmpegにeps食べさせたり出来ないんですかね?

参考

qiita.com