Как конвертировать прямой поток видео из YUV (HDYC) в RGB

Я хочу конвертировать видео потоки с веб-камеры. эти видеопотоки называются HDYC. Я думаю, что это немного особенное, поэтому я не контролировал сейчас.

Мой вопрос: как преобразовать этот формат в rgb в c ++, используя ffmpeg? но есть некоторые ограничения.
Я не хочу делать файл. другими словами, он должен конвертировать видео потоки с веб-камеры. также это операция в реальном времени.

Благодарю.

0

Решение

Я не уверен, почему вы отметили это , так как HDYC это вкус UYVY формат пикселей, макет и подвыбор, просто с Рек. МСЭ-R 709 определенное цветовое пространство.

Итак, ваш вопрос заключается в том, как конвертировать BT.709 YUV в RGB с помощью FFmpeg. Libswscale FFmpeg может сделать это: его sws_scale делает преобразование, и его sws_setColorspaceDetails позволяет вам предоставить детали цветового пространства для преобразования.

/**
* Scale the image slice in srcSlice and put the resulting scaled
* slice in the image in dst. A slice is a sequence of consecutive
* rows in an image.
[...] */
int sws_scale(struct SwsContext *c, const uint8_t *const srcSlice[],
const int srcStride[], int srcSliceY, int srcSliceH,
uint8_t *const dst[], const int dstStride[]);

/**
[...]
* @param table the yuv2rgb coefficients describing the output yuv space, normally ff_yuv2rgb_coeffs[x]
[...] */
int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],
int srcRange, const int table[4], int dstRange,
int brightness, int contrast, int saturation);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]