NW-A808ゲット
最近発売されたソニーの iPod みたいなの(酷い言い方)をゲットした。
容量8GBで音楽の他に動画も見れる。
で、音楽や動画の転送には専用ソフトもついてくるが、それに頼ってばかりなのも面白くないので ffmpeg 等を使って自分でファイルを作って転送する手順をメモしておく。
画像ファイル
NW-A808 を PC に接続すると普通にUSBマスストレージとして見える。
無事接続できたら \DCIM\101MSDCF フォルダ以下に jpg などの画像ファイルをコピーすることで NW-A808 のフォトビューアからそれらを見られるようになる。
音楽ファイル
画像ファイルと同様に mp3 や atrac などの対応形式のファイルを置けばいいと思われるが、音声ファイルの場合は付属ソフトの SonicStage を使った方が管理が簡単なのでそっちでやることにした(ぉ
動画ファイル
ffmpegで動画変換
色々試したり調べたりした結果、音声と動画のコデックは以下のような感じにしてやれば見れるっぽい。
- アスペクト比4:3の場合
ffmpeg \ -i <入力ファイル> \ -y -vcodec xvid -aspect 4:3 -s 320x240 \ -acodev aac \ <出力ファイル名>.mp4
- アスペクト比16:9の場合
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