欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

MKV文件用什么播放器播放?MKV是什么格式的详细介绍

程序员文章站 2023-09-15 15:14:11
MKV文件用什么播放器播放?MKV是什么格式的详细介绍...

mkv不是一种压缩格式,而是matroska的一种媒体文件,matroska是一种新的多媒体封装格式,也称多媒体容器 (multimedia container)。它可将多种不同编码的视频及16条以上不同格式的音频和不同语言的字幕流封装到一个matroska media文件当中。mkv最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流。

1、什么是mkv格式?

  mkv不是一种压缩格式,divx、xvid才是视频压缩格式,mp3、ogg才是音频压缩格式。

  mkv是个“组合”和“封装”的格式,换句话说就是一种容器格式。

  举个例子的话就比较容易理解了,把只有视频的xvid和只有音频的mp3组合起来,然后以一种多媒体介质的形式出现,最常见的就是avi,其次就是ogm,还有mp4等不太常见的。

  avi的出现已经超过了10年,渐渐体现出老态了,除了近年通过vd可以拥有2个音轨,没有其他的改进。

  ogm的出现,标志着多音轨格式的出现,可以合成8个以上的音轨,音频上自然也多了ogg这

  个格式,重要的是可以“内挂”字幕,老外称为“软字幕”,可以任意开关,可以“内挂”8个以上的字幕,美中不足的是仅仅支持srt格式,并且不支持unicode,对亚洲字符支持严重不足。还有一个就是charpter功能,可以自定义段落,播放时就可以选择了。是不是越来越像dvd啦?

  但是当时的ogm源码是不公开的,就那么几个人在开发,自然进度慢了,前一阵几乎陷入了“死亡”。最近宣布公开源码,加入opensource行列,重新开始开发。

  mkv就是在ogm停滞的那段时间出现的,由俄罗斯的程序员开发的,从一开始就是opensource,因此得到了很多其他程序员的帮助,开发速度相当快。

  ogm有的mkv都有,另外还有很多独特的功能。其中最令人振奋的就是gabest开发的plugin,不仅开发了专门的播放器mediaplayerclassic,这个东西的强大相信用过的人都有体会。还开发了很多的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、支持段落选取(由制作人决定)

  2、mkv文件播放方法

  现在主流的播放器都可以支持mkv播放,例如以下播放器。

  

  万能播放器 kmplayer 3.0.0.1442 final 官方安装版

  更小更快更流畅的影音播放系统 qq影音 v2.6(747) 官方安装版

以下来自 百度百科的介绍

mkv的由来

   mkv不同于divx、xvid等视频编码格式,也不同于mp3、ogg等音频编码格式。mkv只是为这些音、视频提供外壳的“组合”和“封装”格式。换句话说就是一种容器格式,常见的 avl、vob、mpeg、rm 格式其实也都属于这种类型。但它们要么结构陈旧,要么不够开放,这才促成了mkv这类新型多媒体封装格式的诞生。
定义

  matroska媒体定义了三种类型的文件:mkv是视频文件,它里面可能还包含有音频和字幕;mka是单一的音频文件,但可能有多条及多种类型的音轨;mks是字幕文件。这三种文件以mkv最为常见。
特点

  matroska最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流,甚至囊括了realmedia及quicktime这类流媒体,可以说是对传统媒体封装格式的一次大颠覆!它现在几乎变成了一个万能的媒体容器,目前它所能封装的视频、音频、字幕类型包括:
  avi文件,包括采用divx、xvid、3ivx、vp6视频编码,及pcm、mp3、ac3等音频编码的avi
  realmedia文件,包括realvideo和realaudio
  quicktime的mov及mp4视频
  windows media文件,包括asf、wmv格式
  mpeg文件,包括mpeg-1/2的m1v、m2v
  ogg/ogm 文件,包括ogg vorbis、ogm、flac文件
  matroska media文件,包括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,即variable frame rate)的视频编码,这种vfr视频的帧率是不固定的,它可在动态画面中使用较大的帧率,而在静态画面中使用较小的帧率,这样可以有效的减少视频文件的体积,并改善动态画面的质量。它的作用比目前广泛使用的vbr(可变码率)更为明显。

  看看目前比较流行的多媒体容器类型,例如avi,它可以容纳多种类型的视频编码和音频编码,像vp6、divx、xvid等视频编码和pcm、mp3、ac3等音频编码; vob则是另一种特点更为鲜明的媒体容器,它可容纳mpeg-2视频流、多个ac3、 dts、thx、pcm音频流、多个不同语言的图形字幕流。

兼容性

  avi的出现已经超过了10年,渐渐体现出老态了,除了近年通过vd可以拥有2个音轨,没有其他的改进。
  ogm的出现,标志着多音轨格式的出现,可以合成8个以上的音轨,音频上自然也多了ogg这个格式,重要的是可以“内挂”字幕,老外称为“软字幕”,可以任意开关,可以“内挂”8个以上的字幕,美中不足的是仅仅支持srt格式,并且不支持unicode,对亚洲字符支持严重不足。
  还有一个就是chapter功能,可以自定义段落,播放时就可以选择了。是不是越来越像dvd啦?但是当时的ogm源码是不公开的,就那么几个人在开发,自然进度慢了,前一阵几乎陷入了“死亡”。最近宣布公开源码,加入open source行列,重新开始开发。
  mkv就是在ogm停滞的那段时间出现的,由俄罗斯的程序员开发的,从一开始就是open source,因此得到了很多其他程序员的帮助,开发速度相当快。
  ogm有的mkv都有,另外还有很多独特的功能。其中最令人振奋的就是gabest(开发vobsub的公司)开发的plugin,不仅开发了专门的播放器media player classic(俗称mpc), 这个东西的强大相信用过的人都有体会。还开发了很多的mkv用的mux(合成器),尤其是real格式的mux。 real的rmvb是封闭格式,官方的helix根本就不支持多声道所以尽管算法很优秀,但在声效大片的再现上就无能为力了,只能乖乖让位给可以合成ac3和dts的avi以及ogm了。
  但gabest开发的realmedia splitter和mkv mux可以让rmvb格式的视频和ac3、dts合成mkv,从根本上克服了rmvb音频上的弱点。不仅如此,还开发了vsfilter.dll和subtitlesource.ax这2个plugin,宣布支持ssa和ass的格式软字幕。
  总结就是下面几条:
  1.支持多种格式的视频和音频,尤其是real ;
  2.支持多音轨,多达16条以上 ;
  3.支持ssa,ass软字幕,多达16条以上 ;
  4.支持段落选取(由制作人决定) 。

使用指南

mkv的播放
  播放matroska这类格式并不需要专用的播放器,任何directshow的播放器都可以播放mkv、ogm、mp4文件,如常见的media player classic、bsplayer、zoomplayer播放器等,甚至包括 windows media player。仅需安装相应 matroska 解码分离器插件即可。
  现有的播放器要播放mkv格式仅需安装相应的分离器插件即可。
  首先请到“扩展阅读”地址下载mkv官方的播放插件包,里面包含了matroska splitter、matroska muxer、vsfilter等播放mkv必须的插件,安装好以后就能使用wmp(windows media player)等播放mkv文件了,安装事务所制作的mkv播放包也能起到同样的作用。其他必备插件,比如ffdshow等等,大家已经很熟悉了,我就不再提了。
  播放软件方面,虽然用wmp也能播放(正确安装了插件),但是我推荐大家使用gabest制作的media player classic。它体积小,占用系统资源少,而且功能强大,界面和大家常用的wmp6.4几乎一样,所以使用很方便。而且wmp不支持mkv的导航分段功能,而为了方便大家观看,很多片子都分了几个段落,可以直接跳转到op、ed或正文部分,所以我推荐大家使用这个播放器。使用mpc打开后,可以看到有个“导航”按钮(英文版是navigation),这个里面就包含了跳转段落功能,默认的快捷键是pageup(跳至前一段)和pagedown(跳至后一段)。
  上面那个包里带的vsfilter,其实就是vobsub2.29中的一部分,使用起来和原来差不多。有些mkv里封装的是srt字幕(有时你发现字幕很小,那很可能就是srt字幕),这时你就可以像平时外挂srt观看电影一样,自己修改字幕的字体,颜色,大小和位置等等了,和原来的方法一样。但是有一点要注意,请把pre-buffer subpictures关掉(如图所示),它可能造成死机。
mkv的制作
  从dvd到mkv——用virtualdubmod合成mkv
  virtualdubmod是virtualdub的一个变种,它可以直接将mpeg-2文件编码成mkv文件,也就是说它可以直接将dvd转换成mkv视频。virtualdubmod也是目前唯一能剪辑mkv视频的工具。
  运行virtualdubmod,从“file”菜单中选择“open video file”命令,导入dvd中的vob文件,在导入时会弹出一个音轨选择对话框,具体选择哪一条ac3音轨要根据在播放器中的播放情况而定,一般情况下是选择第一条音轨。
  文件导入后按f7键设置输出,在弹出的“save as”对话框中设置文件名及保存的位置,保存类型要选择matroska file(mkv)。接下来在下面的“video”栏中选择“video mode(视频模式)”为“full processing mode(完全处理模式)”,然后单击“change”按钮,会弹出“select video compression(选择视频压缩)”对话框,你可在这里选择divx 5.1.1、xvid、vp60/61/62等编码,然后单击“configure”按钮设置编码参数,码率一般设置为1200~1500bps,这和制作普通的dvdrip没有任何区别。完成后即可回到“save as”对话框,单击“保存”按钮进行编码输出。
  不过virtualdubmod只能对单个的vob文件进行编码,如果要将一整部的dvd编码成mkv,可能需要对4~5个vob文件进行编码。另外,它只能对视频部分进行编码,音频部分则保持不变直接合并到mkv中。对于多个编码好的mkv文件,你可以从“file”菜单选择“append segment(附加片段)”命令将它们逐个进行合并。要对mkv文件进行剪辑也可用virtualdubmod,这和剪辑普通avi文件是完全一样的。
  强大的mkv合成工具——mkvtoolnix
  mkvtoolnix是目前功能最齐全的matroska合成器,除了wmv和mpeg-1/2之外,它几乎能将所有的媒体合成到mkv中去。
  1、安装及运行
  mkvtoolnix解压之后,还要将mkvtoolnix runtime package也一并解压到mkvtoolnix所在的目录中,否则它是无法运行的。mkvtoolnix的主程序mkvmerge.exe是命令行程序,不过这个软件包中还提供了一个gui外壳程序mmg.exe,可运行它来对mkvmerge.exe进行操作。
  2、文件导入
  运行mmg.exe后,会弹出软件的图形界面,首先选择“input”选择卡,点击上部“input files”处的“add”按钮,将要合并的视频、音频、字幕文件一一添加到文件列表中,mkvtoolnix功能的强大主要体现在能导入的格式上,除了mpeg视频外,几乎所有的主流音、视频格式它都能容纳,包括ogm和mkv格式本身!
  3、轨道设置
  如果视频中已经包括有音频,它还可以选择是保留还是不保留该音频!如果要去掉原有的音频,先在文件列表中选中该视频文件,然后在下面的tracks列表中将音轨前的勾去掉即可。这样的功能要比ogm方便得多!
  所有的轨道都可以加上语言类型、标题、作者等标示,先选定某个轨道,然后在下面“track options”处的“language”下拉列表中进行选择。在字幕或声音不同步的情况下,还可设置声轨和字幕播放的延时时间,可将延时数值填入delay后的文字框(单位为毫秒)。
  4、文件分割
  如果想将合并好的mkv文件刻入光盘,而最终合并好的文件可能超过光盘的容量的话,你可以对文件进行分割。选择“global(全局)”选项卡,在其中的“split(分割)”栏中勾选“enable splitting(进行分割)”,分割有两种方式:“by size(按文件尺寸)”、“by time(按时间)”,这里当然应该按尺寸,具体的尺寸可从后面的下拉列表中选择。
  5、输出
  界面中的其它选项卡都是无关紧要的,可以不管。最后,在下面的“output filename(输出文件名)”处设置输出文件的路径及名称后,点击“start muxing(开始合并)”按钮输出mkv文件。另外,mkvtoolnix也可用于分离mkv文件,只要将mkv文件导入,再将每个码流单独命名输出就行了。
mkv的转换
  mkvtoolnix不能将asf、wmv合并到mkv中,这个任务要由asf2mkv recorder 完成。运行asf2mkv recorder,在软件窗口的地址栏中输入源文件的完整路径(也可复制),然后单击“record!”按钮,会弹出另存为对话框,在其中设置好mkv文件保存的路径及名称后即可输出mkv文件。
  asf2mkv recorder只是简单的将asf、wmv文件转换成mkv文件,不能合成多种音频,更不能合入字幕。不过,这种包含windows media的mkv文件已经可以用mkvtoolnix进行处理了,要做到这些自然也不困难。
  mkv video converter视频转换器是一款易于使用的mkv视频转换软件,可以帮助您转换mkv到avi,mkv到ipod,mkv到dvd,并且转换出优秀的图象和声音。通过指定对话的起止时间你就可以剪切dvd的任意一个部分来制成mkv录像。
  该mkv转换工具,也支持mpeg, mp4, mov, wmv, wav, vcd, vob, psp etc to mkv(matroska video)文件。
mkv的采集
  目前可做mkv格式视频采集的程序有两个,一个是virtualvcr,一个是media player classic,其中以前者的功能最为强大。virtual vcr带有功能完善的电视调谐器,可方便的采集包括电视在内的模拟视频源。
  (1)virtualvcr-matroska
  用普通的virtualvcr版本是不能采集mkv视频的,必须使用virtualvcr-matroska版,这是一个绿色软件,直接用winrar解压出来就可以使用了。
  (2) 设置采集设备
  运行virtualvcr,在其主界面工具栏中单击设置按钮,会弹出“settings”对话框,首先选择“devices(设备)”选项卡,在“device selection”栏中选择视频(如philips proteus7130电视卡)及音频采集设备。然后选择“video source(视频源)”,共有三个选项“video tuner”即电视调谐器,“video composite”即av复合端子,“video svideo”即s端子,如果要采集电视就选择“video tuner”。
  (3)设置电视调谐器
  如果采集电视,要对电视调谐器进行设置。选择“tuner”选项卡,单击“tv tuner device(电视调谐设备)”按钮,会出现电视调谐器属性面板,在这里要设置好电视接收的国家代码(中国为86)及视频制式,视频制式可选择pal-b。完成然后回到“tuner”选项卡中,单击“scan”按钮,开始扫描电视频道。扫描出的电视频道会出现在左边的列表中,双击某个数字就会播放某个频道。这一步只在采集电视节目时需要设置,如果采集来自av端子和s端子的视频则无需理会这里的设置。
  (4)视频参数设置
  选择“video”选项卡,首先选定“use custom settings”复选框,然后设置其“frame size(帧尺寸)”,尺寸及视频的分辨率,可根据机器的性能来设置,如果机器的性能强劲,可设置为640×480(由于电视的质量不太高,更高的分辨率意义并不大)。“frame rate(帧率)”决定了视频是否连贯,一般在25fps就行了。
  下面的“use compression”也应该勾选,这样你就可以使用mpeg-4类的codec来进行编码了。视频codec建议选择divx pro 5.1.1,它的编码速度要比同类的codec快一些,这样可保证尽量少掉帧。点击“prop”按钮可设置编码codec的参数,主要是码率的设置,一般根据画面的分辨率来设置就行了,但如果采用较高分辨率,还需要将画面做消除interlace(隔行)处理,但这需要你的电脑非常强劲才行。
  (5)音频参数设置
  选择“audio”选项卡,选定其中的“capture audio(采集音频)”和“compress audio(压缩音频)”两个复选框,然后“compress audio”选择合适的音频编码。因为是实时采集,它对音频编码的要求比较苛刻,mp3肯定不行,因为它会用很多cpu资源。最好使用windows media audio v2,参数设置为44.1khz,64~128kbps,stereo,这样可兼顾音频文件的质量、速度与体积。
  (6)文保存设置
  最后选择“file”对话框,设置采集文件的名称及保存的路径。“setting”对话框中还有一个“stop”选项卡是用于设置采集的停止条件的(如时间和剩余硬盘大小)。所有的设置完成后,即可回到主界面进行采集。
  (7)采集mkv视频
  在主界面中单击工具栏“录制”按钮,即可进行采集,采集时你可按下工具栏中的“toggle stats”按钮,打开“stats”面板,查看有关的采集数据,如非常关键的丢帧数量,丢帧数量通常应该在总帧数的2~3%以下,否则会让人觉得很不流畅。如果丢帧太多,可适当降低采集参数(分辨率、码率)。
  matroska的发展速度相当快,它未来的目标是要使文件具备流媒体特性,可通过http及rtp协议进行流式传输,另外为这种格式增加一种类似dvd菜单的功能也纳入了下一步的发展计划。当这些计划完成后,我们可以看到一个功能更强大,更全面的多媒体封装格式。

相关标签: MKV