AVFrame->data中的原始音频和LPCM一样吗?

问题描述 投票:0回答:1

在 ffmpeg 文档中

AVFrame
它说

此结构描述解码(原始)音频或视频数据。

对于音频数据,

AVFrame
中的样本采用什么格式?它们基本上看起来像原始 LPCM 样本吗?如果将音频数据解码为
AVFrame
(即通过
avcodec_send_packet() ... avcodec_receive_frame()
),无论数据包中最初采用什么编码(假设相同的采样率、采样格式等),数据包的音频数据看起来是否相同)?

基于问题解码后的音频数据如何存储在ffmpeg AVFrame中?似乎是这样,但我想知道这是否与LPCM相同,无论音频数据之前采用什么编码?

额外问题:如果与 LPCM 相同,为什么要使用 PCM 编码器(例如“”pcm_f32le”)将帧数据编码为

AVPacket
s?内部数据看起来相同吗?只是为了顺序使用带有
AVPacket
的函数,例如
av_interleaved_write_frame()

audio ffmpeg libav libavcodec libavformat
1个回答
0
投票

理论上,它可以是音频解码器输出的任何内容,例如DSD,但 ffmpeg 原始音频预计将由其他组件(例如过滤器、编码器。

您将使用 PCM 编码器,因为输出 PCM 格式或字节顺序可能不同。

© www.soinside.com 2019 - 2024. All rights reserved.