Whe*_*rdy 4 audio aac audio-processing handbrake dolby
我试图找出是否有一种方法可以确定是否使用Dolby Pro Logic II数据对AAC编码的音轨进行了编码。有没有一种检查文件的方式,以便您可以查看此信息?例如,我已经在Handbrake中使用(截断为音频选项)对媒体文件进行了编码-E av_aac -B 320 --mixdown dpl2,这是显示的音频轨道mediainfo:
Audio #1
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 2h 5mn
Bit rate mode : Variable
Bit rate : 321 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 288 MiB (3%)
Title : Stereo / Stereo
Language : English
Encoded date : UTC 2017-04-11 22:21:41
Tagged date : UTC 2017-04-11 22:21:41
Run Code Online (Sandbox Code Playgroud)
但我无法确定此输出中是否有任何内容暗示它已使用DPL2数据编码。
tl:dr; 这可能是可能的;如果您是一名程序员,可能会更容易。
因为编码的信息只是立体声模拟对,所以无法保证在其中检测Dolby Pro Logic II(DPL2)信号的方法,除非您专门存储自己的元数据“这是DPL2文件”。但是您可能会做出一个很好的猜测。
所有旧的模拟杜比环绕声格式,包括DPL2,都通过反转一个或多个环绕声的相位,然后将它们混入原始的左右声道,在两个通道中存储环绕声信息。包括DPL2在内的杜比环绕声类型解码器试图通过反转两个通道之一的相位然后在这些信号对中寻找相似性来恢复此信息。这可以像在Dolby Surround中那样简单地完成,也可以像DPL2那样人为地偏向于将这些相似性推向左侧或右侧或左侧或右侧周围。
因此,诀窍是检测重要数据是否存储在环绕声通道中。我将为您勾勒出一种可能有效的方法,并且尝试不编写代码来表达它,但是您可以根据自己的喜好实现和完善它。
我已经写出了此算法,以便您可以使用sox中的特定命令来完成每个步骤。如果您想变得更聪明,则可以运行ebur128程序并检查LUFS中的水平是否超出公差,而不是在sox中执行RMS /峰值值步骤。如果您想变得更精通,可以在创建Surround和Center文件之后,过滤掉所有高于7kHz的频率并对其进行去加重,就像真正的DPL2解码器一样。
为了简化该算法,我已经在幅度域中对其进行了概述。如果您知道如何计算FFT仓的幅度和角度,并且使用30到100 ms的窗口,则可以在频域中更准确地完成SurroundLevel文件的计算。但是上面的cheapo版本应该可以帮助您入门。
最后一提。AAC是一种现代的心理声学编解码器,这意味着它喜欢玩具有立体声定相和成像功能的游戏来实现其压缩。因此,我认为将DPL2封装到AAC流中的行为很可能会削弱DPL2中存在的某些图像。坦率地说,DPL2和AAC都不属于该管道中的任何位置。如果必须存储最初使用DPL2编码的模拟流,请以无损格式(例如WAV或FLAC,而不是AAC)进行处理。
在撰写本文时,此处提供了杜比定向逻辑(I)技术背后的操作概念。这些基本概念仍然适用于DPL2。DPL2的操作概念在这里。
| 归档时间: |
|
| 查看次数: |
959 次 |
| 最近记录: |