ffmpeg、画像に関するメモ
AVS/Expressのavi動画をmpeg1に変換
ffmpeg -r 20(元ファイルのフレームレート) -i file.avi -r 20(生成ファイルのフレームレート) -b 10000k(ビットレート) -an file.mpgpovray等で生成した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.png200は適当な値。ただし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" />