« 【Intel】CPU Core i7 920 | トップページ | ヒロイック・エイジ »

2009年3月 2日 (月)

MP4動画ファイルの扱いについて

【はじめに】

最近やたらとプッシュされてきているMP4(H.264)。自分も随分と世話になり、もはや動画圧縮ならこれしかないという位置付けにまできているのだが、PC分野ではまだまだハードウェア支援も完璧とは言えず(一応製品として出てはいるが完璧とはほど遠い)、自由度を考えても激重のソフトウェアエンコが主流なのは当分変わりそうもない。

と、前置きはこれくらいにして今回の本題。このMP4ファイルなのだが、確かにH.264(x264)は圧縮面において他を寄せ付けないクオリティを持っており、その質も日々進化し続けている。しかしその反面、AVIなどに比べると色々と取り扱いが面倒な点があるのも事実であり、自分も導入当初は何かとググりまくった一人だ(というか今も結構ググっているのだが)。

そこで今回、自分が何かと壁に当たった点についてここにまとめてみようと思う。あくまで初心者用のため当たり前なことが多いだろうが、少しでも自分のようにつまずいてしまった人の助けになれば幸いだ。

 

【MP4(映像)ファイルの音声合成(MUX)】

まずは基本のMP4+AACのMUX方法から。これは当然の如くMP4Boxを使うのだが、問題は使い方。Yambという便利なGUIソフトがあるのでこれを導入する人が多いと思うのだが、なぜか自分の環境(Vista 32bit)ではうまく動作してくれなかったため、そういう人のために常人にはかなり敷居の高い(と思われる)コマンドラインでの実行をできるだけ簡単に説明したいと思う。

手順

1 まずはコマンドプロンプト(コマンドライン)を実行する。これは左下のウィンドウズボタン→アクセサリフォルダ内にある。

1 で、こんな感じの画面になったと思う。

2 2 今度はここにMP4Boxを実行するためのコマンドを記述する。だいたいの人はここでつまずいてしまうだろう。

…いや自分がそうだっただけなんだが。

とりあえず意味がわからずとも、次のようにしてみればやりたいことはできるとおもうのでやってみて欲しい。

まずはMP4BoxをDLしたら「C:\Users\(ユーザー名)\MP4Box-0.4.5\MP4Box.exe」となるようにDLしたフォルダの名前変更&移動。別にこれでなければ駄目というわけでもないのだが、以下の説明を簡略にするため今はこうしておいて欲しい。なおMP4Boxはver.0.4.5を使用した場合を想定している。

次に、いきなりコマンドラインに書き出すのではなく、メモ帳を開いてここに書きたいコマンドを書いてみる。これはコピペや修正をしやすくするためだ。メモ帳もアクセサリフォルダにあると思うので、何も考えずそこに「MP4Box-0.4.5\MP4Box.exe -add "(場所\ビデオファイル名).mp4"#video -add "(場所\オーディオファイル名).aac"#audio -new "(場所\新ファイル名).mp4"」をコピペ。()には「D:\動画\インデックス」など、合成したい素のmp4とaacの所在を記載する(わからなかったら対象ファイルを右クリック→プロパティ→場所をコピペし、そこに\ファイル名を書き足せばOK。なおカッコ自体は記載しないこと)。

メモ帳に書き出したコマンドをコマンドラインにコピペ。

例としてはこんな感じ。

3_2

この場合は「Dドライブの動画フォルダにあるインデックス.mp4とインデックス.aacを合成し、インデックスmux.mp4というファイルを同フォルダに生成する」ことを意味している。なお上書き対策のためにも生成ファイル名は合成前の映像ファイル名と変えておいた方がいいだろう。

あとはこれでエンターキーを押すだけでMUXは完了する。

 

【aacファイルの生成-neroAacEncの利用-】

合成するためのaacファイルを生成するための説明。これも基本はコマンドラインを使用するが、aacファイルの生成くらいなら色々なフリーソフトが対応しているので、どうしてもneroAacEncを使いたい人だけ見て欲しい。まあ例によって基本だけなのだが。

手順

1 まずMP4Boxの時と同様にコマンドラインを開く。

2 次にDLしたneroAacEncのフォルダ名を「neroAacEnc」にしてCドライブ直下に置く。

3 メモ帳開いて「neroAacEnc\neroAacEnc.exe -q 0.365 -if (場所\入力ファイル名).wav -of (場所\出力ファイル名).aac」をコピペ。

4 ()に入力したいwavファイルの所在と出力したいファイルの所在を記載(カッコ自体は記載しない)。

5 3で赤文字になっている部分=変換オプションなので、ここを自分の好きなように変える。とりあえず基本はこんな感じ。

 

VBR

AAC 300~kbps="-q 0.740"

AAC 250~kbps="-q 0.625"

AAC 190~kbps="-q 0.515"

AAC 160~kbps="-q 0.430"

AAC 125~kbps="-q 0.365"

AAC 100~kbps="-q 0.315"

AAC 65~kbps="-q 0.220"

AAC 56~kbps="-q 0.190"

AAC 48~kbps="-q 0.170"

AAC 32~kbps="-q 0.125"

 
LC

(ex)AAC-LC 320kbps="-lc -br 320000"

 

HE

(ex)AAC-HE 128kbps="-he -br 128000"

 

HEv2

(ex)AAC-HEv2 48kbps="-hev2 -br 48000"

 

6 メモ帳からコマンドラインにコピペ。

例としてはこんな感じ。

4 この場合はCドライブ直下にneroAacEncFinというフォルダを作り、そこに変換したいindex.wavというWAVファイルを移動させた状態で、同フォルダにAACファイルを生成することを意味している。これはneroAacEnc.exeが日本語のフォルダ指定でエラーをはいたため、あえてアルファベット表記のみにしたため(おそらく回避方法もあるのだろうが)。

7 エンターを押して実行、完了。

 

【MP4(動画)ファイルの結合・分割】

これも最初はかなりの人がやろうと思って四苦八苦するところだと思う。またしてもMP4Boxが大活躍するわけだが、さすがにこうコマンドラインを連発していてもきついものがあるため、今回はUniteMovei&CutMovieを使ってみる。これはMP4Boxを組み込んだGUIのようなものでもあるのだが、ほぼすべての動画形式に対応しており、これ一つあれば大抵の動画の結合&分割ができてしまう優れものだ。ただプレビューできないのが唯一の難点であり、分割については何か他の動画再生ツールで分割場所の時間を確認する必要がある。

まあこれは作者様のサイトに詳細な説明があり内容もシンプルなので、手順の記載は省くものとする。おそらく起動してみればなんとなくわかるだろう。

 

【x264を使ったエンコードについて】

記事エンコードのお話を参照。

 

【最後に】

さてここまで主にMP4(H.264)の映像と音声のMUX、AAC音声ファイルの生成、MP4(H.264)の編集について見てきたわけだが、基本的にAviUtlは使わない前提で書いてきた。というのも、ここまで書いておいてあれなのだが、AviUtlを使えばこれらすべてのことが一通りできてしまうのである。seraphyさんのx264guiを使えばこれらが一括して行えてしまうほか、同氏が別に公開しているMP4Pluginにより編集もサポートされている。

ではなぜあえてそれ以外の方法を示したのか。それはseraphyさんのツールではMP4生成処理が一括で行え便利な反面、その途中で瑕疵が起こりプログラムが停止してしてしまった場合途中からのやり直しは利かず、一からのやり直しをせざるを得ないためである。たとえば長いx264エンコードを終えて音声の処理に入ったとき、そこでプログラムの切り替えがうまくいかず音声ファイルだけが生成されなかったり、音声ファイルの生成に成功してもMUX処理で落ちてしまったりといったことがある。そうしたとき、また長い長い映像部分のエンコードからやり直すというのは非常に億劫というものだ。よって、そうした場合の救済措置というのが今回の主な趣旨だと思って欲しい。

ただ編集作業においては「そもそもx264guiすら関係ねえじゃん」って感じだし、MP4Pluginを使ったAviUtlでの編集の方が何かとやりやすいしで、UniteMovei&CutMovieは「数少ない無圧縮出力可能なMP4編集ツールとして留意しておいてもいいんじゃね?」程度でしかない気もしたりしなかったり。

|

« 【Intel】CPU Core i7 920 | トップページ | ヒロイック・エイジ »

エンコード関連」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: MP4動画ファイルの扱いについて:

« 【Intel】CPU Core i7 920 | トップページ | ヒロイック・エイジ »