ffmpeg - libavcodec 如何解码音频帧?

标签 ffmpeg libavcodec libav libavformat

这是我如何使用 ffmpeg 的 libav* 解码音频流的过程

[videofile]--> (read audio packets) --> [pkts queue] --> (decoder) --> speaker's sample buffer

出于某种原因,我需要在解码器之后插入一个缓冲区

[videofile]--> (read audio packets) --> [pkts queue] --> (decoder) --> [samples buffer] --> speaker's sample buffer

样本缓冲区中的音频样本是 LPCM 16 位。为了保存音频样本缓冲区的点,我保存第一个样本的点。通过这种方式,我可以计算缓冲区中任何样本的分数。

问题是,仅当音频流包含连续的音频样本时,计算才是正确的。 ffmpeg 的解码音频帧是否始终包含连续的样本?

最佳答案

为什么情况并非如此呢?解码器将按照呈现给上层的顺序给出数据。

关于ffmpeg - libavcodec 如何解码音频帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13597878/

相关文章:

ffmpeg - 关键帧不是关键帧? AV_PKT_FLAG_KEY 未解码为 AV_PICTURE_TYPE_I

ffmpeg 流媒体视频网站——即时转换与托管多种格式

c++ - 带有 QT 内存泄漏的 FFMPEG

header - 如何使用 H264 编解码器使用 libavcodec 为 MP4 文件编写 avc1 原子

c++ - 使用 FFMPEG 库到 UDP 流 mpeg2 ts 视频延迟/初始连接问题

LIBAV - avprobe

ffmpeg - 使用ffmpeg批量提取多个缩略图?

javascript - 如何使用 ffmpeg 创建多质量视频流系统?

ffmpeg - 将两台网络摄像头合二为一

ffmpeg的iphone编码问题