0
想視頻流從攝像頭轉換。該視頻流稱爲HDYC。我認爲這有點特別,所以我現在沒有控制。我怎麼活視頻流從YUV(HDYC)轉換爲RGB
我的問題是如何在格式C++爲rgb使用的ffmpeg轉換?但有一些限制。 我不想製作一個文件。在其他情況下,它需要轉換攝像頭的視頻流。也是一個實時操作。
謝謝。
想視頻流從攝像頭轉換。該視頻流稱爲HDYC。我認爲這有點特別,所以我現在沒有控制。我怎麼活視頻流從YUV(HDYC)轉換爲RGB
我的問題是如何在格式C++爲rgb使用的ffmpeg轉換?但有一些限制。 我不想製作一個文件。在其他情況下,它需要轉換攝像頭的視頻流。也是一個實時操作。
謝謝。
我不知道爲什麼你h.264標記,因爲HDYC
是UYVY
像素格式,佈局和子採樣一番風味,只是ITU-R Rec. 709定義的色彩空間。
所以你的問題是你如何轉換BT.709 YUV與FFmpeg的爲RGB。 FFmpeg的libswscale可以做到這一點:其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);