# Codec Check

> このタブで HEVC・AV1・VP9・H.264 が再生できるか調べます。ハード復号か、電力を食うソフト復号か。canPlayType の maybe／probably も出します。何も送りません。

- URL: https://bytescope.dev/ja/codec-check/
- Locale: ja · Also: [en](https://bytescope.dev/en/codec-check.md) · [zh-Hant](https://bytescope.dev/zh-Hant/codec-check.md)
- Runs: アップロードしません。このタブで、今のブラウザの復号 API を読むだけです。ファイルは送りません。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

目の前のブラウザに、HEVC、AV1、VP9、H.264、Dolby Vision、AAC、Opus、AC-3、E-AC-3、FLAC、MP3 が再生できるか聞きます。ファイルは上げません。`navigator.mediaCapabilities.decodingInfo()`、`MediaSource.isTypeSupported()`、`HTMLMediaElement.canPlayType()` を、決まったコーデック文字列の表に対して呼び、返ってきた値をそのまま出します。HEVC が再生できるかの確認も AV1 の確認も、同じ一回の走査です。

### API は三つ、表は一つ

`decodingInfo` は非同期で、reject します。1行ずつ try/catch するので、1件の失敗で表全体は落ちません。`canPlayType` は `""` / `maybe` / `probably` のまま出し、真偽には潰しません。`isTypeSupported` は MSE の答えで、`<video src>` のファイル再生とは別物です。

### ハード復号とソフト復号

`decodingInfo` が返ってきたら、`supported`、`smooth`、`powerEfficient` の三つの旗を出します。対応していて省電力ならハード復号。対応しているのに省電力でないなら、ソフト復号の可能性（電力を食う）と書きます。API が無いか reject された行は不明のままです。`canPlayType` だけから推測はしません。

### maybe は「再生できる」ではない

`canPlayType` の `maybe` は、ブラウザが約束を嫌がっている、という意味です。`probably` はもう少し強いヒントで、フレーム単位の保証ではありません。空文字は不可です。この三値こそ API の答えで、潰すと Safari や Firefox が本当に返している内容が消えます。

### 今このブラウザにあるもの

機能検出はページが載ってから走らせます。`canPlayType` は Chromium、Firefox、Safari にあります。MediaCapabilities と MSE の範囲は違います。説明と FAQ は、HEVC を復号できないブラウザでも出します。バージョン表より、上の実測を信じてください。Chrome の HEVC は OS と GPU の問題です。

## Limits

Does not convert videos or install codecs; it reports which codecs this browser can decode and encode, and whether in hardware.

## Machine output

Copy JSON copies an envelope `{ tool, url, generatedAt, userAgentHint, result }`. `tool` is `"codec-check"`; `result` is the decode-only probe below. Encode is not measured.

- `apis` (object) — Whether each probe API exists: `mediaCapabilities`, `mediaSource`, `canPlayType` (each boolean or `null`). `null` = not probed yet; `false` = probed, missing; `true` = present.
- `codecs` (array of objects) — One row per scan-matrix target, same order as on screen. Each row has `id`, `familyId`, `kind` (`"video"` | `"audio"`), `container` (`"mp4"` | `"webm"`), `codec`, `mimeType`, `canPlayType` (`""` | `"maybe"` | `"probably"`), `mseSupported` (boolean or `null`; `null` = MSE API missing or threw), `decodingSupported` (boolean or `null`; `null` = `decodingInfo` was not asked, rejected, or timed out), `smooth` (boolean or `null`; `null` = same as decoding not asked), `hardwareAccelerated` (boolean or `null`; `null` = not asked, or the codec is unsupported, or `powerEfficient` was missing; `false` only when supported and the browser said not power-efficient).

## FAQ

### Chrome は HEVC を再生できますか？

場合によります。Safari はだいたいできます（Apple silicon や多くの iPhone）。Firefox はだいたいできません。Chrome と Edge は、OS の HEVC パックと GPU 次第で、Chrome のバージョン名では決まりません。このページは、今入っている環境向けの HEVC 再生確認です。

### powerEfficient は何ですか？

`powerEfficient: true` は、専用の復号器（ハードウェア）を使っていそう、とブラウザが言っている印です。`supported: true` なのに `false` ならソフト復号で、再生はできても CPU と電池を食います。このページはそれをハード／ソフトと平たい言葉で出します。

### maybe と probably を、はい／いいえにしないのはなぜ？

`canPlayType` の仕様は `""`、`maybe`、`probably` の三値です。`maybe` は、とくに HEVC と Dolby Vision では本物の答えです。真偽に潰すと、ブラウザが実際より確信しているように見えます。

### 動画はアップロードされますか？

されません。サンプルファイルもありません。走査は、このタブの中の MIME 文字列と復号の問い合わせだけです。サーバには何も送りません。

### mp4 と webm の両方を試すのはなぜ？

同じコーデックでも、入れ物が違うと許可が変わります。VP9 と AV1 は WebM が本拠で、HEVC と Dolby Vision はほぼ MP4 だけです。両方試すと、このブラウザが本当に受け付ける組み合わせが見えます。

## Related tools

- [Video Info Inspector](https://bytescope.dev/ja/video-info.md) — ファイルを置いて、コーデック・ビットレート・HDR、再生できない理由を見る。
- [HLS / M3U8 Player](https://bytescope.dev/ja/hls-player.md) — m3u8 を再生し、ラダーを見て、CORS の失敗を隠さず出す。
- [My Computer Specs](https://bytescope.dev/ja/my-computer-specs.md) — このブラウザが使っている GPU、CPU のスレッド数、メモリ、ハードウェアアクセラレーションの状態をまとめて確認。
