NW-A808ゲット

最近発売されたソニーiPod みたいなの(酷い言い方)をゲットした。
容量8GBで音楽の他に動画も見れる。

で、音楽や動画の転送には専用ソフトもついてくるが、それに頼ってばかりなのも面白くないので ffmpeg 等を使って自分でファイルを作って転送する手順をメモしておく。

画像ファイル

NW-A808 を PC に接続すると普通にUSBマスストレージとして見える。
無事接続できたら \DCIM\101MSDCF フォルダ以下に jpg などの画像ファイルをコピーすることで NW-A808 のフォトビューアからそれらを見られるようになる。

音楽ファイル

画像ファイルと同様に mp3 や atrac などの対応形式のファイルを置けばいいと思われるが、音声ファイルの場合は付属ソフトの SonicStage を使った方が管理が簡単なのでそっちでやることにした(ぉ

動画ファイル

ffmpegで動画変換

色々試したり調べたりした結果、音声と動画のコデックは以下のような感じにしてやれば見れるっぽい。

ffmpeg \
  -i <入力ファイル> \
  -y -vcodec xvid -aspect 4:3 -s 320x240 \
  -acodev aac \
  <出力ファイル名>.mp4
ffmpeg \
  -i <入力ファイル> \
  -y -vcodec xvid -aspect 16:9 -padtop 30 -padbottom 30 -s 320x180 \
  -acodev aac \
  <出力ファイル名>.mp4

対応の動画ファイルが出来たら NW-A808 を PC に繋いで、\VIDEO フォルダの直下か、1階層分までならフォルダを作ってその下に置けばファイル名をタイトルとして認識できるようになる。

ついでに動画のアスペクト比を毎回確認してオプションを変えるのが面倒なので、勝手に判別して適切なオプションを付けてNW-A808用に動画変換してくれるスクリプトを作ってみた。
ffmpeg-movie-for-NW-A800.sh

#!/bin/sh

## エンコード設定
opt_133="-y -vcodec xvid -aspect 4:3 -s 320x240"
opt_177="-y -vcodec xvid -aspect 16:9 -padtop 30 -padbottom 30 -s 320x180"

## 引数チェック
f_in="$1"; shift
f_out="$1"; shift
if [ -z "$f_in" -o -z "$f_out" ]; then
        echo "usage: $0 infile outfile(*.mp4)"
        exit 1
fi

## 動画情報取得
v_info=$( ffmpeg -i "$f_in" 2>&1 | grep '^  Stream #0.[01]: Video: ' )
v_width=$( echo "$v_info" | perl -pe's/.*, ([0-9]+)x([0-9]+), .*/$1/' )
v_height=$( echo "$v_info" | perl -pe's/.*, ([0-9]+)x([0-9]+), .*/$2/' )
v_aspect=$(( $v_width * 100 / $v_height ))
if [ "$DEBUG" == 1 ]; then
        echo $v_info
        echo $v_width x $v_height
        echo $v_aspect
fi

## エンコード実行
case "$v_aspect" in
        133)
                time ffmpeg -i "$f_in" $opt_133 "$f_out"
                RETVAL=$?
                ;;
        177)
                time ffmpeg -i "$f_in" $opt_177 "$f_out"
                RETVAL=$?
                ;;
        *)
                echo "unknown aspect: $v_aspect"
                exit 1
esac
exit $RETVAL
サムネイルファイルもffmpegで作ってみる
ffmpeg \
  -i <入力ファイル> \
  -f image2 -ss 5 -vframes 1 -s 160x120 -an
  <出力ファイル名>.THM

サムネイルを作る場合は \VIDEO の下ではなく \MP_ROOT\100ANV01 以下に、動画とサムネイルのファイル名が MAV00001.MP4 と MAV00001.THM なるようにリネームして置けばサムネイルが表示できるようになる。