這是歷史版本頁面 — 看 MKVToolNix (64-bit) 最新版本

MKVToolNix 能做什麼:處理 MKV 檔案的實用工具

MKVToolNix (64-bit) 軟體圖示 MKVToolNix (64-bit) 20.0.0 (64-bit) 資料更新 2018-01-15 閱讀約 6 分鐘

你手上有一堆 MKV 檔,有些是從網路下載的影片,有些是自己轉檔留下來的。最近你想把某部電影的字幕換成繁體中文,或是想把好幾集影集合併成一個檔案,又或者只是想抽出一條音軌放進手機裡。打開資料夾,發現這些 MKV 檔的結構好像跟一般影片不太一樣,你也不知道從哪裡下手,連要開哪個軟體都毫無頭緒。

一般人遇到這種狀況,第一個念頭可能是找轉檔軟體,把 MKV 直接轉成 MP4。但這樣做往往會重新壓縮影片,畫質受損不說,轉檔時間還很長。而且你只是想要調整裡面的音軌或字幕,根本不需要重新編碼。這類工具切入的點其實是「容器」的處理——把影片、聲音、字幕這些軌道重新打包或拆開,不碰內容本身,所以速度快,也不犧牲畫質。

01MKVToolNix 到底是用來做什麼的?

它是一套專門處理 MKV 容器檔案的開源工具,可以合併多個檔案進同一個 MKV、把裡面的音軌或字幕抽出來、調整軌道的語言標籤和預設值,也能加章節或附帶字型。它不做影片重新編碼,所以處理過程不會讓畫質變差,速度也很快。官方說明指出它同時提供圖形介面和命令列,適合不同操作習慣的人。

02我想把影片裡的字幕換成另一個檔案,這套軟體能辦到嗎?

可以。你只要在「輸入」分頁把影片和新的字幕檔(SRT、ASS 都支援)一起拖進去,取消勾選舊字幕軌,保留新的,然後設定輸出檔名,按下「開始混流」就行了。它不會改動影片內容,只會重新打包,所以處理時間通常只要幾秒到幾分鐘,取決於檔案大小。

03它能不能把 MKV 轉成 MP4?

嚴格來說不行,它不做轉檔。但它可以把 MP4、AVI 這類檔案「包裝」成 MKV 格式,過程不重新編碼。如果你要的是把 MKV 變成 MP4,那需要找別的軟體,例如官方提到的 HandBrake 或 Avidemux。這套軟體的強項是處理 MKV 容器本身,不是格式轉換。

04我想把 MKV 裡面的某一條音軌單獨抽出來,要怎麼做?

把檔案拖進輸入分頁後,在音軌清單中只勾選你想要的那一條,其他全部取消,然後在輸出設定裡選擇「抽出」模式,它就會把音軌單獨存成檔案。這個功能在圖形介面和命令列都能用,官方 FAQ 也明確提到可以抽出任何軌道。

05一次要處理很多檔案,有沒有批次功能?

有。它內建「工作佇列」功能,你可以把多個任務排進佇列,一次跑完。設定好第一個任務後,可以儲存設定,套用到其他檔案上。如果你熟悉命令列,也可以寫腳本批次處理,這對大量檔案或重複性工作會省下不少時間。

06這套軟體適合什麼樣的人用?

適合需要頻繁處理 MKV 檔案的人,例如收藏影片並想整理字幕、音軌的玩家,或是做影音剪輯、壓製的人。官方說明提到它主要針對進階使用者和影片愛好者,因為功能比較專門,一般只看片不整理檔案的人,可能用不太到。介面是英文,但操作邏輯不算複雜,照教學做就能上手。

07我只是偶爾想把字幕嵌進影片,用它會不會太複雜?

如果你只是偶爾用一次,它的圖形介面其實不難,拖曳檔案、勾選軌道、按開始,三步驟就完成。但如果你要的是「把字幕直接燒進畫面」那種效果,這套軟體做不到,它只負責封裝,不重新編碼。偶爾用的話可以試試,但若你完全不想碰軌道設定,可能找一鍵轉檔工具更省事。

08這套軟體有沒有中文介面?

官方資料顯示介面語言是英文,沒有提到中文。如果你不習慣英文介面,可能要花一點時間熟悉選單位置,或是找網路上別人寫的中文教學文來對照。功能名稱其實不算多,核心就是輸入、輸出、軌道設定這幾個區塊,用幾次之後應該就能記住。

09它跟 MKVCleaver 或 MeGUI 比起來,差在哪裡?

MKVCleaver 評分人數只有 28 人,MeGUI 是 39 人,MKVToolNix 有 171 人評分,使用者的回饋樣本數比較多。功能上,MKVToolNix 專注在 MKV 的封裝與拆解,MeGUI 偏向轉檔和壓縮,MKVCleaver 則是把 MKVToolNix 的命令列功能包成更簡單的介面。如果你只需要處理 MKV 容器,MKVToolNix 是比較完整的選擇;要轉檔就得找別的。

10這套軟體安全嗎?會不會裝了一堆廣告或綁架軟體?

它是開源軟體,官方說明強調安裝過程不含廣告或第三方軟體,而且更新頻率算高,近一年內有多次更新。開源代表原始碼公開,理論上比較容易被檢視。不過下載時要認明官方網站,避免抓到假網站或捆綁其他程式的版本,這點任何軟體都一樣。

11我電腦是 Windows 7,可以用嗎?

可以,官方支援 Windows 7 到 Windows 11 的 64 位元系統。它也有 32 位元版本,但如果你系統是 64 位元,用 64 位元版會對高解析度檔案有較好的效能。安裝檔大約 100MB,記憶體建議至少 2GB,需求不算高,舊電腦也能跑。

12有沒有免安裝的版本?

官方有提供可攜式版本,不需要安裝就能直接執行。這對不想在系統裡裝一堆軟體的人很方便,放在隨身碟裡帶著走也行。不過可攜式版通常不會自動建立檔案關聯或捷徑,每次使用要自己打開主程式,這點要留意。

下載與官方連結

前往官方網站 下載 MKVToolNix (64-bit)

mkvtoolnix-64-bit-20.0.0-setup.exe · 17.21 MB · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

Feature removal: several deprecated features have been removed:
- mkvmerge: the deprecated options `--identify-verbose` (and its counterpart I`), `--identify-for-gui`, `--identify-for-mmg` and identification-format verbose-text`
- all command line tools: support for the deprecated, old, proprietary format used for option files
- all command line tools: support for passing command line options via the deprecated environment variables `MKVTOOLNIX_OPTIONS`, `MKVEXTRACT_OPTIONS`, MKVINFO_OPTIONS`, `MKVMERGE_OPTIONS` and `MKVPROPEDIT_OPTIONS`
- mkvinfo: most of its code was re-written in order to lay the groundwork for including its functionality in MKVToolNix GUI but with more features than the existing mkvinfo GUI. The result is that a lot of its output has been

changed slightly while keeping the basic layout. Changes include but aren't limited to:
- Several element names are a bit clearer (e.g. `Maximum cache` instead of MaxCache`)
- All timestamps and durations are now output as nanoseconds in formatted form (e.g. `01:23:45.67890123`). All additional formats (e.g. floating point numbers output in seconds or milliseconds) were removed
- Element names for chapters and tags are now translated if a translation is available
- Elements located in wrong positions within the Matroska document are handled better
- While mkvinfo's output is mostly kept very stable, it is not designed to be parsed by other utilities. Even though I've tried hard to cram all changes and cleanups into this version, additional changes may be made in the next couple of releases depending on user feedback and bug reports

New features and enhancements:
- mkvmerge: AVC/h.264 packetizer (framed): access unit delimiter NALUs will now be removed

Bug fixes:
- mkvmerge: AVC/h.264 parser: when fixing the bitstream timing information
- mkvmerge will now use exact representations of the desired field duration if possible. For example, when indicating 50 fields/second `num_units_in_tick` is set to 1 and `time_scale` to 50 instead of 5368709 and 268435456
- mkvmerge: AVC/h.264 parser: mkvmerge no longer assumes that encountering sequence parameter set or picture parameter set NALUs signal the start of a new frame
- mkvmerge: AVC/h.264 packetizer (framed): when mkvmerge is told to fix the bitstream timing information, it will now update all SPS NALUs, not just the ones in the AVCC
- mkvmerge: MPEG TS reader: TS packet payloads will only be treated as PES packets if the payload actually starts with a PES start code. The prior behavior led to wrong timestamps and potentially broken frame data
- mkvmerge: MPEG TS reader: mkvmerge will now drop incomplete PES packets as soon as an error is detected in the transport stream instead of passing the incomplete frame to the packetizer. An error is assumed either if the transport_error_indicator` flag is set or if the value of the continuity_counter` header field doesn't match the expected value
- mkvmerge: Opus: when re-muxing Opus from Matroska mkvmerge will now write "block duration" elements for all block groups where a "discard padding" is set, too.
- mkvmerge: SRT reader: mkvmerge can now handle SRT files with timestamps without decimal places (e.g. `00:01:15` instead of `00:01:15.000`)
- mkvmerge: read buffer I/O class: the class could get out of sync regarding the file position of the underlying file I/O class causing wrong data to be returned on subsequent read operations. One result was that trying to identifying MPLS files that refer to very short M2TS files caused mkvmerge to segfault.
- mkvmerge: multiplexer core: if there's a gap in audio timestamps, a new block group/lace will be started for the first frame after each gap. Before the fix the frame after the gap was often stored in the previous block group causing the gap to be in the wrong place: at the end of that block group
- mkvextract: AVC/h.264: if two consecutive IDR frames with the same idr_pic_id` parameter and no access unit delimiters are found between them, mkvextract will insert an access unit delimiter in order to signal the start of a new access unit
- MKVToolNix GUI: update check dialog: Markdown links will now be converted to clickable links
- build system: fixed a race condition when creating new directories if `rake` is run with `-jN` in newer versions of Ruby/`rake`

Build system changes:
- [cmark] the CommonMark parsing and rendering library in C, is now required when building the GUIs