小林 未知数の備忘録
ffmpeg

ffmpeg、画像に関するメモ

  • AVS/Expressのavi動画をmpeg1に変換

                    ffmpeg -r 20(元ファイルのフレームレート) -i file.avi -r 20(生成ファイルのフレームレート) -b 10000k(ビットレート) -an file.mpg
    povray等で生成したpngファイルをつなげてaviを作る場合。非圧縮32-bit RGBのaviファイルを作るときには
                    ffmpeg -r 20 -i file-%3d.png -vcodec rawvideo -pix_fmt rgb32 -an file.avi
  • 動画から静止画を抜き出す

                    ffpmeg -r 20(元ファイルのフレームレート) -i hoge.mp4 -ss 0 (開始時刻(秒)) -t 10 (終点(秒)) -r 20 (1秒あたり何枚抜き出すか) -f image2 hoge%02d.png
    サムネール用の一枚画像であれば
                    ffpmeg -r 20(元ファイルのフレームレート) -i hoge.mp4 -ss 0 (開始時刻(秒)) -t 1 -r 1 -f image2 hoge_tn.png
  • 動画の一部 (時間) を抽出

                    ffpmeg -ss 0 (開始時刻(秒)) -i hoge.mp4 -t 10 (切り出す秒数) hoge2.mp4
    エンコードすれば無難だが-vcodec copyとかやれば速い
  • 動画の一部 (画像) を抽出

    参照
  • WMVファイルをffmpegでMP4に変換(授業とかの動画配信用。音声、動画両方あり)

                    ffpmeg -i hoge.wmv -acodec aac -strict experimental -aq 100 -ac 2 -vcodec libx264 -crf 20 -vsync 1 -vf scale=960(例:横のサイズ):-2 hoge.mp4
  • 動画のサイズがデカイ?ビットレート下げときゃいいやろ

                    ffpmeg -i hoge.mp4 -b:v 100k -vcodec copy -ab 64k -acodec copy hoge2.mp4
  • bmpからepsへRLE圧縮を用いて変換

                    convert -compress rle hoge.bmp hoge.eps
  • epsやpdfからpngへ変換

                    convert -density 200 hoge.eps hoge.png
    200は適当な値。ただしUbuntuでこれをやるにはImageMatickの設定が必要。具体的には/etc/ImageMagick-6/policy.xmlをsudoで以下のように対応する部分を書き換える。
                    <policy domain="coder" rights="read|write" pattern="PS" />
                    <policy domain="coder" rights="read|write" pattern="EPS" />
                    <policy domain="coder" rights="read|write" pattern="PDF" />
                    <policy domain="coder" rights="read|write" pattern="PNG" />