Libavresample:从 AV_SAMPLE_FMT_FLTP 到 AV_SAMPLE_FMT_S16P 的转换不明确
Libavresample: convertion from AV_SAMPLE_FMT_FLTP to AV_SAMPLE_FMT_S16P is not clear
使用"avresample_convert"从AV_SAMPLE_FMT_FLTP转换为AV_SAMPLE_FMT_S16P后声音不清晰(质量差,有些噪音)
采样率相同,我只需要从浮点平面格式转换为带符号的 16 位平面格式。
如何将音频格式从AV_SAMPLE_FMT_FLTP正确转换为AV_SAMPLE_FMT_S16P?
我发现了问题:
如果您尝试将 AV_SAMPLE_FMT_FLTP 转换为 AV_SAMPLE_FMT_S16P,您应该使用内部 FIFO 缓冲区并使用每个音频帧精确的 1152 个音频样本进行操作(传递给编码器)(在我的例子中是 mpeg2)。
一些有用的信息,一个音频帧包含每个通道的 xyz 音频样本:
- aac: 1024
- mpeg(layer1): 384
- mpeg(layer2): 1152
使用"avresample_convert"从AV_SAMPLE_FMT_FLTP转换为AV_SAMPLE_FMT_S16P后声音不清晰(质量差,有些噪音)
采样率相同,我只需要从浮点平面格式转换为带符号的 16 位平面格式。
如何将音频格式从AV_SAMPLE_FMT_FLTP正确转换为AV_SAMPLE_FMT_S16P?
我发现了问题: 如果您尝试将 AV_SAMPLE_FMT_FLTP 转换为 AV_SAMPLE_FMT_S16P,您应该使用内部 FIFO 缓冲区并使用每个音频帧精确的 1152 个音频样本进行操作(传递给编码器)(在我的例子中是 mpeg2)。
一些有用的信息,一个音频帧包含每个通道的 xyz 音频样本:
- aac: 1024
- mpeg(layer1): 384
- mpeg(layer2): 1152