標籤: 暫無標籤

MKV是Matroska的一種媒體文件,Matroska是一種新的多媒體封裝格式,也稱多媒體容器 (Multimedia Container)。它可將多種不同編碼的視頻及16條以上不同格式的音頻和不同語言的字幕流封裝到一個Matroska Media文件當中。MKV最大的特點就是能容納多種不同類型編碼的視頻、音頻及字幕流。

一種後綴為MKV的視頻文件頻頻出現在網路上,它可在一個文件中集成多條不同類型的音軌和字幕軌,而且其視

mkvmkv
頻編碼的自由度也非常大,可以是常見的DivX、XviD、3IVX,甚至可以是RealVideo、QuickTime、WMV這類流式視頻。實際上,它是一種全稱為Matroska的新型多媒體封裝格式,這種先進的、開放的封裝格式已經給我們展示非常好的應用前景,甚至有人把它看成是AVI的替代者!

1 mkv -簡介

MKV其實是Matroska的一種媒體文件,Matroska是一種新的多媒體封裝格式,它可將多種不同編碼的視頻及16條以上不同格式的音頻和不同語言的字幕流封裝到一個MatroskaMedia文件當中!
  
mkv不是一種壓縮格式,mkv實際上是一種新型多媒體封裝格式,也稱多媒體容器(MultimediaContainer)。它不同於DivX、XviD等視頻編碼格式,也不同於MP3、Ogg等音頻編碼格式。MKV只是為這些音、視頻提供外殼的「組合」和「封裝」格式。換句話說就是一種容器格式,常見的AVl、VOB、MPEG、RM格式其實也都屬於這種類型。但它們要麼結構陳舊,要麼不夠開放,這才促成了MKV這類新型多媒體封裝格式的誕生。
  
Matroska媒體定義了三種類型的文件:MKV是視頻文件,它裡面可能還包含有音頻和字幕;MKA是單一的音頻文件,但可能有多條及多種類型的音軌;MKS是字幕文件。這三種文件以MKV最為常見。
  
MKV最大的特點就是能容納多種不同類型編碼的視頻、音頻及字幕流,甚至連非常封閉的RealMedia及QuickTime這類流媒體也被它囊括進去,可以說是對傳統媒體格式的一次大顛覆,幾乎變成了一個萬能的媒體容器。
  
播放MKV並不需要專用的播放器,任何基於DirectShow的播放器都能播放它,如常見的MediaPlayerClassic、BSPlayer、ZoomPlayer播放器等,甚至包括WindowsMediaplayer,僅需安裝相應Matroska解碼分離器插件即可。推薦下載HappyShow這個解碼器集成軟體。

2 mkv -特點

Matroska最大的特點就是能容納多種不同類型編碼的視頻、音頻及字幕流,甚至囊括了RealMedia及QuickTime這類流媒體,可以說是對傳統媒體封裝格式的一次大顛覆!它現在幾乎變成了一個萬能的媒體容器,目前它所能封裝的視頻、音頻、字幕類型包括:
  
AVI文件,包括採用DivX、XviD、3ivX、VP6視頻編碼,及PCM、MP3、AC3等音頻編碼的AVI
  
RealMedia文件,包括RealVideo和RealAudio
  
QuickTime的MOV及MP4視頻
  
WindowsMedia文件,包括ASF、WMV格式
  
MPEG文件,包括MPEG-1/2的M1V、M2V
  
Ogg/OGM文件,包括OggVorbis、OGM、FLAC文件
  
MatroskaMedia文件,包括MKV、MKA、MKS文件
  
WAV、AC3、DTS、MP2、MP3、AAC/MP4音頻
  
SRT、USF及SSA/ASS文本字幕
  
SubVob圖形字幕,後綴為IDX、SUB
  
BMP圖形字幕,以一組BMP圖片及時間碼構成的字幕。
  
此外,Matroska文件中還可包括章節、標籤(Tag)等信息,甚至還可加上附件!需要指出的Matroska所謂的封裝AVI、RM、MOV等媒體,但它並不是簡單將它們不加改變的合併到Matroska中,而是將它們的音視頻流進行了重新組織。
    
Matroska加入AVI所沒有的EDC錯誤檢測代碼,這意味著即使是沒有下載完畢的MKV文件也可以順利回放,這些對AVI來說完全是不可想象的。雖然Matroska加入了錯誤檢測代碼,但由於採用了新的更高效的組織結構,用MKV封裝后的電影還是比AVI源文件要小了約1%,這就是說即使加上了多個字幕,MKV文件的體積也不可能比AVI文件大。
  
Matroska支持可變幀率(VFR,即VariableFrameRate)的視頻編碼,這種VFR視頻的幀率是不固定的,它可在動態畫面中使用較大的幀率,而在靜態畫面中使用較小的幀率,這樣可以有效的減少視頻文件的體積,並改善動態畫面的質量。它的作用比目前廣泛使用的VBR(可變碼率)更為明顯。
  
看看目前比較流行的多媒體容器類型,例如AVI,它可以容納多種類型的視頻編碼和音頻編碼,像VP6、DivX、XviD等視頻編碼和PCM、MP3、AC3等音頻編碼;VOB則是另一種特點更為鮮明的媒體容器,它可容納MPEG-2視頻流、多個AC3、DTS、THX、PCM音頻流、多個不同語言的圖形字幕流。
  
Matroska最大的特點就是能容納多種不同類型編碼的視頻、音頻及字幕流,即使是非常封閉的RealMedia及QuickTime也被它包括進去了,並將它們的音視頻進行了重新組織來達到更好的效果。可以說是對傳統媒體格式的一次大顛覆!它現在幾乎變成了一個萬能的媒體容器。
  
格式錯誤檢測可變幀率軟字幕流式傳輸菜單非微軟平台
  
MKV有 支持 支持 即將支持 即將支持 支持
  
AVI無 不支持 不支持 不支持 不支持 支持不夠

3 mkv -兼容

avi的出現已經超過了10年,漸漸體現出老態了,除了近年通過VD可以擁有2個音軌,沒有其他的改進。
  
ogm的出現,標誌著多音軌格式的出現,可以合成8個以上的音軌,音頻上自然也多了ogg這個格式,重要的是可以「內掛」字幕,老外稱為「軟字幕」,可以任意開關,可以「內掛」8個以上的字幕,美中不足的是僅僅支持srt格式,並且不支持Unicode,對亞洲字元支持嚴重不足。
  
還有一個就是Chapter功能,可以自定義段落,播放時就可以選擇了。是不是越來越像DVD啦?但是當時的ogm源碼是不公開的,就那麼幾個人在開發,自然進度慢了,前一陣幾乎陷入了「死亡」。最近宣布公開源碼,加入OpenSource行列,重新開始開發。
  
mkv就是在ogm停滯的那段時間出現的,由俄羅斯的程序員開發的,從一開始就是OpenSource,因此得到了很多其他程序員的幫助,開發速度相當快。
  
ogm有的mkv都有,另外還有很多獨特的功能。其中最令人振奮的就是Gabest(開發vobsub的公司)開發的Plugin,不僅開發了專門的播放器MediaPlayerClassic(俗稱MPC),這個東西的強大相信用過的人都有體會。還開發了很多的MKV用的Mux(合成器),尤其是Real格式的Mux。Real的rmvb是封閉格式,官方的Helix根本就不支持多聲道所以儘管演算法很優秀,但在聲效大片的再現上就無能為力了,只能乖乖讓位給可以合成AC3和DTS的avi以及ogm了。
  
但Gabest開發的RealmediaSplitter和mkvMux可以讓rmvb格式的視頻和AC3、DTS合成mkv,從根本上克服了rmvb音頻上的弱點。不僅如此,還開發了VSFilter.dll和SubtitleSource.ax這2個Plugin,宣布支持ssa和ass的格式軟字幕。
  
總結就是下面幾條:
  
1.支持多種格式的視頻和音頻,尤其是Real;
  
2.支持多音軌,多達16條以上;
  
3.支持ssa,ass軟字幕,多達16條以上;
  
4.支持段落選取(由製作人決定)。

4 mkv -前途

Matroska的目標就是要取代舊式的媒體封裝格式,其中最主要的目標就是AVI。AVI已經誕生十幾年了,目前它依然還保持著旺盛的生命力,但其原始架構過於陳舊,這使得它在支持新的音視頻編碼上非常困難,在非微軟平台使用也不夠方便。而Matroska使用的是一種開放的架構,擁有眾多的先進特性,並且能跨平台使用,這是AVI所望塵莫及的。
  
不過AVl畢竟樹大根深,它擁有最廣泛的軟硬體支持,而這一點正是衡量MKV是否成功的一個標誌,但目前它還做不到這點,現在甚至還沒出現一個能直接編輯它的軟體,畢竟它誕生還不到一年。但在這麼短的時間裡,Matroska取得的進展也是非常引人注目的。
  
但Matroska畢竟還是一種發展中的技術,它沒有深厚的背景可以依託,這決定了它不可能在商業領域(如DV、數字電視)里有所作為,同樣的道理,它要想取代AVI成為一種通用的多媒體封裝格式並不會十分順利。不過,DVDRip的普及歷程告訴我們,流行才是硬道理!DVD播放機廠商現在不是也已經放下架子,對DVDRip提供支持了么。所以,Matroska目前最需要做的就是讓更多的人知道它。

5 mkv -播放

播放Matroska這類格式並不需要專用的播放器,任何DirectShow的播放器都可以播放MKV、OGM、MP4文件,如常見的MediaplayerClassic、BSplayer、ZoomPlayer播放器等,甚至包括WindowsMediaplayer。
  
現有的播放器要播放MKV格式僅需安裝相應的分離器插件即可。
  
http://matroska.free.fr/downloads/Matroska_Playback_Pack_0.6.exe
  
首先請到上面這個地址下載MKV官方的播放插件包,裡面包含了MatroskaSplitter、MatroskaMuxer、Vsfilter等播放MKV必須的插件,安裝好以後就能使用WMP(WindowsMediaPlayer)等播放MKV文件了,安裝事務所製作的MKV播放包也能起到同樣的作用。其他必備插件,比如FFdshow等等,大家已經很熟悉了,我就不再提了。
  
播放軟體方面,雖然用WMP也能播放(正確安裝了插件),但是我推薦大家使用Gabest製作的MediaPlayerClassic。它體積小,佔用系統資源少,而且功能強大,界面和大家常用的WMP6.4幾乎一樣,所以使用很方便。而且WMP不支持MKV的導航分段功能,而為了方便大家觀看,很多片子都分了幾個段落,可是直接跳轉到OP、ED或正文部分,所以我推薦大家使用這個播放器。使用MPC打開后,可以看到有個「導航」按鈕(英文版是Navigation),這個裡面就包含了跳轉段落功能,默認的快捷鍵是PageUp(跳至前一段)和PageDown(跳至后一段)。
  
上面那個包裡帶的Vsfilter,其實就是Vobsub2.29中的一部分,使用起來和原來差不多。有些MKV里封裝的是srt字幕(有時你發現字幕很小,那很可能就是srt字幕),這時你就可以像平時外掛srt觀看電影一樣,自己修改字幕的字體,顏色,大小和位置等等了,和原來的方法一樣。但是有一點要注意,請把Pre-buffersubpictures關掉(如圖所示),它可能造成死機。

6 mkv -製作

從DVD到MKV——用VirtualDubMod合成MKV
  
VirtualDubMod是VirtualDub的一個變種,它可以直接將MPEG-2文件編碼成MKV文件,也就是說它可以直接將DVD轉換成MKV視頻。VirtualDubMod也是目前唯一能剪輯MKV視頻的工具。
  
運行VirtualDubMod,從「File」菜單中選擇「OpenVideofile」命令,導入DVD中的VOB文件,在導入時會彈出一個音軌選擇對話框,具體選擇哪一條AC3音軌要根據在播放器中的播放情況而定,一般情況下是選擇第一條音軌。
  
文件導入后按F7鍵設置輸出,在彈出的「SaveAs」對話框中設置文件名及保存的位置,保存類型要選擇MatroskaFile(MKV)。接下來在下面的「Video」欄中選擇「VideoMode(視頻模式)」為「Fullprocessingmode(完全處理模式)」,然後單擊「Change」按鈕,會彈出「Selectvideocompression(選擇視頻壓縮)」對話框,你可在這裡選擇DivX5.1.1、XviD、VP60/61/62等編碼,然後單擊「Configure」按鈕設置編碼參數,碼率一般設置為1200~1500bps,這和製作普通的DVDRip沒有任何區別。完成後即可回到「SaveAs」對話框,單擊「保存」按鈕進行編碼輸出。
  
不過VirtualDubMod只能對單個的VOB文件進行編碼,如果要將一整部的DVD編碼成MKV,可能需要對4~5個VOB文件進行編碼。另外,它只能對視頻部分進行編碼,音頻部分則保持不變直接合併到MKV中。對於多個編碼好的MKV文件,你可以從「File」菜單選擇「Appendsegment(附加片段)」命令將它們逐個進行合併。要對MKV文件進行剪輯也可用VirtualDubMod,這和剪輯普通AVI文件是完全一樣的。
  
強大的MKV合成工具——MKVToolnix
  
Mkvtoolnix(下載地址:http://www.bunkus.org/videotools/mkvtoolnix/win32/mkvtoolnix-0.8.6.rar)是目前功能最齊全的Matroska合成器,除了WMV和MPEG-1/2之外,它幾乎能將所有的媒體合成到MKV中去。
  
1、安裝及運行
  
Mkvtoolnix解壓之後,還要將MkvtoolnixRuntimePackage(下載地址:http://www.bunkus.org/videotools/mkvtoolnix/win32/mkvtoolnix-runtime.rar)也一併解壓到Mkvtoolnix所在的目錄中,否則它是無法運行的。Mkvtoolnix的主程序mkvmerge.exe是命令行程序,不過這個軟體包中還提供了一個GUI外殼程序mmg.exe,可運行它來對mkvmerge.exe進行操作。
  
2、文件導入
  
運行mmg.exe后,會彈出軟體的圖形界面,首先選擇「Input」選擇卡,點擊上部「Inputfiles」處的「add」按鈕,將要合併的視頻、音頻、字幕文件一一添加到文件列表中,Mkvtoolnix功能的強大主要體現在能導入的格式上,除了MPEG視頻外,幾乎所有的主流音、視頻格式它都能容納,包括OGM和MKV格式本身!
  
3、軌道設置
  
如果視頻中已經包括有音頻,它還可以選擇是保留還是不保留該音頻!如果要去掉原有的音頻,先在文件列表中選中該視頻文件,然後在下面的Tracks列表中將音軌前的勾去掉即可。這樣的功能要比OGM方便得多!
  
所有的軌道都可以加上語言類型、標題、作者等標示,先選定某個軌道,然後在下面「TrackOptions」處的「Language」下拉列表中進行選擇。在字幕或聲音不同步的情況下,還可設置聲軌和字幕播放的延時時間,可將延時數值填入Delay后的文字框(單位為毫秒)。
  
4、文件分割
  
如果想將合併好的MKV文件刻入光碟,而最終合併好的文件可能超過光碟的容量的話,你可以對文件進行分割。選擇「Global(全局)」選項卡,在其中的「Split(分割)」欄中勾選「Enablesplitting(進行分割)」,分割有兩種方式:「bysize(按文件尺寸)」、「bytime(按時間)」,這裡當然應該按尺寸,具體的尺寸可從後面的下拉列表中選擇。
  
5、輸出
  
界面中的其它選項卡都是無關緊要的,可以不管。最後,在下面的「Outputfilename(輸出文件名)」處設置輸出文件的路徑及名稱后,點擊「StartMuxing(開始合併)」按鈕輸出MKV文件。另外,Mkvtoolnix也可用於分離MKV文件,只要將MKV文件導入,再將每個碼流單獨命名輸出就行了。

7 mkv -轉換

Mkvtoolnix不能將ASF、WMV合併到MKV中,這個任務要由asf2mkvrecorder(下載地址:http://prdownloads.sourceforge.net/guliverkli/asf2mkv_20040112.zip?download)完成。運行asf2mkvrecorder,在軟體窗口的地址欄中輸入源文件的完整路徑(也可複製),然後單擊「Record!」按鈕,會彈出另存為對話框,在其中設置好MKV文件保存的路徑及名稱后即可輸出MKV文件。
  
asf2mkvrecorder只是簡單的將ASF、WMV文件轉換成MKV文件,不能合成多種音頻,更不能合入字幕。不過,這種包含WindowsMedia的MKV文件已經可以用Mkvtoolnix進行處理了,要做到這些自然也不困難。
  
MKVVideoConverter視頻轉換器是一款易於使用的MKV視頻轉換軟體,可以幫助您轉換MKV到AVI,MKV到iPod,MKV到DVD,並且轉換出優秀的圖象和聲音。通過指定對話的起止時間你就可以剪切DVD的任意一個部分來製成MKV錄像。
  
該MKV轉換工具,也支持MPEG,MP4,MOV,WMV,WAV,VCD,VOB,PSPetctoMKV(MatroskaVideo)文件。
  
下載地址:http://www.mkvconverter.com/MKV-Video-Converter.html

8 mkv -採集

目前可做MKV格式視頻採集的程序有兩個,一個是VirtualVCR,一個是MediaPlayerClassic,其中以前者的功能最為強大。VirtualVCR帶有功能完善的電視調諧器,可方便的採集包括電視在內的模擬視頻源。
  
(1)VirtualVCR-Matroska
  
用普通的VirtualVCR版本是不能採集MKV視頻的,必須使用VirtualVCR-Matroska版(下載地址:http://keihanna.dl.sourceforge.net/sourceforge/virtualdubmod/VirtualVCR-matroska-0.2.tar.bz2),這是一個綠色軟體,直接用WinRAR解壓出來就可以使用了。
  
(2)設置採集設備
  
運行VirtualVCR,在其主界面工具欄中單擊設置按鈕,會彈出「Settings」對話框,首先選擇「Devices(設備)」選項卡,在「DeviceSelection」欄中選擇視頻(如PhilipsProteus7130電視卡)及音頻採集設備。然後選擇「VideoSource(視頻源)」,共有三個選項「VideoTuner」即電視調諧器,「VideoComposite」即AV複合端子,「VideoSVideo」即S端子,如果要採集電視就選擇「VideoTuner」。
  
(3)設置電視調諧器
  
如果採集電視,要對電視調諧器進行設置。選擇「Tuner」選項卡,單擊「TVTunerDevice(電視調諧設備)」按鈕,會出現電視調諧器屬性面板,在這裡要設置好電視接收的國家代碼(中國為86)及視頻制式,視頻制式可選擇PAL-B。完成然後回到「Tuner」選項卡中,單擊「Scan」按鈕,開始掃描電視頻道。掃描出的電視頻道會出現在左邊的列表中,雙擊某個數字就會播放某個頻道。這一步只在採集電視節目時需要設置,如果採集來自AV端子和S端子的視頻則無需理會這裡的設置。
  
(4)視頻參數設置
  
選擇「Video」選項卡,首先選定「UseCustomSettings」複選框,然後設置其「FrameSize(幀尺寸)」,尺寸及視頻的解析度,可根據機器的性能來設置,如果機器的性能強勁,可設置為640×480(由於電視的質量不太高,更高的解析度意義並不大)。「FrameRate(幀率)」決定了視頻是否連貫,一般在25FPS就行了。
  
下面的「UseCompression」也應該勾選,這樣你就可以使用MPEG-4類的Codec來進行編碼了。視頻Codec建議選擇DivXPro5.1.1,它的編碼速度要比同類的Codec快一些,這樣可保證盡量少掉幀。點擊「Prop」按鈕可設置編碼Codec的參數,主要是碼率的設置,一般根據畫面的解析度來設置就行了,但如果採用較高解析度,還需要將畫面做消除interlace(隔行)處理,但這需要你的電腦非常強勁才行。
  
(5)音頻參數設置
  
選擇「Audio」選項卡,選定其中的「CaptureAudio(採集音頻)」和「CompressAudio(壓縮音頻)」兩個複選框,然後「CompressAudio」選擇合適的音頻編碼。因為是實時採集,它對音頻編碼的要求比較苛刻,MP3肯定不行,因為它會用很多CPU資源。最好使用WindowsMediaAudioV2,參數設置為44.1KHz,64~128Kbps,Stereo,這樣可兼顧音頻文件的質量、速度與體積。
  
(6)文保存設置
  
最後選擇「File」對話框,設置採集文件的名稱及保存的路徑。「Setting」對話框中還有一個「Stop」選項卡是用於設置採集的停止條件的(如時間和剩餘硬碟大小)。所有的設置完成後,即可回到主界面進行採集。
  
(7)採集MKV視頻
  
在主界面中單擊工具欄「錄製」按鈕,即可進行採集,採集時你可按下工具欄中的「ToggleStats」按鈕,打開「Stats」面板,查看有關的採集數據,如非常關鍵的丟幀數量,丟幀數量通常應該在總幀數的2~3%以下,否則會讓人覺得很不流暢。如果丟幀太多,可適當降低採集參數(解析度、碼率)。
  
Matroska的發展速度相當快,它未來的目標是要使文件具備流媒體特性,可通過HTTP及RTP協議進行流式傳輸,另外為這種格式增加一種類似DVD菜單的功能也納入了下一步的發展計劃。當這些計劃完成後,我們可以看到一個功能更強大,更全面的多媒體封裝格式。

9 mkv -相關詞條

ogm flv
 rm3gp
m4aRMVB格式



      

10 mkv -參考資料

1.網站鏈接:http://www.mkvconverter.com
2.有關博客:http://blog.sina.com.cn/tomkv

上一篇[WMV]    下一篇 [平井堅]

相關評論

同義詞:暫無同義詞