使用LibAV进行H264编码错误

时间:2015-03-11 12:18:03

标签: h.264 video-encoding libav mpeg-4

我正在使用LibAV来复用实时音频和视频。对于这个问题,我指的是来自LibAV示例的output.c文件。如果我使用AV_CODEC_ID_MPEG4以25 fps录制250帧,则输出视频文件将精确地为10秒。但如果我以25 fps的速度使用AV_CODEC_ID_H264 250帧,那么输出视频文件的长度约为8.86秒。

我有一个使用PortAudio和LibAV进行实时多路复用的工作代码。目前我使用的是MPEG-4,但视频质量不如H264。如果可能,我宁愿使用H264。

我的问题是:如何强制H264以25 fps的速度录制10秒视频250帧?

感谢。

1 个答案:

答案 0 :(得分:0)

对于编码而不是多路复用,最好查看avcodec.c示例,并在this part处明确指出从编码器返回延迟帧的情况。 output.c示例中没有此部分。