【Linux】MP4Boxコマンド一覧のメモ

MP4BoxはGPACというツール群の中のひとつ。インストールはここを参照。

MP4Boxを使うと3GPP3GPP2MPEG4のファイルに対して、分割、結合、ストリーミング再生用のヒントトラックの作成、特定トラックの詳細情報の表示、メタデータの追加・削除などができる。

本家のドキュメントはここ(英語)。

日本語はここで見つけた。

ヘルプはコマンドでも表示できる。
$ MP4Box –h
でヘルプの種類を表示して
$ MP4Box -h general
などで詳細ヘルプを表示。

・・・英語なのできつい・・・

よく使うコマンドだけメモ。

共通($ MP4Box -h general)

コマンド 説明
-tmp directory 一時ファイルの保存場所を指定。
-out filename 処理後のファイルを新規に書き出す。
-new 新規ファイルの作成を強制。
-3gp

ファイルを3GPP規格準拠に変換。MPEG-4のシステム情報は除去され、3GPP準拠の情報のみ残す。拡張子を '3gp' か '3g2'にするとこのオプションを勝手に使う。 警告:一部のメディア・トラックが除去される事がある。

-brand ABCD[:v] ファイルの主な使用用途を識別する情報を付加。vはバージョンを数値で指定。

ファイルの変換($ MP4Box -h import)

コマンド 説明
-add importfile ファイルを読み込んで指定ファイルにメディアトラックを追加する。
-keep-sys -addオプションで削除されるMPEG-4のシステム情報を残す。
-keep-all -addオプションで追加した場合、MPEG-4と3GPP規格に準拠しないトラックは自動で削除されるが、これらを残すためのオプション。

基本的な使い方は
$ MP4Box -add <読み込むファイル> <読み込んだトラックの追加先>

<読み込んだトラックの追加先>がない場合、自動で作成して追加する。もしくは-newオプションで新規ファイル作成を強制。

ファイルの分割と結合($ MP4Box -h general)

コマンド 説明
-split <秒> 入力ファイルを指定秒単位で分割する。
-split-size <サイズ> 入力ファイルを指定サイズ(kByte)で分割する。
-split-chunk <開始時間>:<終了時間> 入力ファイルの一部を別ファイルに抽出する。時間は秒で指定。
-cat <結合するファイル> 入力ファイルに指定ファイルを結合する。新しいトラックを追加するのではなくて、既存トラックに結合する。MPEG-4のシステム情報は削除するため、残すためには-keepsysオプションを使う必要がある。

3gpp2の動画を0秒から10秒だけ抜き出すときのコマンドはこんな感じ
$ MP4Box -split-chunk 0:10 input.3g2

実行後はinput_0_10.3g2というファイルができる。