2012-07-12 137 views
3

我正在利用x264编码从iPhone摄像头捕获的原始数据..但编码速度非常慢。任何人都可以帮助我加快编码速度。加速x264编码

我用下面的设置来建立X264 LIB:

//对ARMv6

CC = /开发/平台/ iPhoneOS.platform /开发人员的/ usr/bin中/海湾合作委员会的./configure --host = arm-apple-darwin --sysroot =/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk --prefix ='dist'--extra-cflags =' - arch armv6'--extra- ldflags = -L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/system/--extra-ldflags =' - arch armv6'--enable-pic --disable-asm

// for armv7

CC =/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc ./configure --host = arm-apple-darwin --sysroot =/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk --prefix ='dist'--extra-cflags =' - arch armv7'--extra-ldflags = -L/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib目录/系统/ --extra-LDFLAGS = ' - 拱的ARMv7' --enable-PIC

我使用的默认预设这样的:

x264_param_default_preset(param, "slow", "zerolatency"); 

,并设置一些perameters:

param->i_bframe = 0; 
param->analyse.i_me_method = X264_ME_HEX; 
param->analyse.i_subpel_refine = 2; 
param->i_frame_reference = 1; 
param->analyse.b_mixed_references = 0; 
param->analyse.i_trellis = 0; 
param->rc.b_mb_tree = 0; 
param->analyse.i_weighted_pred = X264_WEIGHTP_NONE; 


param->rc.i_bitrate = 180; 
param->rc.i_qp_min = 20; 
param->rc.i_qp_max = 26; 

param->i_keyint_max = 15; 
param->i_keyint_min = 15; 


param->i_width = w; 
param->i_height = h; 

x264_param_apply_profile(param, "baseline"); 
x264_picture_alloc(&(enc->pic), X264_CSP_I420, param->i_width, param->i_height); 

回答

0

如果使用默认预设为:

x264_param_default_preset(param, "veryfast", "zerolatency"); 

可能你会在速度一定的增益。但我不认为iPhone能够以极高的速度用x264编码视频。我从来没有为iPhone开发过任何东西,但通常这些嵌入式系统都有一个硬件编码器,可以通过API使用您的应用程序。