ByteScope

Codec Check

在這個分頁問瀏覽器:HEVC、AV1 現在播不播得了,硬解還是軟解。

不會上傳。掃描只讀這個分頁裡瀏覽器的解碼 API,檔案不會送出去。

這個瀏覽器

檢查中

navigator.mediaCapabilities
檢查中
MediaSource.isTypeSupported
檢查中
HTMLMediaElement.canPlayType
檢查中

H.264 (AVC)

網路上的預設影片編碼。YouTube、Zoom,以及 iPhone 以外多數相機吐出的 MP4。

    HEVC (H.265)

    Apple 生態的編碼。iPhone 相機膠卷、4K 藍光、很多空拍機。Safari 播得了,Firefox 多半不行。

      VP9

      Google 放在 WebM 裡的編碼。AV1 之前 YouTube 的主力;Android 和 Chrome OS 還很常見。

        AV1

        YouTube、Netflix 新一代省頻寬的編碼。免權利金,問題在解碼重不重,不在授權。

          Dolby Vision

          帶每場資訊的 HDR。串流 App 和部分 iPhone 影片;解碼器和螢幕路徑都要有。

            AAC

            MP4 音訊的預設。iTunes、手機錄影、幾乎每條 HLS。

              Opus

              WebRTC 和 WebM 的音訊。Discord、Meet,還有瀏覽器裡的通話。

                AC-3

                Dolby Digital。廣播、藍光、電視錄影。常因授權,瀏覽器直接略過。

                  E-AC-3 / Atmos

                  Dolby Digital Plus,含 Atmos 的 JOC。串流 App 常見;編解碼字串仍是 `ec-3`。

                    FLAC

                    無損音訊。Bandcamp、部分 WebM、少數 MP4 配樂。

                      MP3

                      現在還是到處都有。下載、podcast,塞進 MP4 時是 `mp4a.40.34`。

                        常見支援情況

                        這張表只是常見情況。請以上面的實測為準——Chrome 能不能播 HEVC,看的是作業系統和 GPU,不是版本號。

                        API / 編解碼ChromeEdgeFirefoxSafari
                        MediaCapabilities.decodingInfoChrome、Edge、Firefox、Safari 都有。單筆仍可能被 reject。
                        MediaSource.isTypeSupportedSafari 的 MSE 有,但比 Chromium 窄。
                        HTMLMediaElement.canPlayType回傳 "" / maybe / probably,不是布林值。
                        HEVC (hvc1 / hev1)Safari 可以。Firefox 多半不行。Chrome/Edge 看作業系統和 GPU。
                        AV1 (av01)Chrome/Edge/Firefox 可以。Safari 17 起在 Apple silicon 可以。

                        此刻這個瀏覽器: 檢查中

                        關於這個工具

                        這一頁問的是你眼前這個瀏覽器,能不能播 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 有回來的話,會列出 supportedsmoothpowerEfficient 三面旗。支援又省電,標成硬體解碼。支援但不省電,標成可能是軟解(吃電)。API 沒有、或被 reject 的列就標不明——這一頁不會只靠 canPlayType 亂猜。

                        maybe 不是「可以播」

                        canPlayTypemaybe,代表瀏覽器不願意打包票。probably 比較有把握,仍不是一格一格保證。空字串就是不行。這三態才是 API 的答案;壓成是/否,Safari 和 Firefox 真正回的內容會被藏起來。

                        你這個瀏覽器有什麼

                        功能偵測等頁面掛上去才跑。canPlayType 在 Chromium、Firefox、Safari 都有;MediaCapabilities 和 MSE 的範圍不一樣。說明和 FAQ 在所有瀏覽器都會出現,包括解不了 HEVC 的。請以上面的實測為準,不要看版本表——Chrome 的 HEVC 是作業系統和 GPU 的問題。

                        常見問題

                        Chrome 播得了 HEVC 嗎?

                        看情況。Safari 多半可以(Apple silicon 和不少 iPhone)。Firefox 多半不行。Chrome 和 Edge 看作業系統有沒有 HEVC 套件、GPU 支不支援,不是看 Chrome 版本號。這一頁測的是你這台機器此刻的環境。

                        powerEfficient 是什麼意思?

                        powerEfficient: true 是瀏覽器在說,很可能走專用解碼器(硬體)。supported: true 卻是 false,就是軟解——播得了,但 CPU 和電池會比較痛。這一頁用白話標成硬體/軟體。

                        為什麼顯示 maybe、probably,而不是行/不行?

                        canPlayType 規格就是 ""maybeprobably 三態。maybe 本身就是答案,尤其 HEVC 和 Dolby Vision。壓成布林會讓瀏覽器看起來比實際更有把握。

                        影片會被上傳嗎?

                        不會。沒有樣本檔。掃描只在這個分頁裡丟 MIME 字串、問解碼器。什麼都不會送到伺服器。

                        為什麼 mp4 和 webm 都要試?

                        同一個編解碼,換容器就可能被允許或拒絕。VP9、AV1 住在 WebM;HEVC、Dolby Vision 幾乎只在 MP4。兩邊都試,才看得到這個瀏覽器真正吃哪一組。