我有来自chrome:// webrtc-internals的转储,我想解压缩它。我怎么能这样做?我知道我可以使用unpack_aecdump但我在哪里可以找到它?
答案 0 :(得分:1)
unpack_aecdump
您需要unpack_aecdump
,您可以按照以下方式获取:
获得存储库后(在完成gclient sync
之后),创建构建目录:
gn gen out/Release --args='is_component_build=false'
最后,构建可执行文件(有关源代码,请参阅unpack.cc,有关构建标志和依赖项,请参阅build.GN):
ninja -C out/Release/ unpack_aecdump
is_component_build=false
标志确保“unpack_aecdump”二进制文件可以单独使用。如果省略该标志,则默认情况下会打开组件构建(正如您在运行gn args out/Release --list
而没有args之后可以从gn gen out/Release
看到)。在这种情况下,库与主二进制文件分离,如果要与其他文件共享二进制文件(不仅仅是“unpack_aecdump”而且还有“libprotobuf_lite.so”),则需要复制多个文件。
执行上述步骤后,我的存储库的总大小为7 Gb。存储库大约1Gb,外部依赖大约5.5Gb,构建工件大约0.5Gb。前两个步骤可能需要一段时间,尤其是在糟糕的网络上。实际构建步骤在一分钟内完成。二进制本身只有3MB。
(使用https://chromium.googlesource.com/external/webrtc.git/+/0e3213a18ceceb325f5b679f6eea7aff12059960测试)
unpack_aecdump
构建unpack_aecdump
后,我将其复制到其他位置并按如下方式使用:
./unpack_aecdump audio_debug.4440.aec_dump.1
下面的第一行是输入文件,其他是输出文件(前面的文件大小,以字节为单位)。 如果输出文件已存在,则会覆盖。
163865593 audio_debug.4440.aec_dump.1
643 settings.txt
39862916 reverse0.wav
21696044 ref_out0.wav
19933244 input0.wav
请注意input0.wav
与audio_debug.4440.source_input.1.wav
完全相同,我也是chrome://webrtc-internals
与aecdump
文件一起提供的文件。
这些文件的含义也在https://groups.google.com/d/msg/discuss-webrtc/NxPHdEAyU9k/QcH-DkVtD6oJ中解释:
- reverse.pcm:从网络接收的音频,绑定进行渲染。
- input.pcm:音频处理前捕获的音频。
- ref_out.pcm:音频处理后捕获的音频绑定到网络。
可以自定义输出格式(包括文件名),请参阅the source code或--help
:
$ ./unpack_aecdump --help
( ... )
Flags from ../../webrtc/modules/audio_processing/test/unpack.cc:
-delay_file (The name of the delay file.) type: string
default: "delay.int32"
-drift_file (The name of the drift file.) type: string
default: "drift.int32"
-full (Unpack the full set of files (normally not needed).) type: bool
default: false
-input_file (The name of the input stream file.) type: string
default: "input"
-keypress_file (The name of the keypress file.) type: string
default: "keypress.bool"
-level_file (The name of the level file.) type: string
default: "level.int32"
-output_file (The name of the reference output stream file.) type: string
default: "ref_out"
-raw (Write raw data instead of a WAV file.) type: bool default: false
-reverse_file (The name of the reverse input stream file.) type: string
default: "reverse"
-settings_file (The name of the settings file.) type: string
default: "settings.txt"
-text (Write non-audio files as text files instead of binary files.)
type: bool default: false
答案 1 :(得分:0)
使用 unpack_aecdump (如果编译所有目标,它应该在out / Debug或out / Release。)来解压缩AEC调试转储。
解包结果:
reverse.pcm:从网络接收的音频,绑定进行渲染。
在音频处理之前,input.pcm:捕获的音频。
ref_out.pcm:音频处理后捕获的音频绑定到网络。
通常pcm文件是16位线性的,通常是单声道,采样率为16 kHz,但请检查在使用解包实用程序时可能创建的settings.txt。然后可以在任何音频编辑器中打开文件进行分析。
了解更多信息:Check discuss-webrtc post