MP4一覧

MP4結合時の音ズレを防止

昨今では動画形式のデファクトスタンダードの一つになりつつあるMP4。

年に数回しかいぢる機会はないんだけど、そういう時に限ってトラブルが起こるもの。
先日2つのMP4ファイルを結合したところ見事に音ズレ・・・

結合前のファイルでズレは発生していないので結合時に問題があるみたい。
結構有名なフリーソフト使ったんだけどなぁ・・・

いつものようにググってみると割と多い症状らしく情報はタップリありました。

てか、これだけ普及してるのに多いんだ・・・
私がMP4を過大評価してるだけなのか?(全然詳しくはないんだけどw)

さて、原因としては映像と音声の長さが微妙に違うことが原因らしい。
続きを読む


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

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


スポンサーリンク