2008年1月20日日曜日

PSPの動画の作成

TATOOつかう前、PSPで動画見てたんだけど、B-frameに対応してるか気になって試してみた。

B1つ、サクッと再生
B2つ、これもOK
B3つ、ほうほう、これもいけるのか
B4つ、いや、どんだけ対応してるんだYO!

というわけで、B-frame 16枚までやってみたら、これも大丈夫だった。実際は、規格の制限か、x264の仕様かわからんが10枚ぐらいしかはさんでいなかったが、それでも多い。
CAVAC対応といい、高品位の液晶といい、PSPの動画再生は、ポータブル最強ですね。

ということで作成したスクリプトはコレ
mendocerでは、MPEG4出力(H264でもMPEG4形式)がイマイチなので、ffmpegを用います。

ffmpeg-pspはH264とAACに対応するようにコンパイルしなおしたモノです。


------------- pspenc.sh ------------------
#!/bin/sh

if [ -z "$1" ]; then
echo "Usage: $0 [options] list_of_movie_files"
echo " options: -frame wide|normal"
echo " -bitrate high|low|middle"
echo " -snapshot no. (image only)"
exit 1
fi

# video encoding bit rate
OPTV=" -f psp -acodec libfaac -vcodec libx264 -coder 1 -vlevel 13 -ar 24000 -ab 64000"
OPTF=""
OPTB=" -qmin 28 -qmax 32 -bf 16"
OPTIB=" -f image2 -s 160x120 -vframes 1"
OPTIS1=$OPTIB" -ss 5"
OPTIS2=""

while [ "$1" ]; do
case "$1" in
"-frame" )
shift
case "$1" in
"wide" ) OPTF=" -s 480x270";;
"normal" ) OPTF=" -s 360x270";;
* ) echo "-frame option error. ex. -frame [normal|wide]"
exit 1;;
esac
shift;;
"-bitrate" )
shift
case "$1" in
"high" ) OPTB=" -qmin 22 -qmax 28 -bf 16";;
"low" ) OPTB=" -qmin 28 -qmax 32 -bf 16";;
"middle" ) OPTB=" -qmin 24 -qmax 30 -bf 16";;
* ) echo "-bitrate option error. ex. -bitrate [high|low|middle]"
exit 1;;
esac
shift;;
"-snapshot" )
shift
OPTIS2=$OPTIB" -ss "$1
shift;;
* ) break;;
esac
done

if [ -z "$OPTIS2" ]; then
while [ "$1" ]; do
ffmpeg-psp -i "$1" $OPTV $OPTF $OPTB $1.mp4
ffmpeg-psp -i "$1" $OPTIS1 $1.jpg
shift
done
else
while [ "$1" ]; do
ffmpeg-psp -i "$1" $OPTIS2 $1.jpg
shift
done
fi

2008年1月19日土曜日

TA-100エンコードスクリプト2

TATOO TA-100のエンコードにVBRの再生を試したらいけたのでスクリプト修正しました。
画枠サイズや絵柄で調整しなくていいですしね。
また、Xvidでも B-frameを除けばうまくいくことがわかったので、コーデックをXvidに変更。


#!/bin/sh

if [ -z "$1" ]; then
echo "Usage: $0 [options] list_of_movie_files"
echo " options: -bitrate high|low"
exit 1
fi

# video encoding bit rate
OPTA=" -srate 48000 -oac mp3lame -lameopts cbr:br=96"
OPTF="320:-2"
OPTB="3.5"

while [ "$1" ]; do
case "$1" in
"-bitrate" )
shift
case "$1" in
"high" ) OPTB="2.5";;
"low" ) OPTB="5";;
* ) echo "-bitrate option error. ex. -bitrate high|low"
exit 1;;
esac
shift;;
* ) break;;
esac
done
#OPTV=" -vf scale="$OPTF",expand=320:240,crop=320:240 -ovc lavc -lavcopts vqscale="$OPTB":vmax_b_frames=0 -ffourcc XVID"
OPTV=" -vf scale="$OPTF",expand=320:240,crop=320:240 -ovc xvid -xvidencopts fixed_quant="$OPTB":max_bframes=0"

while [ "$1" ]; do
mencoder "$1" $OPTV $OPTA -o $1.avi
shift
done

2008年1月17日木曜日

TATOO TA-100エンコードスクリプト

TATOO TA-100用に用意した、エンコードスクリプトです。
環境はUbuntu Linuxですが、他のLinuxでもいけます。

使い方は、
tatooenc.sh 動画1.flv 動画2.avi 動画3.mpg
という感じでやると、動画1.flv.avi 動画2.avi.avi 動画3.mpg.avi というファイルが作成されます。
オプションはあまり用意してないけど、スクリプト読んで見てください。
#スクリプトの右端が見えないみたいだけど、コピペで取れるようです。

------------ tatooenc.sh -------------
#!/bin/sh

if [ -z "$1" ]; then
echo "Usage: $0 [options] list_of_movie_files"
echo " options: -frame wide|normal"
echo " options: -bitrate high|low"
exit 1
fi

# video encoding bit rate
OPTA=" -srate 48000 -oac mp3lame -lameopts cbr:br=96"
OPTF="320:-2"
OPTB="192"

while [ "$1" ]; do
case "$1" in
"-frame" )
shift
case "$1" in
"wide" ) OPTF="320:180";;
"normal" ) OPTF="320:240";;
* ) echo "-frame option error. ex. -frame normal|wide"
exit 1;;
esac
shift;;
"-bitrate" )
shift
case "$1" in
"high" ) OPTB="256";;
"low" ) OPTB="192";;
* ) echo "-bitrate option error. ex. -bitrate high|low"
exit 1;;
esac
shift;;
* ) break;;
esac
done
OPTV=" -vf scale="$OPTF",expand=320:240,crop=320:240 -ovc lavc -lavcopts vbitrate="$OPTB" -ffourcc XVID"

while [ "$1" ]; do
mencoder "$1" $OPTV $OPTA -o $1.avi
shift
done

2008年1月16日水曜日

TATOO TA-100レビュー


http://www.shimon.to/tatto/index.html

ちょっと怪しげなMP4プレーヤ、TATOO TA-100

購入時に付属のソフトが使えないとの注意付きでした。

とはいえ、DivXが使えるとの事で、「なんとかなるか〜」と軽い気持ちで購入した。(6k程で安かったし)

購入動機は、電車の中での軽い動画鑑賞。PSPも持っているのですが、あれは大きいのでちょっと恥ずかしかったりします。まあ、これも3.5インチで結構大きいのですけどね。


スペック面で見て行くと、
  • 液晶パネルは480x240(234)
PSPに負けない程の解像度がありますが、ここにはトリックがあって実解像度は160x240でした。というのも、解像度が低いと感じたので、ルーペで画面を拡大してみるとRGB各画素では縦長なのだが、RGP単位でみると横長になる。どうやら、各色を1画素と数えて480画素としているようだ。
また、画素が1ライン毎に半ピクセルずれる千鳥配列になってる(ブラウン管のシャドーマスクみたい)

  • コーデックはDivX
最初はXvidで試したがうまくいかなかったので、mencoderのlavcコーデックを試すとうまく行った。ffmpegでは試して無いけど、多分うまくいくのだろう(linux使いなもので)。

  • 動画解像度は320x240
試したのは480x240、480x234、320x240、320x234、320x180の解像度
480x・・・のパターンは画面幅が2/3程度になってしまう。360x234も幅が少し小さくなってしまう。360x180も同様に幅が小さくなるようだ。640x480はサポートも再生もできない。
完全に画面の液晶を全部使えるのは320x240だけのようだ。また、アスペクト比も1:1に固定されてる様だ。
  • JPEG画像は、640x480、320x240でOK
どちらも全画面に表示される。解像感はあまり差異がない。モノクロJPEGはNG、480x360は小さく表示される

  • ビデオ入力はおもしろそう(^^)
この製品の最大といえる特徴なんですけど、試してないのです。エンコードはPCでやった方が早いしね。

エンコードしてみたら、2.5MB/分ぐらいのレートで、鑑賞に耐える(字幕は読めないけど)ので、電車での暇つぶしの用は足してくれそう。
解像度に関しては過度な期待はしないほうが良いです。PSP並みなどとは思ってはいけません。