2014-09-30 243 views
2

我使用以下參數使用的x264 LIB以編碼的.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 

回答

1

我設法解決這個問題我自己。因爲我正在將一系列圖像編碼到流中,除了使用常規-r選項指定編碼的幀率之外,我還需要在avconv的所有其他選項之前給avconv一個特殊的幀選項。