Skip to content

Instantly share code, notes, and snippets.

@catid
Created March 3, 2022 19:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save catid/26a99556522954bd643217fdccea7750 to your computer and use it in GitHub Desktop.
Save catid/26a99556522954bd643217fdccea7750 to your computer and use it in GitHub Desktop.
x264_param_t param;
x264_param_default_preset(&param, "veryfast", "zerolatency");
param.rc.i_rc_method = X264_RC_ABR;
param.rc.i_bitrate = kbps_bitrate;
param.i_width = width;
param.i_height = height;
param.i_fps_num = fps;
param.i_fps_den = 1;
param.i_csp = X264_CSP_I420;
param.i_bitdepth = 8;
param.vui.b_fullrange = 0;
param.b_opencl = 0; // set if you have it
param.b_aud = 1;
param.b_repeat_headers = 1;
param.b_annexb = 1;
param.i_slice_count = 16;
param.b_sliced_threads = 1;
param.i_sync_lookahead = 0;
param.i_lookahead_threads = 0;
param.i_bframe = 0; // WebRTC does not support B-frames
param.i_keyint_min = 24;
param.i_keyint_max = 24;
param.rc.i_lookahead = 0;
param.i_frame_reference = 1;
param.b_intra_refresh = 1;
param.rc.i_vbv_max_bitrate = kbps_bitrate;
param.rc.i_vbv_buffer_size = kbps_bitrate/fps;
// Slower, better quality:
//param.analyse.i_subpel_refine = 8;
//param.analyse.i_me_range = 16;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment