<div dir='auto'><div dir="auto">I'm having difficulties saving screen captures to a screen. </div><div dir="auto">I was successfully able to capture the screen using gdigrab, and display it on a 3D texture in the Irrlicht C++ engine. </div><div dir="auto">But when I go to save the captures as any format, the file cannot be opened in Media Player -- Chrome will display the video, but it looks like the pixels are not correct. </div><div dir="auto"><br></div><div dir="auto">Not sure if I can attach images to this mailing list, but I'll try it anyways. As you can see it is very choppy. </div><div dir="auto"><br></div><div dir="auto">GitHub repo with code:</div><div dir="auto">https://github.com/treytencarey/IrrlichtVideoPlayerLib/tree/SaveRecording</div><div dir="auto">More specifically, something is wrong in the OutputVideoPlayer::pushFrame() function:</div><div dir="auto">https://github.com/treytencarey/IrrlichtVideoPlayerLib/blob/SaveRecording/OutputVideoPlayer.cpp</div><div dir="auto"><br></div><div dir="auto">In VideoPlayer::decodeFrameInternal(), I convert the image frame to RGB and display it on a texture (display is in writeVideoTexture()) which works great. In this function when I call ovp.PushFrame(), I'd expect that I can pass the original frame or the RGB frame and convert it to YUV. But this results in either corrupt-looking data or nearly no data output (talking like 10KB). </div><div dir="auto"><br></div><div dir="auto">I'm willing to provide more info if needed. </div><div dir="auto">Thanks</div></div>