Как я могу передать поток x264_encoder_encode через UDP?
Это моя функция Init_x264:
x264_param_t param;
x264_param_default_preset(¶m, "veryfast", "zerolatency");
param.i_threads = 1;
param.i_width = width;
param.i_height = height;
param.i_fps_num = 30;
param.i_fps_den = 1;
param.i_keyint_max = 30;
param.b_intra_refresh = 1;
param.rc.i_rc_method = X264_RC_CRF;
param.rc.f_rf_constant = 25;
param.rc.f_rf_constant_max = 35;
param.b_annexb = 1;
param.b_repeat_headers = 1;
param.i_log_level = X264_LOG_DEBUG;
x264_param_apply_profile(¶m, "baseline");
encoder = x264_encoder_open(¶m);
picIn = new x264_picture_t;
picOut = new x264_picture_t;
x264_picture_alloc(picIn, X264_CSP_I420, width, height);
x264_encoder_parameters(encoder, ¶m);
Теперь вместо сохранения вывода x264_encoder_encode на диск (используя fwrite) я попытался просто отправить его по UDP к месту назначения. Я пытался играть в нее с помощью avplay, но она не удалась:
[h264 @ 0x7f83f0012e80] non-existing PPS 0 referenced
[h264 @ 0x7f83f0012e80] decode_slice_header error
[h264 @ 0x7f83f0012e80] no frame!
[h264 @ 0x7f83f0012e80] non-existing PPS 0 referenced
[h264 @ 0x7f83f0012e80] decode_slice_header error
[h264 @ 0x7f83f0012e80] no frame!
С vlc я получил разные сообщения об ошибках, в основном о пропущенных заголовках.
Задача ещё не решена.
Других решений пока нет …