mkv形式のファイルから字幕や音声トラックを一括で除去する際のメモ

あけましておめでとうございます。えんぞーです。

今年も「えんぞーどっとねっと」をよろしくお願いします<(_ _)>

新年一発目

さて、新年早々またニッチな所を突っつく話になりますが動画ファイルの形式の一つで「MKV(Matroska Video)」という物があります。

簡単にどのような形式なのか説明しますと、動画ファイルの中身に複数の音声トラックや字幕を入れ込んでおけるというものです。

複数の音声や字幕は対応プレーヤーであれば任意のものを選択して再生させることが出来るので、DVD がそのまま動画ファイルになったような感じになります。(メニューとかはありませんけども)

今回はその MKV ファイルから特定の字幕や音声トラックを消す方法をご紹介。

追記

この記事で紹介している「mkvtoolnix」は古いバージョンなので現在のバージョンですと見た目が異なるかと思います。

ただ、やることは変わっていないかと思いますのでやり方だけわかると問題無いはずです。

ちなみに、現行バージョンですとメニューの「Multiplexer」→「コマンドラインを表示」でコマンドラインが表示されます。

それとフォルダ内にあるファイルでバッチファイルを作れる簡単なエクセルファイルを置いておきます。

コマンドライン部分は自分で指定してそこに記入されるファイル名をフォルダ内のファイルで置換する単純なものですが、使う人いるようでしたら使ってください。
(当然ですが自己責任でお願いします。再配布等は禁止でお願いします)

フォルダにあるファイル一覧でコマンドラインつくーる:ダウンロード

使用ソフトのダウンロードとインストール

mkvtoolnix — Matroska tools for Linux/Unix and Windows

使用するソフトはこの「mkvtoolnix」のみになります。

今回は Windows での説明になりますが、基本的に変わりは無いかと思いますのでお使いの OS に合わせてダウンロード・インストールして下さい。

起動すると ↓ このようなウィンドウが出てきます。(ちなみに実行ファイルは mmg.exe になります)

screenshot_79

基本的な削除の流れ

実はとても簡単で改まって説明するほども事でもなかったりします^^

まずは起動したウィンドウに対象の動画ファイルをドラッグ&ドロップするか「追加」ボタンを押してファイルを読み込みます。

すると ↓ の画像のようにファイル情報が出てきてそのファイルに入っている音楽トラックや字幕情報が確認できます。

screenshot_81

あとは ② の様にいらないトラックのチェックを外し、③ で保存場所を指定して ④ の開始ボタンを押せばいらないトラックが削除されたファイルの出来上がりです。簡単ですね。

まとめて複数のファイルを処理したいのですけど

一つずつファイルを処理させるのが非効率な場合はファイル ① ~ ③ を終えた時点で「ジョブキューに追加」ボタンを押して処理リストに追加しましょう。

この処理を繰り返して行い、ジョブキューの管理画面でまとめて処理させることが出来ます。

ジョブキューの管理画面はメニューの「MUX」→「ジョブキューの管理画面」から開けます。

screenshot_82

多数のファイルで同じ設定を処理させたい

ジョブキューを使って一括処理させる事は可能ですが、同じ設定の場合に多数のファイルがあると面倒でやってられないという可能性があります。

その場合、手軽にという訳にはいかないかも知れませんが一つの手段としてこのような処理のさせ方も可能です。

処理の概要

一言でいうと、バッチ処理そのものを書いて処理させてしまいます。

先ほどの設定画面 ① ~ ③ まで完了したら「クリップボードにコピー」ボタンを押します。

すると、コマンドラインがクリップボードにコピーされますのでそれをテキストエディタに貼り付けます。

勘の良い人はお気づきになったかと思いますが、このコマンドラインを対象のファイル分作れば良いのです。

そして出来たテキストファイルを「~.bat」というファイル名で保存(ファイル名は何でも良いですが拡張子は bat)します。

念の為、保存する場所は mkvtoolnix をインストールした場所にしましょう。あとは実行させれば記入した行数分の処理を行ってくれます。

screenshot_83 screenshot_84

対象のファイル名を編集する手間が発生しますが、ファイルリストから作成する様にエクセルで作ってしまっても良いですね。

編集箇所は入力と出力の二カ所になるので注意して下さい。

コマンドプロンプトで簡易的にファイルリストを作る場合は dir コマンドで。

dir [場所] /b

こうするとファイル名だけの簡単なファイルリストが表示されます。

とりとめのないまとめ

ここまで書いて何ですが、新年一発目にする様なネタでは無いですね…。

知人からこの相談を受けたのですが、一括処理って今までやってみたこと無かったのでメモしておきたいと思いました。

実際にはエクセルでファイルリストを貼り付けるとバッチコマンドが出来る様にVBAを組み込む所までやったのですが、それはまた機会があれば。

mkvtoolnixに関してはメジャーなソフトだと思うので使い方は様々なサイトで解説されています。興味を持った方は調べてみて下さい。