解码/编码mp4视频时丢弃P帧

时间:2019-06-26 12:51:38

标签: ffmpeg frame encode mp4 libx264

我正在使用ffmpeg(libAV库)+ libx264编码器对同一个mp4(视频/ mp4)文件进行解码/编码。例如,原始视频文件包含182帧:

[libx264 @ 0x7fb4a843ce00] frame I:2     Avg QP:17.95  size: 13834
[libx264 @ 0x7fb4a843ce00] frame P:180   Avg QP:19.90  size:  6297

但是在Followig解码/编码之后,我得到的文件包含181帧:

[libx264 @ 0x7fb4ac421dc0] frame I:2     Avg QP:17.93  size: 13627
[libx264 @ 0x7fb4ac421dc0] frame P:179   Avg QP:19.77  size:  5946

我已经尝试更改AVCodecContext gop_size / max_b_frames / priv_data(配置文件,预设,调整,x264opts) 而且我还阅读了这些帖子,并试图解决我的问题:

ffpmeg drops last frame when compressing from MP4 to MP4 (libx264)

ffmpeg/libx264 C API: frames dropped from end of short MP4

UPD :如果我将帧速率和时基设置为26/1和1/26及更高-帧不会丢失。

UPD2 :已解决!

//in function avformat_open_input() add AVDictionary *options:
av_dict_set(&options, "r", "25", 0);
av_dict_set(&options, "ignore_editlist", "1", 0);

我希望对所有帧进行解码/编码(不更改参数)。

0 个答案:

没有答案