MP4 / MOV
iPhoneが開けるはずの形式なのに、それが開かないとなると余計に不思議に見える。
MP4とMOVはAppleが自社システムの中心に据えたコンテナなので、失敗するファイルがラッパー自体の問題であることはほとんどありません。中に入っている何か——10bitのH.264ストリーム、DTSやTrueHDの音声、古いチップでのAV1——がそのデバイスにデコードできないコーデックであり、その責めをコンテナが負わされているだけです。
2026年7月30日
助けを借りずに開けられた
ネイティブ対応というのは、コンテナ自体と、Appleがデコーダーを提供しているコーデックの両方に言えることです。どちらも必要です。ハードウェアが一度も出会ったことのないストリームを保持する、完全に正当なMP4は、開いても黒い画面になったり無音で再生されたりして、有用な理由は何も示してくれません。
事実
| 正式名称 | MPEG-4 Part 14、および QuickTime File Format |
|---|---|
| 種類 | コンテナ——同じ設計に2つの名前 |
| 拡張子 | .mp4、.m4v、.mov、.m4a(音声のみ) |
| 公開 | MOVは1991年にApple。MP4は2001年、そこから派生 |
| 常に再生できる映像 | High profileまでの8bit H.264、2015年以降のあらゆる端末でのHEVC |
| 再生できないことが多い映像 | H.264 High 10(10bit)、MPEG-4 Part 2(DivX/XviD)、2023年より前のハードウェアでのAV1 |
| 常に再生できる音声 | AAC、ALAC、MP3、PCM |
| 再生できないことが多い音声 | MP4に入ったDTS、DTS-HD、TrueHD、Vorbis、Opus |
| 字幕 | クローズドキャプションと1種類のタイムドテキスト形式のみ。MKVほどの幅広さはない |
2つの名前を持つ1つの形式
先に生まれたのはMOVです。Appleは1991年にQuickTimeを公開し、そのファイル構造は非常によくできていたため、MPEGグループがMPEG-4用のコンテナを必要とした際にそれを取り込み標準化しました。だからMP4とMOVは構造的にほぼ同じもの——メディアのトラックを記述するメタデータの箱——であり、たいていのツールで一方を他方にリネームしてもそのまま機能する理由もそこにあります。
実際の違いは、それぞれが「何を保持してよいか」です。MOVはApple自身のものなので、QuickTimeがこれまで対応してきたあらゆるもの——ProResや、スマホが決してデコードしないコーデックまで——を受け入れます。MP4はより厳格で移植性の高い標準です。どちらも8言語分の字幕や吹き替え音声を運ぶようには設計されておらず、そのすき間を埋めたのがMatroskaです。
これらはApple製デバイスならどれでも開ける形式であるため、ほぼすべての変換の行き先にもなっています。「MP4に変換する」とは、要は「iOSが受け入れる箱にこれを入れる」ことの言い換えです。
それなのに、なぜこのファイルは再生されないのか
ファイルを開くには2つの要素が必要で、コンテナに関係するのは最初の一つだけだからです。システムは箱を読み、トラックを見つけ、それからデコーダーにそのトラックを映像と音に変換するよう依頼します。デコーダーがなければ、そこまでは何もかも成功しているので、失敗の見え方がひどく奇妙になります。ファイルは開きます。再生時間も表示されます。シークバーもあります。ただ、見るものが何もないのです。
症状によって、どちらが壊れているか分かります。
- 音は出るが映像が出ない — 映像コーデックに対応していません。Appleのハードウェアでよくある原因は、しばしば*Hi10P*と表記される10bit H.264で、アニメのリリースによく見られます。ハードウェアのH.264デコーダーは8bit専用で、システムのプレーヤーにソフトウェアによる代替はありません。
- 映像は出るが音が出ない — 音声コーデックに対応していません。ディスクからリッピングされたものによくあるのがDTSとTrueHDです。
- どちらも出ずにエラーになる — たいていファイルが壊れているか途中で切れているか、あるいはインデックスが末尾にあるMP4で、その部分がまだ届いていない場合です。
- どちらも出るがカクつく — 対応していないわけではなく、単にビットレートや解像度がそのチップの能力を上回っているだけです。
独自のデコーダーを持つプレーヤーはこの問題すべてを回避します。システムに一切問い合わせることがないからです。10bitのH.264もDTSも自前でソフトウェアデコードし、完成したフレームを画面へ渡します。
どう対処するか
- 実際に何が入っているか調べる
何かを変換する前に、ファイルのストリームを確認してください。映像が10bit H.264で音声がDTSだと分かれば、何を変える必要があるのか正確に把握できます——しかも音声だけで済むことも多く、それなら1時間ではなく数秒の作業です。
- 失敗しているストリームだけを再エンコードする
音声トラックがDTSだからという理由でファイル全体を変換すれば、1時間を無駄にして無意味に画質まで落とすことになります。音声トラックだけを差し替えれば、映像はビット単位で同一のまま保たれます。
- ソフトウェアデコードするプレーヤーで再生する
変換も見極めも一切不要です。独自のデコードスタックを持つプレーヤーは10bitのH.264、DTS、TrueHDを直接開きます。これはFoxDLがやっていることで、MKVを開けるのと同じ理由で、Appleのプレーヤーが開けないMP4もカバーします。
形式の問題に見えて実はそうでない2つのこと
デスクトップのCPUは、スマホがハードウェアデコーダーにやらせようとしていることを力任せに処理できます。ファイル自体は何もおかしくありません。同じファイルをビットレートを下げて作れば、問題なく再生できます。
MP4はすべての位置を示すインデックスを保持しています。それがファイルの末尾に書かれていると、プレーヤーはどこかへ飛ぶ前にファイル全体を持っている必要があります。このインデックスを先頭に移すこと——*faststart*と呼ばれることもあります——は、数キロバイトの書き換えであって変換ではありません。