在檔案送上車機螢幕之前
iPhone 與 CarPlay 的影片格式。 在手機上分好,在車上螢幕放出來。
iPhone 與 CarPlay 的影片格式由手機決定,在畫面送上車上螢幕之前就分成兩條路線。MP4, M4V, MOV 與 M3U8 交給 iOS 內建的系統解碼器;MKV, AVI, WebM, FLV, TS, MTS, M2TS, WMV, MPG, MPEG, VOB 與 OGV 交給 Dashow 的額外解碼路線。其餘副檔名則在開啟檔案的當下,由內容本身決定走哪一條。
- 01
iPhone 原生的影片格式是 MP4, M4V, MOV 與 M3U8,另外十二種容器走額外解碼路線。
- 02
副檔名決定先由哪個解碼器開檔;裡面的編解碼器才決定你看到與聽到什麼。
- 03
透過 SMB 讀取的影片一律走額外解碼路線,不看副檔名。
如何使用
快速上手
- 01
先看副檔名
點後面的那幾個字母,說明檔案會先送到哪一個解碼器。
- 02
在下面的表格找到它那一列
路線表把每種影片格式歸到系統解碼器、額外解碼路線,或開檔時才決定的那一列。
- 03
用 Dashow 開啟
從「檔案」或「相簿」匯入,或直接瀏覽 NAS 上以 SMB 共用的資料夾。
- 04
三種軌道都確認一次
畫面、聲音與文字各自解碼,開播後三樣都看過聽過一遍。
iPhone 到底播得動哪些影片格式?
同一個資料夾、同一支手機,兩個檔案:一個開起來了,一個停在灰色畫面。差別很少出在手機。每支 iPhone 都內建了自己的影片解碼器,而那個解碼器只開啟固定的一組影片格式。Dashow 為它不碰的容器補上第二條解碼路線,再依副檔名替每個檔案選路。
Apple 說明媒體檔案無法開啟時,給的是一串可以嘗試的步驟,而不是一份格式清單。這一頁給的是清單。下面的表格就是 Dashow 實際使用的路線圖,讀自判斷副檔名的那段程式:四種副檔名走系統解碼器,十二種走額外路線。
副檔名只是路線提示,不是保證。
副檔名是提示。它告訴 App 該用哪個解碼器開檔,卻沒有說解碼器在裡面會找到什麼。容器是一層外包裝:一個 MKV 裝著一條影像軌、一條或多條音軌,通常還有字幕軌,每一條都各自編碼。改檔名只會改提示,不會改內容。
所以同樣的影片格式,兩個檔案在同一支手機上的表現會不一樣。每個檔案帶著自己的影像編解碼器、音訊編解碼器與文字軌,三者各自解碼。畫面可以先到,音軌卻安靜著,字幕軌則留在選單裡等你挑。三條軌道,三種結果。
MP4, M4V, MOV 與 M3U8 走系統解碼器。
四種副檔名交給 iOS 內建的解碼器:mp4, m4v, mov 與 m3u8。MP4 和 MOV 是近親。MOV 是 Apple 的 QuickTime 容器,MP4 由它標準化而來,所以 iPhone 相機錄下的片段,和你從網路上抓回來的檔案,常常裝著同一種 H.264 或 HEVC 影像,只是名字不同。
HEVC 也在這一列。Apple 自家相機預設就錄 HEVC,也就是 H.265,iOS 用處理 H.264 的同一個系統框架解碼它,所以手機拍的 4K 片段不必另外加什麼。M3U8 排在這一列的理由不同:HLS 是 Apple 的串流格式,iOS 原生就讀得懂 .m3u8 描述檔。
另外十二種容器,走額外解碼路線。
另外十二種影片格式走額外解碼路線:mkv, avi, webm, flv, ts, mts, m2ts, wmv, mpg, mpeg, vob 與 ogv。Dashow 為它們自備了一個解碼器。這些是下載、攝影機、電視側錄或舊備份最常產出的容器;檔案原樣進來,不必先轉檔,也不必再開一個 App 過一手。
有一條規則凌駕副檔名。透過 SMB 讀取的影片一律走額外解碼路線,不看副檔名,所以 NAS 上的 MP4 和它旁邊那個 MKV,開啟方式完全相同。沒有引擎要挑。Dashow 讀檔名、開檔案,發現內容另有需要時再換到另一條路線。
沒見過的副檔名,開檔當下就有答案。
兩列之外的影片格式,在開啟時決定。檔案自己回答。Dashow 把它打開,走讀得懂它的那一條,.divx, .rmvb,甚至完全沒有副檔名的檔案,都是這樣各憑內容處理。面對某一個特定檔案,最快的答案仍然是開起來看十秒。
有一個畫面會替你把檔案讀完。打開本機影片的「詳細資訊」,Dashow 會列出長度、解析度、影片編碼與音訊編碼、檔案大小,以及檔案內建的標題,每一項都在你需要時才從檔案讀出。容器在那裡不再只是三個字母:副檔名選了路線,編解碼器的名稱才是它一直沒說的事。
從你的檔案所在的那一列往下走。
表格停下的地方,有四頁接著寫。其中兩頁談容器。MKV 指南會打開一個 Matroska 檔案,說明它裝了什麼,再解釋同樣的位元組為什麼在某個 App 開得起來、換一個就不行。AVI 那一頁列出所有走額外解碼路線的舊容器,並說明傳輸串流為什麼和其他容器不一樣。
另外兩頁各自只處理一條軌道。有畫面沒聲音是音訊編解碼器的問題,有專頁回答。放在電影旁邊的外掛字幕則是命名問題:SRT 那一頁給出 .srt 或 .vtt 檔案必須取什麼名字,播放器才會把它和影片配成一對。就從你的影片所在的那一列開始。
每種副檔名走哪一條路線
| 路線 | 副檔名 | 為什麼走這一條 |
|---|---|---|
| iOS 內建的解碼器 | mp4, m4v, mov, m3u8 | iOS 內建的解碼器直接開啟檔案 |
| Dashow 的第二個解碼器 | 十二個副檔名:mkv, avi, webm, flv, ts, mts, m2ts, wmv, mpg, mpeg, vob, ogv | Dashow 把這些容器交給自備的解碼器 |
| 開啟檔案時才決定 | 其餘所有副檔名 | App 讀取檔案,走開得起來的那一條 |
| 透過 SMB 讀取的影片 | 所有副檔名,包含 mp4 | 網路共用一律走額外解碼路線 |
Dashow.





