# Codec Check

> 在這個分頁測 HEVC、AV1、VP9、H.264 能不能播。硬體解碼還是吃電的軟解、canPlayType 的 maybe／probably 都如實列出。檔案都留在這台機器，不會上傳。

- URL: https://bytescope.dev/zh-Hant/codec-check/
- Locale: zh-Hant · Also: [en](https://bytescope.dev/en/codec-check.md) · [ja](https://bytescope.dev/ja/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；每一列各自 try/catch，一筆失敗不會讓整張表炸掉。`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 是作業系統和 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 看作業系統有沒有 HEVC 套件、GPU 支不支援，不是看 Chrome 版本號。這一頁測的是你這台機器此刻的環境。

### 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/zh-Hant/video-info.md) — 丟一個檔進來：編碼、位元率、HDR，以及為什麼播不了。
- [HLS / M3U8 Player](https://bytescope.dev/zh-Hant/hls-player.md) — 播 m3u8、看 rung 表，CORS 失敗不會被美化。
- [My Computer Specs](https://bytescope.dev/zh-Hant/my-computer-specs.md) — 一次看這個瀏覽器用的顯示卡、CPU 執行緒數、記憶體大小，還有硬體加速有沒有開。
