解码MP3时AVFrame nb_samples不正确

时间:2019-04-23 04:51:59

标签: ffmpeg mp3 lamemp3

使用我的发行版附带的ffmpeg 3.4.4,我在解码mp3文件时遇到问题。解码器对于flac和m4a正常工作。

我已经看到了两个相关的问题,都与确定文件中的样本数量有关。

打开文件时,我使用以下API调用序列:

avformat_open_input(...);
avformat_find_stream_info(...);
avformat_find_best_stream(...);

这时,我拥有AVStream,与flac和m4a的情况不同,nb_frames字段不等于样本数。相反,我必须使用time_baseduration来计算样本数。

解码文件时,我是avcodec_send_packetavcodec_receive_frame。填充的AVFrame的{​​{1}}值不正确,因此在读取整个文件后,我只解码了大约4%的样本。

用ffmpeg解码mp3文件的正确方法是什么?

0 个答案:

没有答案