Audio libfaac:队列输入在时间上是向后的
我正在使用libav和libfaac将音频编码到aac中。 逻辑如下:Audio libfaac:队列输入在时间上是向后的,audio,ffmpeg,libav,transcoding,libfaac,Audio,Ffmpeg,Libav,Transcoding,Libfaac,我正在使用libav和libfaac将音频编码到aac中。 逻辑如下: frames[n] i = 0 ; while (there are frames) { cur_frame = frames[i]; av_encode_audio(frame, ...., &frame_finished); if( frame_finished ) { i++; } } 但是我在几帧中收到了这个恼人的警告“队列输入在时间上是向后的!”答案很简单,您不应该再次将
frames[n]
i = 0 ;
while (there are frames)
{
cur_frame = frames[i];
av_encode_audio(frame, ...., &frame_finished);
if( frame_finished )
{
i++;
}
}
但是我在几帧中收到了这个恼人的警告“队列输入在时间上是向后的!”答案很简单,您不应该再次将同一帧传递给libfaac, 因此,即使帧_finished不是1,也应该转到下一帧 其内容应如下:
frames[n]
i = 0 ;
while (there are frames)
{
cur_frame = frames[i];
av_encode_audio(frame, ...., &frame_finished);
i++;
}