« | »

2011.05.25

iPad2用にx264でバッチエンコード変換

iPad2用の動画変換方法として携帯動画変換君(ffmpeg)を使ったiPad2用動画変換設定を作ってみたが、TSファイルをffmpegでエンコードすると結構音ズレが起こるような気がします。
(最新版ffmpegだとどうか判らないけど・・・)

過去にもTSファイルの処理としてffmpegを使ったバッチを作りエンコードしていたのだけど、いざ見ようとして音ズレしててがっくり、ということが何度かあった。
分離して結合だとほぼ音ズレなしでエンコ可能みたいなので、今はx264+NeroAACEnc+mp4Boxで変換するようにしています。
(全部フリーソフト。作者様に感謝を。)
幸い、従来手順で変換していたファイルがiPad2でも再生できたので参考までに。

手順としては以下。

1、TsSplitterで番組情報を切り抜き。

2、BonTsDumuxでm2v+WAVに変換。

3、1で作ったm2V+WAVのファイル名をAviSynthに埋め込み、同じフォルダに設置。

AviSynthはシンプルに、AutoDeintのインタレ解除とLanczosResizeのサイズ変更のみ。
ロゴ除去とかはしてません(よくわからん・・・)。

SetMTMode(2,0)
LoadAviUtlInputPlugin(“C:Program FilesAviSynth 2.5pluginsm2v.vfp”, “MPEG2VIDEO”)
LoadPlugin(“C:Program FilesAviSynth 2.5pluginswarpsharp.dll”)

v=MPEG2VIDEO(“TestSauce.m2v”)
a=WavSource(“TestSauce.wav”)
AudioDub(v,a)

AutoDeint(“blend”)

LanczosResize(1280,720)

return last

4、動画をx264.exeで、音声NeroAacEnc.exeでエンコード後、Mp4Boxで結合。

エンコバッチのベースはこんな感じ。

@echo off
rem 動画X264エンコード
C:Utilityx264x264.exe –profile high –level 3.1 –crf 20 –qpmax 28 –qpmin 7 –aq-mode 1 –cqm jvt –direct auto -o “C:EncodeWorkTestSauce(1280×720 HIGH).mp4” “C:EncodeWorkTestSauce.avs”

rem 音声AACエンコード
C:UtilityNeroAACCodecwin32neroAacEnc.exe -if C:EncodeWorkTestSauce.wav -of C:EncodeWorkTestSauce.aac -br 128000 -2pass -lc

rem MP4BOXで結合
C:UtilityMP4BoxMP4Box.exe -add “C:EncodeWorkTestSauce(1280×720 HIGH).mp4″#video -add “C:EncodeWorkTestSauce.aac”#audio -new “C:EncodeTestSauce(1280×720 HIGH).mp4”

結構面倒ですが、実際には運用状況に合わせて

  • 特定フォルダのTSファイルを一気に処理
  • 先に見たい特定タイトルを別テキストファイルに書いておいて優先してエンコード
  • AviSynthを自動作成
  • iphone/PSP用兼チェック用にffmpegで480×272の縮小版を作る
  • エンコ後にm2v+WAV等の中間ファイルを削除、元ファイルを保存フォルダに移動

という機能を盛り込んだ?VBScriptを別途作って、スクリプト内から上のバッチコマンドをWScript.Shellで呼び出しており、時間起動または手動で動かしています。

SVGA未対応とかエラー処理とかしてなかったりとあってまだ完全手放しではできてないんで、まだスクリプトは公開しませんが、スクリプト動かせばPC/iPad2用の1280×720とiPhone4/PSP/sh-03B/sh-01A用の480×272の2種類の動画を一気に作れるようにできるので結構省力化は出来ているかと思います(というか手でやるのが面倒すぎたのでスクリプト作ったんですが)。

後はPentiumDualCoreE5200で30分アニメ1本で1時間半ほど変換にかかってるので、もっとエンコ速度速いPCにしたいところですが、iPad2買っちゃったし今の録画・視聴ペースには釣り合ってるのでまあ急がなくてもいいかな、と。
とはいえ、SandayBridgeのCorei7にしたら同じ処理でも半分以下の時間でエンコ終わりそうなんで結構迷ってます・・・

にほんブログ村 PC家電ブログ デジモノへ
にほんブログ村


Related Articles:

 

Comment & Trackback

Comments and Trackback are closed.

[…] iPad2用にx264でバッチエンコード変換 […]