やっとHauppauge HD PVRを使って曲がりなりにも5.1ch音声+Full HDのH264ビデオが作れるようになったので、先週録画しておいた「I,Robot」を観てみました。まったく期待してなかったのですが、それほど悪くはなかったです。「いわゆる『恐怖の谷』だよなあ…」と思ったりして。
やはり、5.1の音声はAACとはいえいいものです。こうなると、(Blurayの)TrueHDのマルチ音声で観たいなあ、と思ったりするのですが、SA-CDやDVD-Audioのことを考えると、コンパチプレーヤーは高価すぎて手が出ず、かといってDVDプレーヤを残したまま、Blurayプレーヤやレコーダを追加するのも業腹です。
それはともかく、別取りしたビデオとAAC音声の張り合わせの際のリップシンクの方法です。
前に書いたように張り合わせには、tsmuxerというツールを使いますが、このツールはプレビューができません。そこで張り合わせの際に音声の進み/遅れをどれくらいにするか指定するために別のツールで調べる必要があります。
今回は、手持ちのTMPGEnc 4.0 Xpressを使いました。
下準備として、音声と映像(ビデオ)を別形式に変換しておきます。なお、STBから出力されるAACの音声は32k,44.1k,48kサンプル/秒のいずれも(少なくとも規格上は)あるようですが、いままで48k以外は経験したことはないので、48Kきめ打ちのつもりで作業しています。
音声は、
WAVファイル –(ext_bs)--> AAC(5.1ch) ファイル --(vlc)-->WAVファイル(2ch)
と変換します。張り合わせにはAAC(5.1ch)を使いますが、TMPGEnc 4.0 Xpressが5.1chのAAC音声を読むことができないため、vlcなどを使って、2chにダウンミックスしておきます。フォーマットはWav(48K/ステレオ)が簡単でいいと思います。
ビデオも一度プレビュー用にTMPGEnc 4.0 XpressでMPEG2に変換します。これは高速なPCならば必要ないかもしれませんが、我が家のC2D E6600では、TMPGEnc 4.0 Xpress上でのfull HD/H264のリアルタイム再生が間に合わないためです。プレビュー目的であれば画質はあまり問わないので、312x240 2Mbps程度のMPEG2、1pass CBRで十分です。TMPGEncのMPEG2エンコードは優れていて実時間くらいでエンコードできます(4コアならもっと速いでしょう。余談になりますが、TMPGEncって良くも悪くもMPEG2用だな…とおもいます)。
このプレビュー用のビデオの変換は、fpsがちゃんと守られるならば他のフリーツールでもできるはずです。TMPGEnc 4.0 Xpressは最初にファイル(full HD/H264)を読み込むときにかなり長い時間「黙り込んでしまう」ので、なにかほかのツールを探しています。
この手順で作ったビデオをTMPGEnc 4.0 Xpressの新しいプロジェクトとして改めて読みます。「ビデオの詳細」で音声を上記の手順で準備したWAVファイル(2ch)に変更します。TMPGEnc 4.0 Xpress上でカット編集へ進み、プレビュー再生を繰り返し、音声のずれを変更して、リップシンクを調整します。50msくらいまで追い込めればまあ問題ないでしょう。
で、うまくリップシンクができたときのTMPGEnc 4.0 Xpress上の調整の値を、tsmuxer上で指定すればOKです。
やってみるとわかりますが、映像に対して音声のほうが進んでいる場合は違和感を強く感じますが、音声が遅れている場合はそうでもないです(認知心理学的にもそうなのだそうです)。
最終的に再生する環境にも依存しますが、一般的には再生時に音声よりもビデオのほうが遅れが大きくなりがちなので、迷ったら少しだけ音声が遅れ気味にしておいたほうがよいようです(あくまでも我が家の場合ですが)。