ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
MP4(MPEG-4 Part 14、ISO/IEC 14496-14)は、2003 年に策定された映像・音声・字幕・メタデータを一つのファイルに格納するためのコンテナフォーマットです。Apple の QuickTime ファイルフォーマット(MOV)を基盤として ISO Base Media File Format(ISO BMFF、ISO/IEC 14496-12)が標準化され、それを MPEG-4 用にカスタマイズしたものが MP4 です。
MP4 自身はコーデックではなく「箱」であり、中身の映像コーデック(H.264 / H.265 / AV1 など)と音声コーデック(AAC / MP3 / ALAC / Opus など)は別々に選ばれます。したがって「.mp4 ファイルが再生できない」という場合、コンテナの問題ではなく中の映像コーデックを再生環境がサポートしていない、というケースがほとんどです。
現代の Web 動画は事実上 MP4 で動いています。YouTube・Netflix・Twitter/X・Instagram・TikTok・LINE で送られる動画、iPhone・Android の撮影動画、ブラウザの <video> タグで配信される動画、すべてが MP4 を採用しています。これはコーデックの自由度、メタデータの豊富さ、ストリーミング適性、そして主要 OS とブラウザでのネイティブ対応の四点が揃っているためです。
内部構造
MP4 ファイルは atom(または box)と呼ばれる入れ子構造のデータブロックの集合です。各 atom は「サイズ」「種別を表す 4 文字コード」「データ本体」から成り、JSON のオブジェクトに似た階層構造を作ります。
主要な atom には次のようなものがあります。
- ftyp(File Type Box):ファイル先頭にあり、互換性情報(major brand)を示す。
isom、mp42、avc1など - moov(Movie Box):動画のメタデータ。再生に必要なトラック情報・コーデック・タイムスタンプ・サンプル位置などの索引が入る
- mdat(Media Data Box):実際の映像・音声サンプル本体
- moof(Movie Fragment Box):fMP4(fragmented MP4)で使う断片化されたメタデータ。ライブ配信や HLS/DASH で重要
moov の位置がストリーミング再生を左右するのが MP4 の重要な癖です。moov がファイル末尾にあると、ブラウザは moov を読むまで再生を開始できず、ダウンロード完了まで待たされます。逆に moov を先頭に置く(faststart 化)と、ダウンロードしながら再生(プログレッシブ再生)が可能になります。ffmpeg -movflags +faststart でこの変換を行えます。
主な用途
- Web 動画配信:YouTube、Netflix、Amazon Prime Video、Hulu、TVer、ABEMA
- SNS 動画:X(Twitter)、Instagram、TikTok、Facebook、LINE
- スマートフォン撮影:iPhone(HEVC + AAC を含む MP4)、Android(H.264 + AAC を含む MP4)
- HTML5 video:
<video src="movie.mp4">でブラウザネイティブ再生 - HLS / DASH のセグメント:fMP4(fragmented MP4)として TS の代替に使われる
- ビデオカメラ:多くのデジタルカメラ・アクションカメラの撮影フォーマット
関連形式との比較
vs MOV:MOV は MP4 の祖先であり、内部構造はほぼ同じです。MOV は Apple 独自の atom 種別(ProRes、タイムコードトラックなど)を含むことがあり、Mac 環境での編集に向きます。配信用には MP4 がデファクトです。
vs WebM:WebM は Google が推進する Web 専用コンテナ(VP8/VP9/AV1 + Vorbis/Opus)。特許フリーですが、対応ブラウザ・端末は MP4 に及びません。
vs MKV:MKV はオープン規格で、字幕・音声トラックの自由度が高く、HEVC/AV1 など最新コーデックの収容にも強い。配信向きは MP4、保管・編集・コンテンツ配布向きは MKV という棲み分けです。
vs AVI:AVI は 1992 年の旧世代コンテナで、可変フレームレート・ストリーミング・字幕などへの対応が貧弱です。現代では MP4 に完全に置き換わりました。
vs HLS(.m3u8):HLS は MP4/TS セグメントを HTTP で配信する仕組みで、MP4 と競合せず補完関係にあります。
編集・再生ツール
編集:Adobe Premiere Pro、Final Cut Pro、DaVinci Resolve、Avid Media Composer、iMovie、Filmora、VEGAS Pro、CapCut、Premiere Rush。
変換・操作:ffmpeg(業界標準、ffmpeg -i in.mov -c:v libx264 -c:a aac out.mp4)、HandBrake(GUI)、MP4Box(GPAC、コンテナ操作専用)、Shotcut。
再生:VLC、IINA、PotPlayer、ブラウザの <video>、Windows Media Player、QuickTime Player、ほぼ全てのスマートフォン・テレビ。
注意点
コーデックと再生互換性:「MP4 だから必ず再生できる」とは限りません。H.265 や AV1 などのコーデックは古い端末・ブラウザでは再生できないことがあります。互換性最優先なら H.264 + AAC の MP4が最も安全です。
moov の位置:Web 配信用には必ず +faststart で moov を先頭に置いてください。
特許:H.264・H.265・AAC はそれぞれ特許プールがあり、商用利用ではライセンスが必要になる場合があります。AV1 は特許フリーを目指して設計されました。
編集による劣化:非可逆圧縮なので、MP4 を再エンコードすると劣化します。編集中は中間コーデック(ProRes、DNxHD)を使い、最終出力で MP4 にエンコードするのがプロの定石です。
断片化 MP4(fMP4):HLS/DASH のセグメント配信では fMP4 が広く使われており、通常の MP4 とは moov/moof の構造が異なります。プレイヤーが対応していないと再生できません。
関連リンク
- 音声・動画形式(親カテゴリ)
- ファイル拡張子とは
- MOV(.mov)
- WebM(.webm)
- MKV(.mkv)
- M3U8 / HLS(.m3u8)
- AAC(.aac / .m4a)
- アニメーション コンテンツでの動画フォーマットの使用
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?