Кодировать необработанные данные кадра yuv x264 (libx264)C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Кодировать необработанные данные кадра yuv x264 (libx264)

Сообщение Anonymous »

Я пытаюсь закодировать видео MP4, используя необработанные данные кадров YUV, но не знаю, как заполнить данные плоскости (желательно без использования других библиотек, таких как ffmpeg)

Данные кадра уже закодированы в I420 и не требуют преобразования.

Вот что я пытаюсь сделать:

Код: Выделить всё

const char *frameData = /* Raw frame data */;

x264_t *encoder = x264_encoder_open(&param);
x264_picture_t imgInput, imgOutput;
x264_picture_alloc(&imgInput, X264_CSP_I420, width, height);

// how can I fill the struct data of imgInput

x264_nal_t *nals;
int i_nals;
int frameSize = x264_encoder_encode(encoder, &nals, &i_nals, &imgInput, &imgOutput);
Эквивалентная командная строка, которую я нашел:

Код: Выделить всё

 x264 --output video.mp4 --fps 15 --input-res 1280x800 imgdata_01.raw
Но я не смог понять, как приложение это делает.

Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/282 ... frame-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»