ffmpeg を使った PSP 用動画変換 メモ

#!/bin/sh
# PSP用に動画を変更するよ
# 入力ファイルのフォーマットはffmpeg が勝手に判断してくれるよ
# ファイルサイズを押さえつつそこそこ気分よく見えるようにパラメータ設定
# 変換時間は 2時間のハイビジョンmpegの変換で30分ぐらい Xeon E5630(4コア 2.53Ghz) 

SOURCE_FILES=$*

for source_file in $SOURCE_FILES; do

 start=`date`

 # 出力ファイル名の作成
 bname=`echo "$source_file" | sed 's/\.[^.]*//'`
 mp4_name=$bname.mp4
 jpg_name=$bname.jpg
 echo In: $source_file Out: $mp4_name $jpg_name

 # サムネイルの作成
 ffmpeg -i $source_file \
  -f image2 -ss 85 -vframes 1 -s 160x120 -an $jpg_name

 # 動画変換
 ffmpeg -i $source_file \
  -ac 2 -ar 48000 -acodec libfaac -ab 128k -vol 256\
  -s 480x272 -vcodec libx264 \
  -aspect 16:9 -f psp \
  -b 768k -bt 768k \
  -threads 0 \
  -vpre hq -vpre main -level 21 -refs 2 \
  $mp4_name

 end=`date`
 echo $source_file Start: $start  End: $end
done


ffmpeg のパラメータ

 ffmpeg
-i 入力ファイル
-f psp 出力フォーマット
-b 768k ビットレート
-s 480x272 動画のサイズを横×縦
-aspect 16:9 アスペクト比
-ab 128k オーディオの全チャンネル合計(昔はチャンネルごとだった)のビットレート
-ac 2 音声のチャンネル数
-ar 48000 サンプリング周波数
-acodec libfaac 音声コーデック
-vol 256 通常の音量を256として音量
-vcodec libx264  ビデオコーデック
-bt 768k 
-threads 0 
-vpre hq
-vpre main
-level 21
-refs 2