背景
最近做影视混剪,下载的电影大部分都是1080p和4k的,视频格式都是 mkv,然鹅PR2019虽然支持导入MKV格式,但是不解码音频,音频可以通过很多软件转换出来再放回PR。
试过用 mkvtoolnix 、MediaCoder 、MkvToMp4,解封装再封装,视频没什么问题,但是音频没编码出来。音频中有时候我需要一部分背景音效或者人声,下载的电影的中如果是5.1声道的,就能直接获取各个声道的音轨。
配合了几个软件解决了,这里记录其中一个方法。(当然,最简单粗暴就是转成mp4)
gMKVExtractGUI
1、先下载安装: mkvtoolnix
2、然后下载:gMKVExtractGUI,将gMKVExtractGUI安装到mkvtoolnix目录下。
3、打开gMKVExtractGUI,将mkv视频拖拽到中间空白处,这时候会出现很多信息项,勾选“audio”相关的信息;
4、选择右下角的“extract”开始提取。提取完后输出的路径中会多几个文件,其中 .ac3 就是整部电影的音频,有一个 .dts 结尾的,接着提取,往下看。
eac3to
1、下载 eac3to,安装到 mkvtoolnix 所在目录;
2、打开 eac3to 目录,按住shift右键,选择“在此处打开Powershell窗口”或者“cmd窗口”;
3、运行 ./eac3to.exe [.dts所在路径] [目标路径]
比如我前面提取的.dts文件在D:\download\Jason Momoa下,要输出到 D:\download\Jason Momoa下,那么就是: ./eac3to.exe "D:\download\Jason Momoa\Aquaman.2018.IMAX.2160p.BluRay.x264.8bit.SDR.DTS-HD.MA.TrueHD.7.1.Atmos-SWTYBLZ\Aquaman.dts" D:\download\Jason Momoa\Aquaman.wavs
注意:输出的文件要以 .wavs 结尾。
运行过程: DTS Master Audio, 7.1 channels, 24 bits, 48kHz (core: DTS, 5.1 channels, 1509kbps, 48kHz) Decoding with libDcaDec DTS Decoder... libDcaDec reported the warning "XLL output not lossless". Writing WAVs... Creating file "D:\aa.BL.wav"... Creating file "D:\aa.C.wav"... Creating file "D:\aa.SL.wav"... Creating file "D:\aa.R.wav"... Creating file "D:\aa.LFE.wav"... Creating file "D:\aa.SR.wav"... Creating file "D:\aa.BR.wav"... Creating file "D:\aa.L.wav"... Original audio track, L+R+C+BL+BR+SL+SR: max 24 bits, average 17 bits. Original audio track, LFE: constant bit depth of 16 bits. eac3to processing took 8 minutes, 9 seconds. Done.
完成后,输出文件夹会多很多 .wav 结尾的文件,后缀名前也多了一些 BL、BR、C、L 之类的字母。
5.1声道是指中央声道,前置左、右声道、后置左、右环绕声道,及所谓的0.1声道重低音声道。一套系统总共可连接6个喇叭。5.1声道已广泛运用于各类传统影院和家庭影院中,一些比较知名的声音录制压缩格式,譬如杜比AC-3(Dolby Digital)、DTS等都是以5.1声音系统为技术蓝本的,其中“0.1”声道,则是一个专门设计的超低音声道,这一声道可以产生频响范围20~120Hz的超低音。
比如: FR是Front R-右前声道 FL是Front L-左前声道 SR是Surround R 环绕右声道 FC是Front Center-中置声道 SL是Surround L-环绕左声道
人声和旁白在中央声道,所以找到 .C.wav 结尾的,就是人声了,但是不是纯的人声,会夹杂些环境音效,这个也是不同电影有不同的区别。
其他
第一步下载的mkvtoolnix,其中包含了一些命令工具,如 查看mkv信息 mkvmerge -i Aquaman.mkv
mkvextract 将mkv文件中的不同数据轨道拆解到不同的文件中,下面命令是提取音频信息 `# 这里的2是变量,要看输出的信息
mkvextract tracks Aquaman.mkv 2:Aquaman.dts 直接替换原来文件中的音轨,其他都不变: mkvmerge -o Aquaman.mkv -A -S Aquaman.mkv Aquaman.ac3 `
在安装目录下 \doc\zh_CN 中包含对应的参数和用法说明