Создание потокового видео x264 на C++

266
16 декабря 2017, 06:52

На данный момент система трансляций с камеры и экрана на удалённый сервер передаёт jpeg кадры, то есть используется покадровое сжатие. Для экономии трафика нужно перевести систему на трансляции с межкадровым сжатием с кодеком x264.
Что есть:
1. класс для захвата изображений с камеры или экрана с возможностью получать кадры jpeg или rgb/bgr;
2. класс для сетевого взаимодействия TCP/UDP;
3. статическая libx264.a (MinGW-w64).

Что надо:
1. Понимание того, как пользоваться libx264 и что нужно кодеку x264 на вход для создания видео ряда (кадры поступают в unsigned char* buffer, и все операции нужны в памяти - никаких файлов); Будет ли кодек работать с RGB/BGR или обязательно конвертировать в YUV-форматы? Как управлять уровнем компрессии?
2. Понимание принципа потоковой передачи видео на низком уровне в разрезе c++. Как строятся пакеты - из кадров, кусков кадров, набора кадров?

Чего не хотелось бы: отсылов к ffmpeg.

Помогите пожалуйста разобраться.

UPDATE
С пунктом 1 разобрался, оказалось в libx264 всё проще и логичнее, чем в libvpx, с которым я три месяца бился.

Прошу помощи по пункту 2.

READ ALSO
Явные ожидания Selenium

Явные ожидания Selenium

Недавно начал интересоваться автоматизацией в тестировании и в качестве объекта для изучения выбрал рандомный сайт (ссылка будет ниже)

250
Как избежать ошибку при парсе строки в Long?

Как избежать ошибку при парсе строки в Long?

Мне надо просетить данные отеляДанные хранятся в файле txt, в таком виде:

314
Ошибка при отправке имейла из сервлета

Ошибка при отправке имейла из сервлета

Всем привет! Есть небольшая проблема, не отправляется имейл из сервлетаИспользуется java 1

271
REGISTER после INVITE SIP Java

REGISTER после INVITE SIP Java

Каждый раз, когда звоню по SIP через свой сервер, то ловлю INVITE, создаю запрос с полями CSeq, Call-id и тд,и псоле мне нужно отправить инвайт на другой...

216