我使用以下参数来使用.mp4库对x264视频进行编码:
int fps = 30;
x264_param_default_preset(&x.params, "ultrafast", "stillimage,zerolatency");
x.params.i_threads = 1;
x.params.i_fps_num = fps;
x.params.i_fps_den = 1;
x.params.i_timebase_num = 1;
x.params.i_timebase_den = fps;如果我将fps设置为等于或小于25,则视频在正确的帧速率中编码,但是如果我试图编码超过25 fps,则帧速率将降至25 fps。
下面是一个日志输出,注意有两个视频同时被编码:
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
x264 [info]: profile Constrained Baseline, level 4.0
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
x264 [info]: profile Constrained Baseline, level 4.0
x264 [info]: frame I:2 Avg QP:20.50 size:401756
x264 [info]: frame P:318 Avg QP:24.04 size: 87631
x264 [info]: mb I I16..4: 100.0% 0.0% 0.0%
x264 [info]: mb P I16..4: 2.5% 0.0% 0.0% P16..4: 73.3% 0.0% 0.0% 0.0% 0.0% skip:24.2%
x264 [info]: coded y,uvDC,uvAC intra: 50.6% 59.2% 15.8% inter: 40.1% 21.6% 0.2%
x264 [info]: i16 v,h,dc,p: 14% 34% 40% 12%
x264 [info]: i8c dc,h,v,p: 39% 28% 19% 13%
x264 [info]: kb/s:21502.55
x264 [info]: frame I:2 Avg QP:20.50 size:380898
x264 [info]: frame P:318 Avg QP:24.01 size: 82754
x264 [info]: mb I I16..4: 100.0% 0.0% 0.0%
x264 [info]: mb P I16..4: 2.5% 0.0% 0.0% P16..4: 73.1% 0.0% 0.0% 0.0% 0.0% skip:24.4%
x264 [info]: coded y,uvDC,uvAC intra: 50.0% 56.0% 14.9% inter: 38.4% 21.8% 0.2%
x264 [info]: i16 v,h,dc,p: 14% 34% 40% 12%
x264 [info]: i8c dc,h,v,p: 39% 29% 19% 13%
x264 [info]: kb/s:20308.27发布于 2014-09-30 14:11:42
我自己设法解决了这个问题。因为我将一系列图像编码到流中,所以除了常规的-framerate选项之外,我还需要在所有其他选项之前给avconv一个特殊的-r选项,以指定用于编码的框架。
https://stackoverflow.com/questions/26120528
复制相似问题