mkvextract 这个家伙,说白了就是开源界的“视频解压王”。没搞懂它的名字之前,你可能得先明白它干啥——就是把那些封存有 MKV 文件里的 DVD 要么电影剥离出来,变成一个个纯视频要么纯音频的独立文件。
这玩意儿在找资源、做转码要么解打包视频时简直是个神器,特别是那些乱七八糟带点字幕、声音、画外音的流浪视频,这玩意儿能救急。 大量人一看到 MKV 就绕道,认定它就是个没用的蓝光原盘格式,实际上这彻底冤枉。MKV 就是用来存一堆乱七八糟东西的“大杂烩”,它不像 MP4 那样死板,一个视频文件里能够塞进几十个不同的流。mkvextract 就是个专门负责从这大杂烩里把视频流抠出来的工具。
要是你手里有个打包过的视频,想拆开用,它绝对比那种费肚子的在线转换网站靠谱多了,纯本地操作,隐私啥的不用担。 先用它干嘛挺好办,核心指令就是 "mkvextract".这个命令是你最要命的命门,就像个万能钥匙。输入 `-o` 参数,你指定输出的位置,指定 `-i` 参数,你告诉它从哪个文件里拿数据。
这就像请哥们儿进食,你得明确说“我要你带啥菜”和“在哪”。
比方说,你想把标号为 1 的流单独拎出来做成 MP4,直接敲 `mkvextract -o output.mp4 -i input.mkv stream_1`。
要是想全都要,那就把 -i 后面的参数逗号隔开一行行加,一行一个,这样它就能一口气把视频流、音频流、字幕流全分出来。 最费事的实际上是视频缩略图(thumbnail)和音频(audio)的处理。视频缩略图一般藏在 MKV 里,mkvextract 能取出来,但有时候会乱。音频就略微好办点,只要把音频流放在前面,比如 `stream_0_1`,直接取就能拿到纯净的 MP3。
有时候你就连能够把音频直接丢进 mp3 转换软件去美化,省了 mkvextract 的功夫。 这里得提一句,MKV 里面最奇葩的局部就是字幕层。mkvextract 能取,但要注意它取出来的可能是带元数据的文本文件,而不是直接嵌入视频流里的字幕。
要是你需求的是那种直接嵌入视频流里的、播放时自动切换的字幕,那就得用专门嵌入字幕的工具,比如 Handbrake。mkvextract 更多是负责把“皮”剥下来,至于里面的“肉”还得自己处理。 实战演练是最好的老师。我上次有个旧硬盘上的视频,格式挺杂,想把它转成统一的 MP4。先用 mkvextract 把里面的所有视频流全拷出来,整理好顺序,再跟不变音的音频连在一起。
这时候发现标题乱套了,可能是不同语言的音轨混在一起了,这时候就得人工干预一下,把标题拆开了再包装。
要么干脆不想折腾,直接扔进 Handbrake 一键转码。mkvextract 是捡漏的第一步,Handbrake 是二次加工,两者配合起来,你才不用对着那些复杂的格式表头白忙活。 最终得说说它的优缺点。优点是它免费、开源,简直不用花钱买插件;缺点就是不能直接看视频流里的字幕,也不能直接转成任何视频容器。
要是你只是想把文件从一堆乱七八糟的导入库里拿出来,用 mkvextract 绝对能省下一大堆烦恼。但要是你需求把视频里的声音调大、画质高清化、要么把字幕改成中文字幕,那还得看别的软件,mkvextract 只是个宁静的幕后合伙人。 总而言之,mkvextract 就是个放在工具箱里、随时能拿出来捣乱的急用工具。别指望它能让你变得多智慧,但它能让你从庞大的文件迷宫里走出几个关键节点。
每次打开它,那行黑色的命令行提示符,都像是在暗示你:嘿,你又要启动一段折腾视频文件的旅程了。
不用每次都刻意思索步骤,它会自动帮你把一堆数据分类,只要你略微记一下参数,剩下的就交给它。