パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。毎日更新を目指す!

x264 でエンコード 上手くいかず

手元の Mpeg2-TS ファイルが溜まってきた。2TB の HDD も無限とも思える容量の気がしていたが、実際、動画関係を保存し始めるとあっという間だ。という訳でもないが、一度 H264 への圧縮にトライしてみようと、調べてみた。フリーでは x264 を使うのがスタンダードらしい。フロントエンドとしては、プラグインが用意されているので、使い慣れた? AVIUTL を選んでみた。

x264 をどこからダウンロードすればいいのか、でちょっと困った。http://x264.nl/ のが最新だろうか。気づかずに、x264.1471.release02.7z をどこからか手に入れてみた。ソースを手に入れて自分でコンパイルする、というのも最新版を手に入れるためにはいいらしいが。この辺が大元か http://www.videolan.org/developers/x264.html 。おっと、音声用に NeroAAC コーデック(NeroDigitalAudio)がいるみたいなので、それもダウンロードしてセッティング。AVIUTL は 99i8 が最新とみて、それをダウンロード。

ここまでが準備で、適当に手元の 1440x1080 な Mpeg2-TS ファイルを H264 へエンコードしてみた。固定品質のデフォルトのパラメータでお気楽に。ただし、再生は VilivS5 を想定しているので、解像度を 1024x576 にしてみた。それでも拙宅の PC だと再生時間の数倍はかかる。で出来てみたものを見てみると、いい感じ。VilivS5 でも再生できた。

で、元のファイルを消したところで、問題に気がついた。音ズレ。途中から(最初の10分あたりですでに)画像と音がバラバラ状態。で、最初から調べていくと、途中で一気に音が飛んでいる。後の祭り状態。別のファイルでも同様にエンコードしてみた。やはり途中で音が飛んでいる。で、元 TS ファイルを DEMUX して音声ファイルを見てみると、画像より時間が1分以上短くなっている。こりゃ駄目だ。しかしながら、AVIUTL の再生ウィンドウでは、最後まで音ズレ分からず。で、DivXエンコードしてみたら、これが音ズレ無し、ということで謎は深まる。

ちなみに、1024x576 な DivX+MP3 の AVI は VilivS5 で、CPU 負荷は高いにせよそこそこ見られる再生ができた。これはこれで使えるかも。ちなみに、全画面再生だと結構滑らかで、それより小さいウィンドウで再生するとカクカクするのは何故だろう。何らかのハードウェアの再生支援機能が働いているのだろうか。

もちろん、DivXエンコードしたものを再び x264 でエンコードすれば、音ズレのない H264 ファイルが得られるが、いろいろな意味でそこまでの手間を掛ける価値はないと思う。映像だけ x264 でエンコードして、別の方法で音声と MUX するというのも考えられるが、これも面倒だ。AVIUTL に D&D して、出力ファイル設定してポン!でエンコードできるようにしたい。

で調べていくと、他にも x264vfw や MPEG-4/AVC Output Plugin for Aviutl というものがあるらしい。上手くいくかどうか試してみることにする。はてさて。

後インタレースの扱いも気になるな。ちゃんと処理されているんだろうか。