【誰得】映像ファイルと音声ファイルを一括で結合するバッチファイルを作ってみた(Windows コマンド)

1.概要

自分は編集した動画の映像と音声を別々で処理することが多く、それらのファイルをGUIで一個一個処理するのが面倒だったので一括で結合するバッチファイルを作ってみた。
検索しても同じことを考えている人が少なかったようで情報があまりなかったので作ってみた次第。
基本的には作った映像と音声を結合してブルーレイにオーサリングする目的で使っている。

2.処理内容&処理条件

  1. 同じディレクトリ上の映像と音声を一括で結合(Merge)する。

  2. 結合するファイルは同じファイル名の映像ファイルと音声ファイル。
    例:
    「動画1.264」という映像ファイルと「動画1.m4a」という音声ファイルを、「動画1.mp4」に結合することができる。
    同じ拡張子の似たようなパターンがある場合はそれもまとめて処理できる。

  3. 処理対象となる映像ファイルの拡張子は「.264」、音声ファイルの拡張子は「.m4a」。(バッチファイルをいじって他の拡張子に変更可)

  4. 今のところ「M2TS」か「MP4」に結合できる。
    FFMPEGとtsMuxerの実行ファイルが必要なので、同じディレクトリに置くかパスを指定してください。

  5. 結合するファイルはカレントディレクトリの一個下の"拡張子"ディレクトリに作成される。

  6. 完了したら元ファイルはカレントディレクトリの一個下の"完了"ディレクトリに移動される(バッチファイルを再度実行した際に上書きを防ぐため)。

3.作ったバッチファイル

上記の処理条件を満たした映像ファイルと音声ファイルが置かれたディレクトリにバッチファイルを設置します。
上で述べたように、FFMPEGとtsMuxerの実行ファイルが必要なので、同じディレクトリに置くかバッチファイルをいじってパスを指定してください。
ダブルクリックして実行すると処理内容の候補が出ると思います。
結合したいファイルに応じて番号を入力すると自動で処理が行われるようになっています。
処理対象の拡張子を変えたい場合は、
映像ファイルは「%%~nF.264」を「%%~nF.任意の拡張子」に
音声ファイルは「%%~nF.m4a」を「%%~nF.任意の拡張子」に
変更して使ってください。

4.既存の問題

自分はほぼ困ってないですが、このバッチには欠点もあります。

  1. 複数の拡張子を指定して処理できない
    映像ファイルと音声ファイルでそれぞれ一つの拡張子しか指定できない。
    バッチファイルはfor文で書いてるので、それを複数用意すれば一応対応は可能。

  2. tsMuxerのコマンド処理が独特
    他の拡張子を指定したい場合にバッチファイルの書き換えに時間がかかることがある。

  3. バッチファイル単体では使えない
    FFMPEGとtsMuxerを用意してください。

  4. MKVに対応していない
    MKVToolNixを用意してコマンドを書き足せばできます。
    自分は使わないので書いていません。

  5. 処理済みのファイルがそのまま処理されてしまう
    後からバッチファイルを再度実行した場合に処理済みのファイルが再度処理されてしまう(処理済みのファイルを同じフォルダに残しているため)。
    完了したファイルを別のフォルダに移すことで対応。

5.まとめ

とりあえず使えそうだったので公開します。
コメントなどしていただければ励みになります。

・バッチファイル更新履歴
23/07/06
完了したら元ファイルをカレントディレクトリ下の「完了」フォルダに移動するように変更(バッチファイルを再度実行した際に上書きを防ぐため)。
23/07/15
特殊文字をエスケープするように変更した。

この記事が気に入ったらサポートをしてみませんか?