ускорить кодирование x264

Я использую x264 для кодирования необработанных данных, захваченных с камеры iphone .. но кодирование очень медленное. Может ли кто-нибудь помочь мне ускорить скорость кодирования.

Я использовал следующие настройки для сборки x264 lib:

// для armv6

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 armv6' --extra-ldflags = -L / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS4.3.sdk / usr / lib / system / --extra-ldflags = '- arch armv6' --enable-pic --disable-asm

// для 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 / system / --extra-ldflags = '- arch armv7' --enable-pic

Я использую такую ​​предустановку по умолчанию:

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

и установив несколько параметров:

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 );

person Saraswati    schedule 12.07.2012    source источник


Ответы (1)


Если вы используете предустановку по умолчанию как:

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

возможно, вы немного прибавите в скорости. Однако я не думаю, что iPhone сможет кодировать видео с x264 на очень высокой скорости. Я никогда ничего не разрабатывал для iPhone, но обычно в этих встроенных системах есть аппаратный кодировщик, который может быть доступен вашему приложению с помощью API.

person Gabriel Diego    schedule 07.08.2012