PLAY-YAN micro 向け「携帯動画変換君」の設定

携帯動画変換君の設定を少しつづ弄りながら変換を試して、設定が大体固まってきた。携帯動画変換君のWikiや他の利用者のBlogに書かれていることばかりだけど、自分用のメモとして残しておく。

下準備

まず下準備として、変換のコマンドが記述されているiniを生成する。

  1. 携帯動画変換君(3GP_Converter)のディレクトリにあるSetup.exeを起動。
  2. 『「変換君」設定ファイルセレクター』ウィンドウのリストから「機種別設定:MP4ファイル,PSP向け設定(直接出力)」を選択。
  3. [設定]ボタンをクリック。

これで携帯動画変換君(3GP_Converter)のディレクトリにTranscoding.iniが生成される。このiniには変換時に実行するコマンドが記述されており、内容はDOSシェルのコマンドになっている。

例えば今回生成したTranscoding.iniの初期状態のコマンドは

[Item0]
Title=QVGA/15fps/216kbps モノラル/48kbps
TitleE=QVGA/15fps/216kbps Mono/48kbps
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -title "<%Title%>" -timestamp "<%TimeStamp%>" 《折り返し》
 -bitexact -vcodec xvid -s 320x240 -r 15 -b 216 -acodec aac -ac 1 -ar 24000 -ab 48  《折り返し》
 -f psp "<%OutputPath%>M4V<%RandomNumber5%>.MP4""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -s 160x120 《折り返し》
  -an "<%OutputPath%>M4V<%RandomNumber5%>.THM""

こんな感じになっている。
「Title=」と「TitleE=」がそれぞれ日本語表示と英語表示のタイトル、「Command0=」と「Command1=」が実際に実行されるコマンドにあたる。

携帯動画変換君は動画変換のためのフロントエンド(GUI)であって、実際に変換を行っているのは「Command0=」*1の行に載っている「<インストールディレクトリ>\cores\ffmpeg.exe」という訳*2
オプションの意味について調べていくとffmpeg.exeの調査をもっと行わないといけないので今回はパスで。この設定のままで変換すれば、もうそのままSDカードに放り込んでPLAY-YAN microで再生することができる。

Setup.exeで選んだ「機種別設定:MP4ファイル,PSP向け設定(直接出力)」は、元々PLAY-YAN microで再生できるQVGAの設定に近かった(というようなことをどっかで見かけた)から。

PLAY-YAN micro向け設定(現状)

さらに好みの出力にするためTrancecoding.iniを修正する。

  • 不要な*.HTM出力の抑制
  • ファイル名を「MP4_変換元ファイル名.MP4」

俺が良く使う[Item10]の「QVGA/30fps/QB10 ステレオ/96kbps」を例に取るとこんな感じ。

[Item10]
Title=QVGA/30fps/QB10 ステレオ/96kbps
TitleE=QVGA/30fps/QB10 Stereo/96kbps
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -title "<%Title%>" -timestamp "<%TimeStamp%>"  《折り返し》
 -bitexact -vcodec xvid -s 320x240 -r 30 -qscale 10 -acodec aac -ac 2 -ar 24000 -ab 48  《折り返し》
 -f psp -muxvb 512 "<%OutputPath%>MP4_<%InputFileBase%>.MP4""
;Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -s 160x120 《折り返し》
  -an "<%OutputPath%>MP4_<%InputFileBase%>.THM""

変更したのは

  1. 「Command0=」行の出力ファイル名を"<%OutputPath%>MP4_<%InputFileBase%>.MP4"に変える。
  2. 「Command1=」の行をコメントアウト

の二点だけ。
さらにタイトル行も解りやすいよう変更

[Info]
Title=機種別設定:MP4ファイル, PLAY-YAN micro向け設定(直接出力)
TitleE=Model: MP4, for PLAY-YAN micro (Direct, renamed)

ま、この辺は別に変更する必要は無いのでお好みで。

使い方

  1. 携帯動画変換君(3GP_Converter.exe)を起動。
  2. プルダウンから「QVGA/30fps/QB10 ステレオ/96kbps」等を選択。
  3. 「出力先ディレクトリ」を適当に選択。
  4. 携帯動画変換君のウィンドウに変換したいファイル(複数選択OK)をドラッグ&ドロップ。
  5. すぐに変換が開始される。

時々変換できないファイルがあって、

  • 明示的にエラーになる(ログウィンドウに表示される)場合
  • 変換がストップしてプログレスバーが「0%」のままで進まない場合

がある。経験上、

  • 前者の場合、ffmpeg.exeが対応していない変換元ファイル形式
  • 後者の場合、拡張子が無い(ファイル名のピリオドが無い)等、変換元の元ファイル形式の判別が出来ない

というパターンが多いようだ。変換で引っかかった場合、変換元ファイルの確認をお勧めする。

要調査(ffmpeg

  • アスペクト比(縦横比)の変更の仕方(-aspectオプション)
  • 画面上下のトリミングの仕方(-croptop ,-cropbottom オプション)
  • 画面左右のトリミングの仕方(-cropleft ,-cropright オプション)

この辺のオプションは例えば、

  • 元々ナロー画面(4:3)の画面なのにワイド画面(16:9)として出力されている地デジの番組の左右端(ブランクになっている部分)をカットしたい
  • 現状だとどうしても字幕が切れてしまうので、画面下の代わりに画面上をカットしたい

みたいな場合に有効かな、と。
元ファイルの事例毎に試さないといけないので、まとめて一括変換している今は必要に迫られていないので、そこまで調べる気になってない(正直めんどくさそうだし)。
ffmpegのオプションについての記述はこちら。
http://darusuna.sakura.ne.jp/archives/7option/ffmpeg_1/ffmpeg_2.html

【追記】
色数をGBA並に落として容量削減できないだろうか。
GBAの表示可能色数は最大32768色だそうだが、これを越える場合PLAY-YAN側で減色しているはず。もしかするとffmpegで減色するよりPLAY-YANの減色に任せたほうが綺麗だったりする可能性も無きにしも非ず、だけど。

お勧め(?)Videocast

ちなみに動画ソースはPodcastVideocast)を使っている。第一に手っ取り早く動画ファイルが手に入りDVDからリッピングするのも良いけど、手間がかかるしそもそも見たいDVDが無いので。

iTunesで購読しているPodcast

こうして改めて見てみると、「iPod向け」と明示されている番組はQVGAが多いな。別に変換しなくてもよさげ。ただ、そのままだとサイズがやっぱり大きいのでフレームレートを落とす必要はあるけど。

*1:「Command1=」ではPSPでサムネイル表示のため(と思われる)*.THMの出力。

*2:さらにffmpeg.exeはcygwin上で走っている。