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