# Video Info Inspector

> あらゆる動画をブラウザで検査：コンテナとトラックの詳細、平易な言葉のコーデック、ビットレート推移、回転とHDR、faststart確認、再生可否マトリクス。

- URL: https://bytescope.dev/ja/video-info/
- Locale: ja · Also: [en](https://bytescope.dev/en/video-info.md) · [zh-Hant](https://bytescope.dev/zh-Hant/video-info.md)
- Runs: ファイルはブラウザから送信されません — 処理はすべてローカルで行われます。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

MP4、MOV、WebM、MKV、MP3、WAVファイルをドロップすると、このインスペクタは数秒でそのメタデータを読み取ります — 解析するのは構造だけで、ファイル全体をデコードするわけではないので、数ギガバイトのファイルでも即座に応答し、何もアップロードされません。コンテナの情報（形式、長さ、全体のビットレート、トラック一覧）と、動画トラックごとに、平易な言葉に翻訳されたコーデック文字列 — `avc1.640028`は「H.264 High Profile, Level 4.0」になります — に加えて、解像度、フレームレート（宣言値とサンプリング値）、ビット深度、回転メタデータ（スマホ動画が横向きに表示される目に見えない理由）、HDRのカラー情報が得られます。

その目玉機能は、多くの人をここに導く問いに答えます：「なぜ私の動画は再生できないのか？」。各トラックが現在のブラウザの実際のデコード対応状況に照らしてチェックされ、再生可否の判定が出ます — そしてChrome、Safari、Firefox全体の典型的な対応状況のマトリクスが、HEVCはSafariのみといった動きをハイライトします。faststartチェックは、MP4のmoovボックスがファイルの先頭にあるか末尾にあるかを読み取ります：末尾に置かれたメタデータは、ウェブ動画が再生開始前に延々とバッファリングする典型的な理由であり、これをチェックするオンラインツールはほとんどありません。

ビットレートのタイムラインチャートは、動画全体にわたってパケットサイズをサンプリングします — スパイクはカクつきの容疑者です — 加えて、最初のフレームのサムネイルと、ストリーミングのレイテンシに関わるキーフレーム間隔（GOP）の統計も表示します。レポート全体はプレーンテキストとしてクリップボードにコピーでき、フォーラム、イシュートラッカー、サポートチケットに貼り付けられます。

読み取り専用ではなく実用ツールにする2つの追加機能があります。2つ目のファイルを読み込むと、2本の動画が整列した列で並べて比較され、異なるフィールド — コーデック、解像度、フレームレート、ビットレート、HDR、faststart、GOP — がすべてハイライトされるので、再エンコードの実際の効果が一目で分かります。キーフレーム分布ストリップはすべてのキーフレームをタイムライン上に描画し、長さが中央値から外れるGOPをマークして、シークを損なうシーンカットや可変レートのキーフレームを可視化します。検査が終わったら、コンテキストリンクが同じファイルをそのままGIF・PNGフレーム変換ツールに渡します。

## Limits

Does not play, convert or repair the video; it reads container and codec metadata.

## Machine output

Copy JSON copies an envelope `{ tool, url, generatedAt, userAgentHint, result }`. `tool` is `"video-info"`; `result` is the on-screen container and track probe below. This tool does not parse or display container metadata tags, so shooting location (GPS), device model, and creator names are omitted even when the file contains them. The dropped file name, encoded media bytes, thumbnail, bitrate-timeline buckets, and keyframe timestamp lists are omitted.

- `formatName` (string | null) — Container format as shown (e.g. `"MP4"`). `null` = metadata was not supplied.
- `mimeType` (string | null) — Container MIME. `null` = empty or not supplied (the MIME row is hidden then).
- `durationSec` (number | null) — Duration in seconds. `null` = metadata was not supplied.
- `fileSize` (number | null) — File size in bytes. `null` = metadata was not supplied.
- `overallBitrate` (number | null) — Overall bits per second. `null` = not computed (zero duration) or metadata missing.
- `trackCount` (number | null) — Total tracks in the container. `null` = metadata was not supplied.
- `video` (object) — Video tracks in on-screen order, capped at 200. `tracks` (array), `truncated` (boolean), `totalCount` (real count, not the copied length). Each track: `index`, `rawCodec` (or `null`), `codecLabel`, coded/display width and height, `rotation`, `nominalFps` (or `null` if undeclared), `measuredFps` (`null` = packet pass not finished), `bitrate`, `bitrateSampled` (`null` = packet pass not finished), `bitDepth` (or `null` if not shown), `colorLabel`, `isHdr`, `language` (`null` if absent or `"und"`), `playability` (`webCodecs` boolean or `null`; `mediaCapabilities` object or `null`), `gop` (keyframe count and intervals, or `null` if packet pass not finished), `peakKbps` (or `null` if packet pass not finished).
- `audio` (object) — Audio tracks in on-screen order, capped at 200. Same `truncated` / `totalCount` shape. Each track: `index`, `rawCodec`, `codecLabel`, `sampleRate`, `channels`, `bitrate`, `language`, `playability`.
- `faststartApplicable` (boolean | null) — `null` = metadata missing; `false` = not MP4/MOV (N/A on screen); `true` = MP4/MOV box walk applies.
- `faststart` (object | null) — `null` = not applicable, or applicable but the box layout could not be determined. When present: `boxOrder` (top-level fourccs in file order), `faststart` (boolean; `true` = moov before mdat).

## FAQ

### 解析のために動画はアップロードされますか？

いいえ。ファイルはブラウザ内で構造的に解析されます — ヘッダー、トラックテーブル、パケットインデックスがランダムアクセスで読み取られ、メディア自体はディスク上で手つかずのまま残ります。だからこそ4 GBのファイルが約1秒で開き、サイズ制限もないのです。

### 自分のコンピューターでは再生できるのに、ウェブサイトやスマホでは再生できないのはなぜですか？

たいていはコーデックです：HEVC/H.265（iPhoneやドローンでよく使われます）はFirefoxが非対応で、Chromeの対応も不完全ですが、デスクトップのプレーヤーはほぼ何でもデコードします。再生可否マトリクスは、ファイルの各トラックを各ブラウザファミリーがデコードできるかを示し、「とにかく動かない」を具体的なコーデックの判定に変えます — 対処法は通常、H.264への再エンコード、または当サイトの動画ツールでの変換です。

### faststart / moov チェックとは何ですか？

MP4のメタデータは「moov」ボックスに入っており、ファイルの先頭にも末尾にも置けます。エンコーダーはデフォルトでそれを末尾に書き込みますが、ブラウザは再生前にそれを必要とするため、末尾のmoovはウェブプレーヤーが開始する前にファイル全体をダウンロードすることを強います。このチェックはファイルのmoovがどこにあるかを読み取り、リマックス（高速・ロスレス）がウェブでの遅い開始を解決するときにそう伝えます。

### スマホの動画がどこかで向きが間違って表示されるのはなぜですか？

スマホはしばしばセンサー本来の向きで動画を記録し、ピクセルを回転させる代わりに回転フラグをメタデータに保存します。フラグを尊重するプレーヤーは正しく表示しますが、それを無視するパイプラインは横向きの動画を表示します。インスペクタは回転値を表に出すので、修正すべきなのはピクセルではなくフラグだと分かります。

### ビットレートのタイムラインは何を教えてくれますか？

動画全体にわたる毎秒のデータレートです。平らな線は予測どおりにストリーミングされ、大きなスパイク（アクションシーン、紙吹雪、カメラのパン）は、非力な接続やプレーヤーがカクつく箇所です。「10 Mbps」のエクスポートが本当に平均10 Mbpsかも検証できます。

### 2本の動画を並べて比較できますか？

はい —「別のファイルと比較」を押して2本目の動画をドロップすると、両方の解析が1つの表に整列し、異なるフィールド（コーデック、解像度、フレームレート、ビットレート、HDR、faststart、GOP）がすべてハイライトされます。再エンコードが実際に何を変えたかを確認したり、ほぼ同一の書き出しの一方だけが再生できる理由を突き止めたりするのに最速の方法です。

### キーフレーム分布ストリップは何を示しますか？

動画のタイムラインに沿って、キーフレーム1つにつき1本のティックを表示します。等間隔のティックは固定GOPを意味し、予測どおりにシークでき、ストリーミングも素早く開始します。オレンジのティックは、間隔が中央値から外れるキーフレーム — シークを不均一に感じさせ、ストリーミング開始のレイテンシを増大させかねないシーンカットや可変レートのキーフレーム — をマークします。
