MP4結合時の音ズレを防止 「JoinMP4Files 1.0.2.0」

以前の記事に沢山のコメントをいただき、予想外でビックリしておりますw
思いのほか需要もあるようですし、折角ですので要望や不具合をできる範囲で対応致しました。

MP4ファイル結合時の音ズレを防止する為のMP4BOXフロントエンドです。

JoinMP4Files1.0.2.0 ・・・ download

ダウンロードはこちらから。

MP4BOX バージョン0.5 について

(内容をダウンロードページへ移動しました。そちらでご確認ください。)

結合コマンド

若干ではありますが処理速度が向上するようなのでMP4BOXに渡すコマンドを変更しました。

[変更前]

MP4BOX -new “ABC.mp4″ -add “A.mp4:dur=???” -cat “B.mp4:dur=???”

[変更後]

MP4BOX -new “ABC.mp4″ -add “A.mp4:dur=???” -cat “B.mp4”

体感ではあまり変わりませんが・・・(^ ^;
(現在はオプション化されてどちらかを選択できます。)

チャプター機能

リクエストがあったので結合点に自動でチャプターを設定する機能を追加してみました。

ただし MP4BOX でQuickTime形式のチャプターを設定した際にApple系のデバイスで若干の不具合があるそうです。回避策としてはmp4chaps.exeを使用すると良いそうですので、ツールと同じフォルダにmp4chaps.exeがある場合はそちらを優先して使用するようにしました。(なければMP4BOXで設定します)

また、結合前のダイアログで「いいえ」を選択するとチャプターの設定に必要なテキストファイルのみ作成します。
結合後の動画ファイル名が HOGE.mp4 の場合は

  • HOGE.chapters.txt (Nero形式 UTF-8)
  • HOGE.chapters.txt (Nero形式 shift-jis)
  • HOGE.chapters.ttxt (QuickTime形式 UTF-8)

といったファイルが作成されます。
結合点以外にチャプタを追加・削除したい場合や、チャプターに名前を付ける場合にご利用ください。

チャプターを設定するコマンドは、

mp4chaps -i "HOGE.mp4"

です。(同じフォルダにNero形式があればOK)

もしくは

mp4box "HOGE.mp4" -chap "HOGE.chapters.txt" -add "HOGE.chapters.ttxt:chap"

でも可能ですが、この場合は前記の通りApple系デバイスで若干の不具合が発生するようです。
※ 現在 MP4BOX の場合 Apple 形式は使用せず次のようになっております。(不具合回避の為)

mp4box "HOGE.mp4" -chap "HOGE.chapters.txt""

ちなみに、チャプターが設定されているファイルをさらに結合してチャプターを設定すると妙なトラックが残るようなのでお気を付けください。。。

その他

QuickTime形式のチャプタが設定されているファイルを結合する場合にうまく結合されない不具合を修正しました。
その他、ログ出力の不具合など細部を修正しました。

以上、合言葉は「自己責任」でお願いいたしますw

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク

コメント

  1. えいじ より:

    JoinMP4Files1.0.2.0で結合したものをFC2へアップロードすると、変換失敗になります。前バージョンでは失敗しません。たまたまなのか、何か不具合があるのか分かりませんが、今は JoinMP4Files1.0.1.0 に戻して使わせていただいています。

  2. ぬっき~ より:

    @えいじ さま

    ご報告ありがとうございます。

    結合時パラメータを一部変更したのが原因かもしれませんので、次回修正の際に切り替え可能な形にしてみたいと思います。

    PS.誠に勝手ながら若干グレーな雰囲気を含む発言部分を修正させていただきました(^ ^;

  3. たけのこ より:

    動画を結合する際、
    音ズレは全くと言っていいほどなくて
    素晴らしいのですが、
    ファイル1とファイル2を結合するとき必ず
    ファイル1の前に一瞬だけ
    ファイル2の動画の部分が出てきてしまいます。
    これは自分だけでしょうか…?

  4. ぬっき~ より:

    @たけのこ さま

    コメントありがとうございます。

    とりあえず結合して確認してみましたが同じような症状は確認できませんでした(^ ^;

    結合時の問題であればMO4BOXのバージョンによる差があるかもしれませんので、私がテストした環境をあげておきます。(拙作のツールは新版です。)

    ・JoinMP4Files 1.0.3.0
    ・MP4Box – GPAC version 0.5.1-DEV-rev4280+44M git-0f0e3eb

    ちなみに次のようなファイルはうまく結合できない可能性があるので注意して下さい。

    ・コーデックが異なる
    ・フレームレートが異なる
    ・解像度が異なる
    ・チャプターを含む

    他に考えられるのは再生時の問題です。
    私が確認した再生プレーヤーは以下の2つです。

    ・Media Player Classic – Homecinema 1.6.8.7417
    ・VideoLAN VLC media player 2.0.7

    これらでは問題なく再生できました。

    それからツールと同じフォルダに簡易的なログファイルを出力しており、実際にMP4BOXへ渡したパラメータが記載されています。

    Duratioin の値が異様に短くなっているようですと、情報の取得で失敗している可能性がありますので確認してみてください。

  5. みあ より:

    お世話になっております。このツールとても便利ですが、コーデックやフレームレートが異なると映像が見えなかったりとかありますね。でも大変重宝してますのでがんばってくださいませ。

    当方の再生環境;LightAlloy,QuickTime, Umplayerなど
    コーデック:Win7コーデックです

  6. ぬっき~ より:

    @みあ さま

    コメントありがとうございます。

    実際の処理はバックエンドへ丸投げになっているのでMP4BOXの仕様次第なんです・・・

    おっしゃられる通りコーデックやフレームレートが違うと正常に結合できないことが多いようですね。。

    私も無劣化を諦めて再エンコードするコトが結構あります。(^ ^;