我目前正在使用BitBlt函数捕获屏幕,然后我对其进行编码。由于我的编码器使用YUV420格式作为输入,我需要在编码之前将数据从RGB转换为YUV。我想知道是否有任何方法以YUV格式而不是RGB捕获屏幕?
谢谢, 杰
答案 0 :(得分:0)
我会尝试回答这个问题,虽然我不完全知道BitBlt是如何工作的,因为我还没有让它自己工作。
但是这里有。
根据我的理解,BiBlt正在从图形卡中捕获,这意味着它会快速移动,因为没有环形交叉口。这应该意味着如果您以RGB(PC通常会这样做)显示,您将获得相同的格式。
因此,如果你想要YV12,你必须进行下采样才能使用图像。
我猜是这样的。
CaptureBitBlt到IMG。 将IMG转换为YV12。 编码IMG。
嗯,看起来很难看,但希望你明白我的意思。在处理图片之前,您必须进行转换。
带上一粒盐,我可能会在树林里,但我认为应该如何做。