2010年07月一覧

MP4の音ズレを修復してみる

友人に頼まれたシリーズです。

ニコニコ動画用のMP4ファイルを簡単に作れちゃうニコエンコ

「/fix」と入力することで音ズレを修復してくれて重宝してたのですが、
今日現在の最新版ではそれらしい機能が見当たらない。

ついでに複数のファイルを連続して修復したいとのリクエストがあったのでやってみました。

バージョン0.70はPerlで書かれていたので他力本願の本領を十二分に発揮して参考にさせていただき、
Javascript(JScript)で書いてみることに。

流れとしては

  1. 映像のサンプル数を取得
  2. 音声の長さを取得
  3. 上2つからFPSを計算
  4. 映像と音声を分離
  5. 計算したFPSで結合

といった処理を再現。

mp4fix.zip

友人用にニコエンコのフォルダに展開してあげてドラッグ&ドロップするように設定。
処理そのものはすべてMP4Box.exeでやっているのでMP4Box.exe一式があれば動きます。
(0.4.4~0.4.6で動作しました。)

1行目を以下のようにすればMP4Box.exeと同じフォルダにおいてもOK。

var MP4BOX  = './mp4box.exe'; // MP4BOX.EXEの位置

人様に公開するような代物ではないんだけど、ググってみると結構「/fix」がなくて困ってる方も
おられるようなので恥を忍んでアップしてみました(^ ^;

スクリプトってソースの汚さがバレるから嫌w

例によってエラー処理が大雑把なので「動けばいいや」的な大らかな気持ちの方はどうぞ。。。


スポンサーリンク