おなじみチュートリアルシリーズです。
内容としてはいたって実用的なので何かしら役に立つと思います。
はじめに
自動変換機能を備え、ニコニコ動画やYouTubeのダウンロードに便利なCraving Explorerですが、初期状態での変換機能のエンコード速度はあまり速くはありません。
これは、変換に使用しているffmpegが汎用性重視でビルドされており、各CPUの拡張命令に最適化されていないためです。
よって、ffmpegを最適化ビルドに置き換えることで変換速度をかなり高速化させることができます。
また、大部分のFLVファイルは音声形式にMP3を使用しているので、これを利用して瞬時にMP3を取り出す方法も解説します。
ffmpegの入手と置き換え
本来ソースコードからビルドするのがベストですが、環境構築やライブラリの入手でまる2日以上かかるのでここではビルド済みのバイナリを拝借します。
ソースコードからビルドしたい人は、お気に入りの動画を携帯で見よう: FFmpegコンパイルとか、猫とモブログと動画ブログのブログとか、M.a.Factory社長日誌 : プログラムを参考に頑張ってください。
最新のffmpegの最適化ビルドはお気に入りの動画を携帯で見よう: FFmpegダウンロードからダウンロードできます。
ここから自分のCPU用のビルドをダウンロードして適当な場所に解凍します。
解凍したら、CravingExplorerのインストールフォルダ(デフォルトでC:\Program Files\CravingExplorer)のlibフォルダを開き、元のffmpeg.exeを適当にリネーム(ffmpeg.exe.orgを推奨)して、解凍したffmpeg.exeをコピーします。
convert.xmlの書き換え
次に、インストールフォルダのtemplateフォルダにあるconvert.xmlをエディタで開き、各項目のCommandLineタグを書き換えていきます。
特にMP4関連以外のコマンドラインは最低限過ぎるので全体書き換えた方がよいです。
重要な点としては、-vcodec ?b ?acodec ?ab ?ac ?ar を明記し、おまじないで-aspect 3:4を記述するようにします。
-vcodec はlibxvidまたはmpeg4、-bは512kくらい、-acodecはlibfaacかlibmp3lame、-abは128kくらい、-acは2(大抵の動画はモノラルだが念のため)、-arは44100がデフォルト値です。
また、MP3に関しては単に-acodec copyとすることで無駄なエンコードをしないようにします。
詳しくは、最新FFmpeg - MobileHackerz Knowledgebase Wikiを参考にしてください。
参考までに私のconvert.xmlを貼り付けておきます。
<?xml version="1.0" encoding="UTF-8" ?>
<Convert version="1.0">
<Movie>
<Item>
<DisplayName>変換無し</DisplayName>
<Accelerator>N</Accelerator>
<ActionName>flv</ActionName>
<CommandLine></CommandLine>
<FileExtension>flv</FileExtension>
<BeforeAction></BeforeAction>
<AfterAction></AfterAction>
</Item>
<Item>
<DisplayName>AVI(libxvid 512k/libfaac 128k stereo)</DisplayName>
<Accelerator>A</Accelerator>
<ActionName>avi</ActionName>
<CommandLine>-vcodec libxvid -b 512k -aspect 3:4 -acodec libfaac -ac 2 -ar 44100 -ab 128k</CommandLine>
<FileExtension>avi</FileExtension>
<BeforeAction></BeforeAction>
<AfterAction></AfterAction>
</Item>
<Item>
<DisplayName>MPEG(mpeg4 512k/libfaac 128k stereo)</DisplayName>
<Accelerator>E</Accelerator>
<ActionName>mpeg</ActionName>
<CommandLine>-vcodec mpeg4 -b 512k -aspect 3:4 -acodec libfaac -ac 2 -ar 44100 -ab 128k</CommandLine>
<FileExtension>mpg</FileExtension>
<BeforeAction></BeforeAction>
<AfterAction></AfterAction>
</Item>
<Item>
<DisplayName>MP4(iPod)</DisplayName>
<Accelerator>P</Accelerator>
<ActionName>mp4-ipod</ActionName>
<CommandLine>-vcodec mpeg4 -b 1200k -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x240 -aspect 3:4 -acodec libfaac -ab 128kb ?ar 44100</CommandLine>
<FileExtension>mp4</FileExtension>
<BeforeAction></BeforeAction>
<AfterAction></AfterAction>
</Item>
<Item>
<DisplayName>MP4(iPod - iTunes に自動登録)</DisplayName>
<Accelerator>I</Accelerator>
<ActionName>mp4-ipod-itunes</ActionName>
<CommandLine>-vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x240 -aspect 3:4 -acodec libfaac -ab 128kb ?ar 44100</CommandLine>
<FileExtension>mp4</FileExtension>
<BeforeAction></BeforeAction>
<AfterAction>RegistorITunes</AfterAction>
</Item>
<Item>
<DisplayName>MP4(PSP)</DisplayName>
<Accelerator>P</Accelerator>
<ActionName>mp4-psp</ActionName>
<CommandLine>-vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x240 -r 30000/1001 -f psp -aspect 3:4 -acodec libfaac -ab 128kb -ar 44100</CommandLine>
<FileExtension>mp4</FileExtension>
<BeforeAction></BeforeAction>
<AfterAction></AfterAction>
</Item>
<Item>
<DisplayName>MP4(NW-A800)</DisplayName>
<Accelerator>N</Accelerator>
<ActionName>mp4-nw-a800</ActionName>
<CommandLine>-vcodec mpeg4 -b 796kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x240 -r 30000/1001 -f psp -aspect 3:4 -acodec libfaac -ab 128kb -ar 44100</CommandLine>
<FileExtension>mp4</FileExtension>
<BeforeAction></BeforeAction>
<AfterAction></AfterAction>
</Item>
</Movie>
<Music>
<Item>
<DisplayName>WAV</DisplayName>
<Accelerator>W</Accelerator>
<ActionName>wav</ActionName>
<CommandLine>-ac 2 -ar 44100</CommandLine>
<FileExtension>wav</FileExtension>
<BeforeAction></BeforeAction>
<AfterAction></AfterAction>
</Item>
<Item>
<DisplayName>MP3</DisplayName>
<Accelerator>M</Accelerator>
<ActionName>mp3</ActionName>
<CommandLine>-acodec copy</CommandLine>
<FileExtension>mp3</FileExtension>
<BeforeAction></BeforeAction>
<AfterAction></AfterAction>
</Item>
<Item>
<DisplayName>MP3(iTunes に自動登録)</DisplayName>
<Accelerator>N</Accelerator>
<ActionName>mp3-itunes</ActionName>
<CommandLine>-acodec copy</CommandLine>
<FileExtension>mp3</FileExtension>
<BeforeAction></BeforeAction>
<AfterAction>RegistorITunes</AfterAction>
</Item>
</Music>
</Convert>
CravingExplorerを再起動してテスト
ここまでの作業が完了したら、CravingExplorerを再起動して変換をテストします。
ちゃんとパーセンテージが表示されるようであれば成功です。
質問はコメント欄で受け付けておりますのでご自由にどうぞ。