iPhoneで再生可能なMP4動画を作る方法

mpeg2の動画をiPhoneで再生可能なMP4動画に変換する方法。
これが意外とハマったので、ここに記載しておきます。

やりたかったことは、HTML5のVIDEOタグを利用して、iPhoneやiPadで動画を再生したかった。

元動画はMPEG2動画。
これをMP4(H.264+AAC)形式に変換してやれば簡単に再生できると思っていた。
色んなツールを試して、結局うまくいったのは、1つだけ。
それは
Free Video Converter
を利用すること。
これは無料の動画変換ソフトで、操作方法も非常に簡単。

【注意】
インストール時に色々と別アプリのインストールや、Baiduへのお誘いがあるので、
全部カスタムインストールにして、余計なものを入れないことをおすすめします。

インストール方法や利用方法は割愛させていただき、
利用した設定のみ掲載させていただきます。
これでiPhone 4S+iOS7上のSafariにて再生できました。

setting

●使用したHTML5のVIDEOタグ

<video width=”640″ height=”360″ src=”example.mp4″ poster=”example.jpg” preload=”none” onclick=”this.play()” controls></video>

<各パラメータの説明>

width  = 動画の横幅
height  = 動画の縦幅
src = 動画のファイル
poster = 動画が再生される前に表示される静止画(iPhoneでは自動で動画から表示されますが、Androidでは表示されないようなので入れた方が良いと思われます。)
preload = HTMLが読み込まれたときに、動画ファイルも読みこむかどうかを設定します。autoがデフォルトのようなので、先読みしないようにnoneにしておく方が良さそうです。
onclick = 動画はYoutubeの用に画像部分をクリックしても再生されない端末があるので、動画のどこを押しても再生されるようにしておきます。
controls = これを入れておくと、再生ボタンや、プレグレスバーが下に表示されるようになります。

●成功するまでに試したツール

1.Adobe Premiere CS3

MP4動画の生成はでき、iPhoneでも再生できますが、動画のところどころに、わけの分からな赤いフレームが入ってしまいました。
音声は出ました。

2.VLC

非常に良さそうなソフトですが、iPhoneにおいて音声が出ませんでした。
PCではきちんと再生できるのですが。
また、最新バージョン(Ver2系)では音声のエンコードができませんでした。
Ver1.1.11でエンコードできました。

3.TMPGEnc 4.0 EXpress

最も期待していたのですが、MP4(H.264)エンコードができませんでした。
H.264コーデックをインストールすることで、AVIはできましたが、それではiPhoneでは再生できませんでした。

●音声が出ないMP4は何が悪いのか?

真空波動研Superliteを利用して、コーデックを確認してみました。

すると以下のようになっていました。
【音声が再生できたMP4】

[example1.mp4]
640×360 8Bit AVC/H.264 Main@4 100:100 Progressive 59.90fps 5713f 1875.58kb/s
AAC 48.00kHz 2.0ch(2/0 L+R) LC 125.38kb/s
MP4 v2
[MPEG4] 00:01:35.381 (95.381sec) / 23,937,436Bytes

[example2.mp4]
640×360 8Bit AVC/H.264 Main@3 1:1 Progressive 30.00fps 2860f 1481.20kb/s
AAC 48.00kHz 2.0ch(2/0 L+R) LC 162.24kb/s
[Extra][2]
MP4 Base Media v1
MetaData
[MPEG4] 00:01:35.338 (95.338sec) / 19,669,018Bytes

【音声が再生できなかったMP4】

[example3.mp4]
640×360 8Bit AVC/H.264 High@3.1 1:1 Progressive 29.97fps 2805f 1734.72kb/s
AAC 44.10kHz 2.0ch(2/0 L+R) HE(LC) 130.55kb/s
MP4 Base Media v1
[MPEG4] 00:01:33.593 (93.593sec) / 21,943,782Bytes

ポイントは、HE(LC)。
音声フォーマットとAACは、HE-AACとAAC-LCがあるようで、
HE-AACだと再生できない模様。
HE-AACとはAACの拡張仕様らしく、これにiPhoneは対応していないのか?
詳細は不明。どなかた教えてくださいm(_ _)m