【发布时间】:2012-11-15 21:06:26
【问题描述】:
这是我使用 ffmpeg 的 libav* 解码音频流的过程
[videofile]-->(读取音频包)--> [pkts queue]-->(解码器)--> 说话人的样本缓冲区
由于某种原因,我需要在解码器之后插入一个缓冲区
[videofile]-->(读取音频包)--> [pkts queue]-->(解码器)--> [samples buffer] --> 说话人的样本缓冲区
samples buffer 中的音频样本是 LPCM 16 位。为了保存音频sample buffer 的 pts,我保存了第一个样本的 pts。通过这种方式,我可以计算缓冲区中任何样本的 pts。
问题是只有当音频流包含连续的音频样本时计算才是正确的。 ffmpeg 解码后的音频帧是否总是包含连续的样本?
【问题讨论】:
标签: ffmpeg libavcodec libav libavformat