返回部落格

影片容器 vs 編碼器:MP4、MKV、H.264、H.265、AV1 解析

容器是箱子,編碼器是裡面的東西。白話文說明 MP4、MKV、WebM、H.264、H.265、AV1、VP9,以及為什麼你的 .mp4 檔有時就是不能播。

By

你下載一段影片、雙擊它,得到一個錯誤:「無法播放此格式。」但檔案是 .mp4,而 .mp4 應該是萬用的。你試 QuickTime——沒反應。你試瀏覽器——黑畫面配音訊。你試 VLC,它終於播放了。出了什麼錯?

簡短的答案是檔案副檔名騙了你。.mp4 不告訴你檔案裡有什麼;它只告訴你內容如何被封裝。你的播放器無法解碼的不是封裝——而是裡面的壓縮視訊串流,以播放器不認識的演算法編碼。一旦你理解這個差別,大量神秘的影片行為——編碼器錯誤、「有聲音卻沒畫面」的怪事、在你手機上能播卻在電視上不能播的檔案——原來都是同一個問題穿不同的衣服。

容器是箱子,編碼器是裡面的東西,而多數播放問題都來自把兩者搞混。

本指南將走過容器做什麼、編碼器做什麼、2026 年哪些組合常見、為什麼「另存為 MP4」不總是代表「另存為大家都能播的東西」,以及如何診斷拒絕打開的影片。

重點摘要 {#key-takeaways}

  • 容器是把軌道一起封裝的檔案格式——視訊、音訊、字幕、章節、中繼資料。常見容器:.mp4.mkv.webm.mov.ts.m4s
  • 編碼器是壓縮實際音訊與視訊資料的演算法。 常見的視訊編碼器:H.264(AVC)、H.265(HEVC)、AV1、VP9。常見的音訊編碼器:AAC、Opus、MP3、FLAC。
  • 副檔名告訴你的是容器,不是編碼器。 一個 .mp4 檔可以裝 H.264、H.265 或 AV1 視訊——而差異就是決定它能否播放的關鍵。
  • H.264 在所有現代裝置上都能播;H.265 大約把位元率砍半,但需要 2017 年後的硬體;AV1 再砍一層,但硬體解碼需要 2022 年或更新的裝置。
  • H.264 和 H.265 是收權利金的;AV1 和 VP9 是免權利金的——這就是 YouTube、Netflix 和 Twitch 正在遷移到 AV1 的原因。
  • 重新封裝改變容器但不重新編碼;切換編碼器總是要做完整重新編碼。
  • MP4 加 H.264 視訊和 AAC 音訊仍是最安全的「就是能播」組合,適合任何你想到處播的檔案。

簡單的解釋

想像你在寄包裹。紙箱是容器:它有形狀、有標籤、有東西怎麼塞進去的規則。箱子裡實際裝的東西——書、手機、用泡棉包好的花瓶——是內容。兩個有相同紙箱的包裹可以裝完全不同的東西,箱子不決定你能不能使用裡面的東西;那要看你能不能讀懂書的語言或為手機充電。

影片檔的運作方式相同。容器——.mp4.mkv.webm.mov.ts.m4s——是封裝格式。它定義檔案如何在磁碟上排列:視訊軌在哪、音訊軌在哪、字幕資料在哪、拖曳索引在哪、中繼資料在哪。編碼器——H.264、H.265、AV1、VP9、AAC、Opus——則是視訊與音訊軌內實際壓縮位元組的編碼方式。容器是箱子;編碼器是內容所用的語言。

這個分割存在是因為有兩個不同的工程問題。封裝一個多軌檔案,讓播放器可以即時拖曳到第 17 分鐘、把音訊在英文和日文間切換、疊上字幕,是一個問題。把 4K 影片壓到每秒幾百萬位元而不顯得糊掉,是另一個問題。容器解決第一個;編碼器解決第二個;它們以獨立的時程演化。

現在是尷尬的部分。一個 .mp4 檔可以包含 H.264 視訊加 AAC 音訊——在任何瀏覽器、手機或媒體播放器中都能播。同樣的 .mp4 副檔名也可以包含 AV1 視訊加 Opus 音訊,而那個檔案在 Safari 16、2019 年的 iPad,或 2020 年的 Apple TV 上會拒絕播放。同樣的副檔名。同樣的容器規格。完全不同的可播性。容器沒告訴你檔案能不能播;編碼器告訴你一切。

一旦你內化這個,文章其餘部分就是填入哪些編碼器常見、哪些裝置支援哪些,以及當你有一個組合錯誤的檔案時該做什麼。

容器與編碼器實際運作的方式

每個影片檔至少有兩層:在磁碟上排列軌道的容器,加上一個或多個決定每個軌道內資料如何壓縮的編碼器。 兩層都得被你的播放軟體理解,檔案才能播。

容器詳解

容器儲存多個軌道——通常是一個視訊軌和一個或多個音訊軌,加上可選的字幕、章節標記、附件(字型、封面藝術)和中繼資料。它通常也持有索引或 cue 表,告訴播放器哪個位元組偏移對應哪個時間戳,這樣拖曳可以直接跳到第 17 分鐘而不必從頭解碼。

2026 年常見的容器:

  • MP4——ISO Base Media File Format(ISO/IEC 14496-14)。 到目前為止最普遍的容器。被串流服務、瀏覽器、行動相機與現代 HLS(CMAF 內的 fMP4 片段)使用。源自 Apple 的 QuickTime MOV。若你需要一個檔案到處都能播,你想要 MP4。
  • MKV——Matroska。 開放、免權利金、極為彈性。支援任何編碼器組合、無限軌道、章節選單、附加字型、多種字幕格式。在桌面影片、動畫字幕組和光碟擷取中很受歡迎。較少被瀏覽器和智慧電視普遍支援。
  • WebM。 Google 為網路最佳化的 MP4 替代品。幾乎都裝 VP9 或 AV1 視訊加 Opus 音訊。被 Chrome、Firefox 和 Edge 支援;Safari 較晚才加入支援。
  • MOV——QuickTime File Format。 Apple 的容器,技術上是 MP4 的母體——兩者共用大部分內部結構。iPhone 和 Apple 編輯工具常見的輸出。
  • MPEG-TS(.ts)。 為了封包遺失是日常的廣播衛星與有線電視設計。被舊版 HLS 片段和某些 IPTV 服務使用。穩健但相較於 fMP4 沒效率。
  • Fragmented MP4(.m4s)。 MP4 的變體,切成小型獨立 fragment。被 MPEG-DASH、現代 HLS 和 Common Media Application Format(CMAF) 使用,讓一組檔案可以服務兩種協定。這就是 HLS .m4s 片段所包含的——同樣的 MP4 box 結構,只是切成區塊。

視訊編碼器詳解

每個編碼器世代都在壓縮效率、編碼/解碼 CPU 成本與授權複雜度之間取捨。

  • H.264(AVC)——Advanced Video Coding,ITU-T H.264 / ISO/IEC 14496-10。 2003 年標準化,由大約 2010 年起製造的每支智慧型手機、GPU、智慧電視和遊戲主機以硬體解碼。受權利金限制——由 MPEG LA 等主導的專利池涵蓋。仍是萬用的最低共同分母:MP4 容器中的 H.264 檔到處都能播。多數視訊會議、監控錄影和消費級攝影機仍在用它。
  • H.265(HEVC)——High Efficiency Video Coding,ITU-T H.265 / ISO/IEC 23008-2。 2013 年標準化。在相同視覺品質下達成比 H.264 大約 50% 的壓縮,這正是有沒有辦法傳 4K 的差別。硬體解碼自 2017 年起在裝置上廣泛存在。問題在授權:HEVC 專利分散於 MPEG LA、HEVC Advance、Velos Media 和幾個個別持有者,這讓權利金圖景混亂到一些瀏覽器(特別是多數平台上的 Firefox)只有在 OS 已提供硬體解碼時才啟用 H.265。被 Apple TV+、Netflix 4K HDR 以及現代 HLS/DASH 串流對有能力的用戶端使用。
  • AV1——AOMedia Video 1。 2018 年由 Alliance for Open Media(Google、Netflix、Amazon、Apple、Microsoft、Mozilla)標準化,以擺脫 HEVC 權利金混亂。免權利金。比 H.265 多約 30% 的壓縮。硬體解碼在 2022 年左右抵達旗艦手機和近期 GPU,如今在新裝置上是標準;編碼仍然 CPU 密集,因此即時 AV1 仍然罕見。被 YouTube、Netflix 和 Twitch 用於對有能力的用戶端的高解析度串流。
  • VP9。 Google 在 AV1 之前的先驅,2013 年發布。免權利金。壓縮上大致與 H.265 相當。被 YouTube 在 AV1 推出前大量使用,至今仍作為能解碼 VP9 但不能解碼 AV1 的裝置的後備。明顯缺席於 Apple 的堆疊——Safari 直到最近才加入軟體 VP9 解碼。

音訊編碼器,簡短

音訊通常比視訊較少有相容性麻煩,但同樣的分割依然適用。

  • AAC。 萬用的預設。和 MP4 中的 H.264 搭配以達最大相容性。
  • MP3。 傳統但仍無所不在,特別是音樂檔案。
  • Opus。 現代、開放、免權利金,在語音和音樂位元率上都非常有效率。WebM 中的預設,並被 Discord、WhatsApp 和多數 VoIP 使用。
  • FLAC。 無損。用於封存音樂,不用於影片配樂。
  • Dolby AC-3 和 E-AC-3(Dolby Digital、Dolby Digital Plus)。 廣播以及 5.1/Atmos 串流環繞音效中常見。

為什麼 .mp4 不一定代表 H.264

這是抓住多數人的陷阱。MP4 只是外殼。AV1-in-MP4 檔完全合法,但無法在 Safari 16、較舊的 Apple TV,或沒有 AV1 硬體解碼器的電視上播放。同樣適用於較舊裝置上的 H.265-in-MP4、Apple 裝置上的 VP9-in-MKV,以及大多數消費型硬體上的 Opus-in-MP4。當一個影片「不能播」,第一個問題永遠不是「副檔名是什麼」——而是「編碼器是什麼」。

容器與編碼器在 HLS 和 DASH 中相遇之處

串流協定坐在這一切之上。傳統 HLS 提供 MPEG-TS 片段,裝著 H.264 + AAC。現代 HLS 使用 CMAF 下的 fMP4 片段,依用戶端裝 H.264、H.265 或 AV1。DASH 的 fMP4 片段使用相同的容器格式,可以裝播放器宣告支援的任何編碼器。ABR 階梯通常在各變體間使用相同編碼器——在串流中途切換編碼器技術上可行但罕見。DRM 保護內容使用相同的容器和編碼器,只是加密了,並在其上加一層 MPEG Common Encryption,編碼器不變,但位元組在沒有授權時無法讀取。

一旦你開始從網路上儲存串流,這個矩陣在實務上就有影響——這就是為什麼像 VidMost 這樣的工具會把輸出標準化到一個已知良好的組合,而不是保留來源恰好使用的任何奇異編碼器。

2026 年真實世界的編碼器支援

編碼器支援在瀏覽器、裝置和作業系統間零散分布,且這個矩陣每年都在變動。 下面的摘要是 2026 年普遍成立情況的快照。

瀏覽器。 Chrome 和 Edge 播放 H.264、H.265(有 OS 硬體支援時)、AV1、VP9 和 VP8。Safari 17+ 播放 H.264、H.265 和 AV1,但其 AV1 支援需要具有 AV1 硬體解碼器的裝置——亦即 A17 Pro / M3 級晶片或更新的;沒有軟體後備。Safari 對 VP9 的歷史支援曾經缺失,但最近改善。Firefox 普遍播放 H.264、AV1、VP9 和 VP8,且只在 OS 提供硬體解碼時支援 H.265——這在 Apple Silicon Mac 和近期 Windows PC 上行得通,但在多數 Linux 安裝上不行。

行動與 Apple 裝置。 在 Apple 矽上,硬體 AV1 解碼隨 A17 Pro(iPhone 15 Pro 和 Pro Max)以及 Mac 的 M3 世代抵達;較早的 iPhone、iPad 和 Mac 在 Safari 中完全沒有 AV1。2022 年起的 Android 旗艦手機幾乎都包含 AV1 硬體解碼。2021 年前的較舊 Apple TV 和智慧電視只支援 H.264 和 H.265。

串流服務依用戶端挑選。 Netflix 對有能力的用戶端(近期 iPhone、現代智慧電視、當代主機)提供 AV1,並透過 H.265 回退到 H.264 給舊裝置。YouTube 也一樣,以 VP9 作為中間層後備。Twitch 正為較高解析度的直播推出 AV1,同時保留 H.264 作為萬用基線。Apple TV+ 對 Apple 裝置提供帶 HDR 的 H.265,在其他地方回退到 H.264。

硬體 vs 軟體解碼。 硬體解碼是讓 4K 播放在手機上不熔化電池的東西——SoC 內專用的矽塊以 CPU 成本的極小部分處理工作。對不支援編碼器的軟體解碼,在桌面上配上夠多 CPU 餘裕通常可行(VLC、mpv 和 ffplay 樂於在 2018 年筆電上軟體解碼 AV1),但在手機和嵌入式裝置上失敗或耗電。當一段影片在你筆電上能播但在手機上卡頓,硬體解碼不匹配是最常見的原因。

有用的心智模型:H.264 是到處都通用的預設、H.265 是若你能控制裝置清單時的安全升級、AV1 是今天你可以推給近期硬體但不能假設 2022 年前任何東西支援的未來。

如果你想儲存影片,這意味著什麼

這就是容器對編碼器的分割不再學術的地方。如果你曾經爬過串流網站、合併過一資料夾的 .ts 片段,或下載影片後發現你的編輯器拒絕匯入,問題幾乎總是編碼器不匹配——而不是容器。

三個痛點反覆出現:

  • 串流片段不是友善的格式。 成功抓到 HLS 或 DASH 串流的零件後,你得到的是一堆 MPEG-TS 檔或 fragmented MP4 區塊。消費級播放器會被一資料夾的這些東西噎住;你得在它們能作為單一檔案播放之前依正確順序串接片段並重新封裝為單一 MP4。
  • 來源編碼器不一定對編輯器友善。 若來源把 AV1 送給你的瀏覽器,你的影片編輯器可能不匯入 AV1,或在拖曳時因為仰賴軟體解碼而卡頓。連 H.265 在較舊的編輯工具中也參差不齊。一個在瀏覽器中播放正常的檔案,對任何想用它做真正工作的人而言變得無用。
  • 裝置碎片化在最糟的時候咬你。 你為平板下載一段 4K H.265 電影、把它同步到孩子較舊的 iPad,發現 iPad 缺少正確的 H.265 設定檔支援。或者你儲存一段 YouTube 的 AV1 串流,發現智慧電視的 USB 播放器只說 H.264。

VidMost 的預設輸出是 .mp4 配 H.264 視訊和 AAC 音訊——可用的最普遍相容組合,被每台現代手機、電視、瀏覽器和編輯工具以硬體解碼。想要最大壓縮或保留來源編碼器(4K HDR 串流的 H.265、YouTube 的 AV1)的使用者可以設定,但預設是「在所有東西上就是能播」。VidMost 自動處理重新封裝:片段被重新組裝、編碼器字串對照輸出設定檔,且在需要重新編碼時以明確選項呈現,而非無聲意外。

常見的陷阱與誤解

關於容器與編碼器的一些信念反覆出現在論壇中。值得釐清。

  • 「MP4 是編碼器。」 不是,MP4 是容器——具體是 ISO Base Media File Format。裡面的編碼器可能是 H.264、H.265、AV1 或其他幾種東西。「MP4 格式」這句話是真的,但在不知道編碼器的情況下基本沒用。
  • 「MKV 比 MP4 好。」 它們是服務不同需求的不同容器,不是競爭的品質等級。MKV 較有彈性——更多編碼器組合、更豐富的中繼資料。MP4 較普遍被支援。封存或任何包含多字幕和音訊軌的東西挑 MKV;分享或串流挑 MP4。
  • 「AV1 永遠比 H.264 好。」 AV1 壓縮效率高得多——這是真的。AV1 對你是不是「比較好」要看你要播放的裝置是否有硬體解碼器。一個 4K AV1 檔在近期旗艦手機上很漂亮,在 2019 年廉價 Android 上無法播放。H.264 永遠能播。
  • 「位元率越高代表畫質越好。」 只在相同編碼器、相同內容下成立。一條 5 Mbps 的 H.265 串流通常看起來比一條 5 Mbps 的 H.264 串流好,因為 H.265 從每個位元中擠出更多。跨編碼器比較位元率沒有意義。
  • 「更改檔案副檔名能修正播放。」 幾乎從未。當你把 .mkv 重新命名為 .mp4 時,檔案內部的位元組不會改變,多數播放器無論副檔名為何都會讀 header 來辨識容器。重新命名的檔案會像原始檔案一樣失敗。
  • 「VLC 播放一切,所以編碼器無關緊要。」 VLC 在桌面上軟體解碼多數編碼器,這使它成為「這個檔案下載對了嗎」的首選工具。但你一旦需要編輯、分享或在手機或電視上播,編碼器相容性就回來了。VLC 的寬容是 VLC 的特性,不是檔案的。

結語

容器對編碼器的分割是那種解釋了不成比例多影片詭異現象的小區別。一旦你能看著一個檔案同時問「外殼是什麼」和「裡面實際上是什麼」,編碼器錯誤訊息就不再神秘,「在我電腦上能播但在手機上不行」的情況就開始有道理。

15 年來經驗法則沒變:MP4 加 H.264 + AAC 是最安全的「到處都能寄」組合。H.265 是若你知道目標裝置是近期的正確升級。AV1 是若你為下一個十年做最佳化的正確賭注。如果你想跳過手動重新封裝步驟、把串流影片儲存成大家都能播的東西,VidMost 預設為 MP4 + H.264 + AAC,並替你處理細節。

延伸閱讀

常見問題

容器和編碼器有什麼差別?
容器是包裝一切的檔案格式——視訊軌、音訊軌、字幕、章節標記、中繼資料。常見的容器有 MP4、MKV、WebM、MOV 和 MPEG-TS。編碼器則是壓縮或解壓縮容器內實際音訊與視訊資料的演算法。常見的視訊編碼器有 H.264、H.265、AV1 和 VP9。可以把容器當作箱子,編碼器當作裡面內容所用的語言。不同容器可以裝相同編碼器,相同容器也可以裝不同編碼器。
MP4 是編碼器還是容器?
MP4 是容器,不是編碼器。`.mp4` 副檔名指的是 ISO Base Media File Format(ISO/IEC 14496-14),這是從 Apple 的 QuickTime MOV 衍生的封裝格式。一個 MP4 檔可以裝 H.264、H.265、AV1,甚至 MPEG-4 Part 2 視訊,搭配 AAC、MP3、AC-3 或其他音訊編碼器。當有人說「轉成 MP4」,他們幾乎都是指「把 H.264 視訊和 AAC 音訊放進 MP4 容器」——最普遍相容的組合。
為什麼我的 .mp4 檔不能播,雖然 MP4 是萬用的?
因為 MP4 只是外殼。真正的問題是裡面的視訊用什麼編碼器。一個裝著 AV1 視訊的 MP4 檔在較舊版的 Safari、2022 年前的 Apple TV 機型,或缺少 AV1 硬體解碼器的電視上無法播放——容器沒問題,但編碼器不被支援。同樣的問題出現在沒有 HEVC 支援的裝置上的 H.265。用 MediaInfo 或 `ffprobe` 跑一下檔案,在假設容器是問題之前先檢查內部實際的編碼器。
MP4 和 MKV 哪個比較好?
沒有哪個普遍比較好——它們服務不同需求。MP4 是支援較普遍的容器:瀏覽器、手機、智慧電視和串流服務都原生說它。MKV(Matroska)更有彈性:它支援更多編碼器組合、無限的字幕和音訊軌、章節選單,以及像有序章節這樣的不尋常功能。要分享或串流,挑 MP4。要封存、擷取或任何包含多個字幕軌的東西,MKV 是更好的選擇。當在任一容器中使用相同編碼器時,影片畫質是相同的。
我該用 H.264、H.265 還是 AV1?
如果你需要最大相容性,用 H.264——每台現代裝置都以硬體解碼它。如果你想要相同畫質下大約一半的位元率,且你的目標裝置在 2017 年之後,用 H.265(HEVC)。如果你想要當今最佳的壓縮效率,且你的觀眾使用近期瀏覽器和 2022 年或更新的裝置,用 AV1。AV1 編碼仍然比 H.264 慢得多,因此對即時用途來說是糟糕的選擇。對多數想要一個到處都能播的檔案的使用者而言,MP4 中的 H.264 仍是正確答案。
為什麼我的 Apple TV 能播 H.265 卻不能播 VP9?
Apple 的視訊堆疊支援 H.264 和 H.265,因為這些是 Apple 為 iTunes Store 和 Apple TV+ 投資的編碼器。VP9 是 Google 的編碼器,YouTube 在 AV1 之前大量使用,但 Apple 從未在 tvOS 或 iOS 上提供 VP9 硬體解碼器。macOS 上的 Safari 相對較晚才加入 VP9 軟體解碼,許多 Apple TV 機型仍然完全無法解碼 VP9。這就是為什麼你在 Apple 裝置上看 YouTube 時得到 H.264(最新裝置上有時是 H.265 或 AV1),而在 Windows 的 Chrome 上得到 VP9。
我可以不重新編碼就更改影片的編碼器嗎?
不行。更改編碼器總是需要解碼現有的影片畫面並以新編碼器重新編碼,這耗時且會損失一點畫質。你*可以*不重新編碼就更改容器——這稱為重新封裝(remuxing)。像 `ffmpeg -c copy` 這樣的工具把相同編碼的串流從 MKV 移到 MP4,或從 MPEG-TS 片段移到單一 MP4,而不碰編碼器。重新封裝快又無損;重新編碼慢且有損。
AV1 是未來嗎?
大概是,但需要幾年。AV1 在相同畫質下提供比 H.265 多約 30% 的壓縮,且免權利金,這對不想付 HEVC 授權費的串流服務很有吸引力。YouTube、Netflix 和 Twitch 今天都對有能力的裝置提供 AV1。問題在硬體支援:AV1 硬體解碼器在 2022 年或更新的手機、GPU 和智慧電視上很常見,但較舊裝置回退到軟體解碼,這會耗盡電池並在 4K 上窒息。預期 AV1 將在十年末佔主導,而 H.264 將作為萬用後備再撐另一個十年。