我正在使用 x264 使用以下设置压缩来自网络摄像头的视频流:
x264_param_default_preset(¶m, "veryfast", "zerolatency");
param.i_threads = 1;
param.i_fps_den = 1;
param.b_annexb = 1;
param.i_keyint_max = 30;
param.rc.i_rc_method = X264_RC_CRF;
param.rc.f_rf_constant = 25;
param.rc.f_rf_constant_max = 35;
param.b_repeat_headers = 1;
x264_param_apply_profile(¶m, "baseline");
param.i_slice_max_size = X264_NAL_MAX_SIZE;
我想将 NAL 调整到 MTU 大小,但如果我设置一个较小的最大大小,流就会被破坏 - 它在黑白之间随机闪烁,背景中有一些原始图像的线索。max_size 越大,流被破坏的可能性就越小。所以我的问题是——我们可以拥有小的 NALU 和正确的视频流吗?
UPD:我使用 FFmpeg 作为解码器。