蓝光原盘压制中的音频处理
音轨的处理经常被忽视,其实个人认为重编码作品没有必要保留高清音轨,毕竟能有相应设备播放的人毕竟是少数。既然是为了节省体积才做的重编码,就应该在更多的地方考虑到节省,音轨就是个很好的处理对象。
预备知识
音轨编码的分类
蓝关标准中的音轨编码有
- LPCM
- Dolby Digital / AC-3
- Dolby Digital Plus / E-AC-3
- Dolby Lossless / Dolby TrueHD
- DTS digital surround
- DTS-HD
- DRA
- DRA Extension
LPCM是一种非压缩格式,蓝光电影极少采用。
Dolby Atoms / DTS:X 没有单独列出来,可以看做是Dolby TrueHD / DTS-HD MA 在7.1声道之上的升级版。主要出现在UHD原盘上。
Dolby Atoms / DTS:X本身是向下兼容Dolby TrueHD / DTS-HD MA 的。
最后两个是我国的国标,虽然被强行塞进了蓝光标准,迄今为止据说还没有实例。
杜比系 | DTS系 | 声道 | 常见情况 |
---|---|---|---|
Dolby Atoms | DTS:X | Object | 最高规格,UHD原盘常见 |
Dolby TrueHD | DTS-HD Master Audio | 7.1 / 5.1 | BD常见最高规格,UHD次高规格 |
E-AC-3 | DTS-HD | 7.1 / 5.1 | 常用于非主语言的音轨 |
AC-3 | DTS | 5.1 | 常用于非主语言的音轨 |
core
DTS-HD Master Audio 的是一定有一个DTS core的,它是整个音轨不可或缺的一部分,这个core可以用软件无损提取出来
Dolby TrueHD 也可以含有AC-3 core,但是这个core不是必备的,其实带core的Dolby TrueHD相当于是两条音轨,都可以单独播放。在蓝关标准中规定Dolby TrueHD一定要带core,这是出于播放器兼容考虑的。用软件很容易将Dolby TrueHD的core分离出来。
别名与缩写
AC-3 / Dolby Digital (DD) 是一回事。DD 5.1
是指5.1声道的AC-3。AC-3最高支持5.1声道。AC3不带杠一般和AC-3同义,或者特指符合AC-3标准但未获Dolby授权的音频格式。
E-AC-3 / Dolby Digital Plus (DDP) 是一回事。E-AC-3是AC-3的升级,E-AC-3支持7.1声道。
A/52 是一个标准的名称,它有两个版本。版本A就是AC-3,版本B是E-AC-3。所以A/52也可以看做是一回事。
DCA 是 DTS Coherent Acoustics的缩写,和我们讨论的DTS也是一回事。
AHD重编码教程中的标准
源音轨类型 | 声道 | 2160p | 1080P | 720p |
---|---|---|---|---|
无损 | 全景声 % | DTS-HD/THD | 1280 EAC3 | 5.1 640 AC3 |
无损 | 6.1 / 7.1 | 1536 EAC3 # | 1280 EAC3 | 5.1 640 AC3 |
无损 | 5.1 | 640 AC3 # | 640 AC3 | 640 AC3 |
无损 | 1.0 / 2.0 | FLAC / Opus / AAC * | FLAC / Opus / AAC * | FLAC / Opus / AAC * |
有损 | 任何 | 丢弃 | 丢弃 | 丢弃 |
评论音轨 | 任何 | Opus / AAC | Opus / AAC | Opus / AAC |
% 指X或者Atoms音轨,常见于UHD蓝关原盘
# 源音轨也可以接受
* 或者其他合理格式
它这里源音轨类型的无损并不是指无损编码,而是指蓝光源中最高规格的音轨。
案例
Jumanji: The Next Level [2019]
UHD
- [#1] DTS:X Master Audio / 7.1-X / 48 kHz / 6291 kbps / 24-bit (DTS Core: 5.1 / 48 kHz / 1509 kbps / 24-bit)
- [#2] Dolby Digital Audio / 5.1 / 48 kHz / 640 kbps
x265-2160p
- [HQMUX] / [HDChina] / [BeiTai] DTS:X Master Audio / 7.1-X - 直接拷贝[#1]
x265-1080p
- [D-ZON3] Dolby Digital Plus / 7.1 / 48 kHz / 1536 kbps - 重编码[#1]
- [DON] Dolby Digital Plus / 7.1 / 48 kHz / 1536 kbps - 重编码[#1]
BD
- [#1] DTS-HD Master Audio / 5.1 / 48 kHz / 3725 kbps / 24-bit (DTS Core: 5.1 / 48 kHz / 1509 kbps / 24-bit)
- [#2] Dolby Digital Audio / 5.1 / 48 kHz / 640 kbps / DN -31dB
x264-1080p
- [LoRD] Dolby Digital Plus / 5.1 / 1536 kbps - 重编码[UHD#1]
- [DON] / [iFT] Dolby Digital Plus / 7.1 / 1536 kbps - 重编码[UHD#1]
- [HDChina] DTS-HD Master Audio / 5.1 / 3725 kbps - 直接拷贝[#1]
- [CHD] / [WiKi] DTS / 5.1 / 1509 kbps - 提取内核[#1]
x264-720p
- [LoRD] / [iFT] / [WiKi] Dolby Digital Audio / 5.1 / 640 kbps - 直接拷贝[#2]
- [HDChina] DTS / 5.1 / 1509 kbps - 提取内核[#1]
Jojo Rabbit [2019]
UHD
- [#1] DTS-HD Master Audio / 5.1 / 48 kHz / 3341 kbps / 24-bit (DTS Core: 5.1 / 48 kHz / 1509 kbps / 24-bit)
- [#2] Dolby Digital Audio / 5.1 / 48 kHz / 448 kbps / DN -31dB
- [评论] Dolby Digital Audio / 2.0 / 48 kHz / 224 kbps / DN -31dB
x265-2160p
- [HDChina] / [CHD] DTS-HD Master Audio / 5.1 / 3341 kbps - 直接拷贝[#1]
- [BeiTai]
- DTS-HD Master Audio / 5.1 / 3341 kbps - 直接拷贝[#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论] - 比特率标错?
- [beAst]
- DTS-HD Master Audio / 5.1 / 3341 kbps - 直接拷贝[#1]
- Dolby Digital Audio / 5.1 / 448 kbps - 直接拷贝[#2] - 视觉描述
- Dolby Digital Audio / 2.0 / 224 kbps - 直接拷贝[评论]
x265-1080p
- [D-ZON3] Dolby Digital Plus / 5.1 / 48 kHz / 768 kbps - 重编码[#1]
- [PTer]
- DTS / 5.1 / 1509 kbps - 提取内核[#1]
- AAC / 2.0 / 80.3 kbps - 重编码[评论]
BD
- [#1] DTS-HD Master Audio / 5.1 / 48 kHz / 3341 kbps / 24-bit (DTS Core: 5.1 / 48 kHz / 1509 kbps / 24-bit)
- [#2] Dolby Digital Audio / 5.1 / 48 kHz / 448 kbps / DN -31dB
- [评论] Dolby Digital Audio / 2.0 / 48 kHz / 224 kbps / DN -31dB
x264-1080p
- [DON] / [iFT]
- DTS / 5.1 / 1509 kbps - 提取内核[#1]
- Dolby Digital Audio / 2.0 / 224 kbps - 直接拷贝[评论]
- [WiKi] DTS / 5.1 / 1509 kbps - 提取内核[#1]
- [HDChina] / [CHD] DTS-HD Master Audio / 5.1 / 3341 kbps - 直接拷贝[#1]
x264-720p
- [TayTO] / [iFT]
- Dolby Digital Audio / 5.1 / 640 kbps - 重编码[#1]
- Dolby Digital Audio / 2.0 / 224 kbps - 直接拷贝[评论]
- [WiKi] Dolby Digital Audio / 5.1 / 640 kbps - 重编码[#1]
- [HDChina] DTS / 5.1 / 1509 kbps - 提取内核[#1]
1917
UHD
- [#1] Dolby TrueHD/Atmos Audio / 7.1-Atmos / 48 kHz / 4258 kbps / 24-bit (AC3 Core: 5.1 / 48 kHz / 448 kbps)
- [评论#1] Dolby Digital Audio / 2.0 / 48 kHz / 192 kbps
- [评论#2] Dolby Digital Audio / 2.0 / 48 kHz / 192 kbps
x265-2160p
- [HDMUX]
- Dolby TrueHD/Atmos Audio / 7.1-Atmos / 4258 kbps - 直接拷贝[#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论#?]
- [HDChina]
- Dolby TrueHD/Atmos Audio / 7.1-Atmos / 4258 kbps - 直接拷贝[#1]
- Dolby Digital Audio / 5.1 / 448 kbps - 提取核心[#1]
- [BeiTai]
- Dolby TrueHD/Atmos Audio / 7.1-Atmos / 4258 kbps - 直接拷贝[#1]
- Dolby Digital Audio / 5.1 / 448 kbps - 提取核心[#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论#2]
- [CHD]
- Dolby TrueHD/Atmos Audio / 7.1-Atmos / 4258 kbps - 直接拷贝[#1]
x265-1080p
- [NCmt]
- Dolby Digital Plus / 7.1 / 1536 kbps (AC3 Core: 5.1 / 640 kbps) - 重编码[#1]
- Opus / 2.0 / ~ 72.05 kbps - 重编码[评论#1]
- Opus / 2.0 / ~ 72.05 kbps - 重编码[评论#2]
- [DON]
- Dolby Digital Plus / 7.1 / 1536 kbps - 重编码[#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论#2]
- [beAst] / [CHD] Dolby TrueHD/Atmos Audio / 7.1-Atmos / 3810 kbps - 剥离核心[#1]
- [BeiTai]
- Dolby TrueHD/Atmos Audio / 7.1-Atmos / 4258 kbps - 直接拷贝[#1]
- Dolby Digital Audio / 5.1 / 448 kbps - 提取核心[#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论#2]
BD
- [#1] Dolby TrueHD/Atmos Audio / 7.1-Atmos / 48 kHz / 4258 kbps / 24-bit (AC3 Core: 5.1 / 48 kHz / 448 kbps)
- [评论#1] Dolby Digital Audio / 2.0 / 48 kHz / 192 kbps
- [评论#2] Dolby Digital Audio / 2.0 / 48 kHz / 192 kbps
x264-1080p
- [iFT] / [LoRD]
- Dolby Digital Plus / 7.1 / 1536 kbps - 重编码[#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论#2]
- [HDChina] / [CHD] Dolby TrueHD/Atmos Audio / 7.1-Atmos / 4258 kbps - 直接拷贝[#1]
- [WiKi] Dolby Digital Audio / 5.1 / 448 kbps - 提取核心[#1]
x264-720p
- [LoRD]
- Dolby Digital Plus / 5.1 / 768 kbps - 重编码[#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论#1]
- Dolby Digital Audio / 2.0 / 192 kbps - 直接拷贝[评论#2]
- [WiKi] / [HDChina] Dolby Digital Audio / 5.1 / 448 kbps - 提取核心[#1]
点评
基本上国外的一些高质量重编码小组倾向于对音轨也做重编码处理。国内的组基本都是直接拷贝或者提取核心。既然是做重编码,就应该往节省体积上考虑,我赞同国外组的处理方式。
分类处理
LPCM
许多有些年代的片子,由于当时录音设备的限制,并没有环绕声道,音轨格式为LPCM。遇到这种原盘,一般是将音轨处理为FLAC。
REMUX
做REMUX的时候,直接把原盘中最高规格的一或多条封装起来就行。
UHD原盘重编码
目前来看UHD原盘的重编码还是比较少,主要是重编码可压缩的空间不大,H.265编码又费时费力。不过还是有些小组会做x265的1080p,主要的优势是比以前的x264的1080p多个HDR,而且H.265理论上压缩率更高。
HDB和AHD的官方组一般都会对原音轨做重编码处理,国内小组一般是直接拷贝音轨或者提core。
BD原盘重编码
1080p一般是用源音轨,或者提取core。720p基本是用提取的core。
HDB和AHD的官方组有时会用UHD的源重编码。
core的提取
Windows 上大家一般都是用eac3to来处理音轨,实际上所有的demux工作都是交给eac3to来处理。据说是它的兼容性最好,处理原盘基本不会出错。但是eac3to是一个闭源软件,在Linux上使用需要安装wine,而且对路径的处理也很麻烦。所以我还会考虑在Linux上的其他工具来实现eac3to的功能。
thd+ac3
Dolby TrueHD的AC-3 core其实是可以看做单独的音轨,用ffprob查看它就是分开处理的。
ffmpeg处理
1 | ffprob 00040.m2ts |
输出
1 | Input #0, mpegts, from 'Ant-Man.And.The.Wasp.2018.COMPLETE.UHD.BLURAY-COASTER\BDMV\STREAM\00040.m2ts': |
先看一下AC-3 core音轨的编号,一般就是主音轨后面一条,码率为640 kb/s,本例中为0:2
1 | ffmpeg -i 00040.m2ts -map 0:2 -acodec copy core-f.ac3 |
如果是想提取Dolby TrueHD音轨,本例中的0:1
,命令是
1 | ffmpeg -i 00040.m2ts -map 0:1 -acodec copy thd-f.thd |
eac3to处理
1 | eac3to [原盘目录] |
输出
1 | 1) 00004.mpls, 00040.m2ts, 1:58:09 |
先看一下选出来的playlist,选出正确的编号,本例中为1)
1 | eac3to [原盘目录] 1) |
输出
1 | M2TS, 1 video track, 7 audio tracks, 18 subtitle tracks, 1:58:09, 11.988p |
不同于ffmpeg的输出,thd+ac3只占用一个编号,本例中为3
1 | eac3to [原盘目录] 1) 3:core-e.ac3 -core |
提取Dolby TrueHD音轨不带core
1 | eac3to [原盘目录] 1) 3:thd-e.thd |
提取Dolby TrueHD音轨带core
1 | eac3to [原盘目录] 1) 3:thd-e.thd+ac3 |
比较结果
可以用sha1计算不同工具提取出来的音轨,发现它们完全是一样的。
1 | 69333bfd66a258a1df5d4a4bdcfe212bd6dd7abc *thd-f.thd |
ffmpeg似乎是没办提取带core的Dolby TrueHD音轨,不过这并不真的重要,重编码的时候把它当两条音轨处理就好。
DTS-HD Master Audio
目前我手头上并没有原盘,先给出命令,待日后补充
ffmpeg
1 | ffmpeg -i 00040.m2ts -map 0:2 -bsf:a dca_core -c:a copy core-f.dts |
eac3to
1 | eac3to [原盘目录] 1) 3:core-f.dts -core |
音频重编码
从之前的调查来看,目前比较常见的音轨重编码需求主要是把UHD原盘中的7.1声道的DTS-HD Master Audio / DTS:X / Dolby TrueHD / Atoms压缩成DDP 7.1。原因是前者实在是太大了。
另外就是把一些次要音频进行重编码压缩了,例如把DD 2.0压成Opus。
再就是把LPCM重编码成FLAC。
DDP 7.1
目前开源的软件似乎还都没办法编译7.1声道的E-AC-3,必须上商业软件。ffmpeg能编码5.1声道的E-AC-3。eac3to只是一个前端,本身没有编码能力。ffmpeg关于E-AC-3更多声道的支持讨论见#3595
目前唯一的选择好像是在 OS X 上用 Dolby Media Producer Suite。具体的我将单独写一篇文章介绍。
Opus
Opus是比较新的一个有损音频编码格式,在较低码率下的表现应该是最好的。所以推荐Opus优先于AAC。原盘里面的评论音轨一般是AC3 2.0的,可以考虑转换成Opus格式
ffmpeg处理
以demux出的AC3文件为输入
1 | ffmpeg -i input.ac3 -c:a libopus -b:a 160 output.opus |
或者直接以源视频文件为输入,假设处理对象音轨编码为0:5
1 | ffmpeg -i 00040.m2ts -map 0:5 -c:a libopus -b:a 160 output.opus |
eac3to处理
eac3to只是充当一个解码的角色,eac3to解码AC3时实际调用ffmpeg或者Nero解码器(须另外安装,不推荐)
先解码输出wav格式
1 | eac3to input.ac3 stdout.wav |
eac3to在处理AC3的时候不会把各个声道分别输出,这点不同于TrueHD。然后用Opus编码
1 | opusenc --bitrate 160 stdout.wav output.opus |
也可以直接pipe
1 | eac3to input.ac3 stdout.wav | opusenc --bitrate 160 - output.opus |