Google chrome 如何解压缩audio.aecdump?
我有一个垃圾桶chrome://webrtc-internals 我想把它解压缩。我怎么能做到?我知道我可以使用unpack_aecdump,但我在哪里可以找到它?使用unpack_aecdump(如果编译所有目标,它应该是out/Debug或out/Release)来解压缩AEC调试转储 解包结果: reverse.pcm:从网络接收的音频,绑定用于渲染 input.pcm:音频处理前捕获的音频 ref_out.pcm:音频处理后捕获的音频绑定到网络 通常,pcm文件为16位线性文件,通常为单声道,采样率为16 kHz,但请检查settings.txt,该文件可能在使用unpack实用程序时创建。然后可以在任何音频编辑器中打开这些文件进行分析 有关更多信息:获取Google chrome 如何解压缩audio.aecdump?,google-chrome,webrtc,Google Chrome,Webrtc,我有一个垃圾桶chrome://webrtc-internals 我想把它解压缩。我怎么能做到?我知道我可以使用unpack_aecdump,但我在哪里可以找到它?使用unpack_aecdump(如果编译所有目标,它应该是out/Debug或out/Release)来解压缩AEC调试转储 解包结果: reverse.pcm:从网络接收的音频,绑定用于渲染 input.pcm:音频处理前捕获的音频 ref_out.pcm:音频处理后捕获的音频绑定到网络 通常,pcm文件为16位线性文件,通常为单
解包\u aecdump
您需要解包\u aecdump
,您可以通过以下方式获得:
./unpack_aecdump audio_debug.4440.aec_dump.1
gclient sync
后),创建生成目录:
gn gen out/Release --args='is_component_build=false'
is\u component\u build=false
标志确保可以单独使用“unpack\u aecdump”二进制文件。如果省略该标志,则默认情况下会打开组件生成(如运行gn-args-out/Release--list
后在不带args的情况下运行gn-gen-out/Release
)。在这种情况下,库与主二进制文件分离,如果您想与其他人共享二进制文件,则需要复制多个文件(不仅是“unpack_aecdump”,还包括“libprotobuf_lite.so”)
执行上述步骤后,我的存储库的总大小为7 Gb。存储库大约1Gb,外部依赖项大约5.5Gb,构建工件大约0.5Gb。前两个步骤可能需要一段时间,尤其是在糟糕的网络上。对我来说,实际的构建步骤在一分钟内完成。二进制本身只有3MB
(通过测试)
使用unpack\u 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
与我从chrome://webrtc-internals
与aecdump
文件一起使用
这些文件的含义也在以下章节中解释:
- reverse.pcm:从网络接收的音频,绑定用于渲染
- input.pcm:音频处理前捕获的音频
- ref_out.pcm:音频处理后捕获的音频绑定到网络
--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
你能给我解释一下这句话吗?“使用unpack_aecdump(如果你编译了所有目标,它应该在out/Debug或out/Release上)来解压缩AEC调试转储。”我应该在哪里搜索unpack_aecdump?