Capture desktop screenshot( as bmp) with Windows Media Encoder APIs
Hi gurus,
I have used windows media apis to capture desktop and store as movie files.
now i need to capture desktop screen using media apis, but need the output as bmps ( not as movie files, but still need fast captures )
as far as i understand( or searched :confused: ), WM encoder outputs only movie files.
Is there any method to capture the desktop using Windows Media Encoder APIs and get the frames as bmps?
Thanks in advance
Re: Capture desktop screenshot( as bmp) with Windows Media Encoder APIs
Considering the type of compresion available in BMP's for truecolor images (none). And considering the current screen resolutions... Using bmp as a means for 'fast' capturing seems somewhat a bad idea as it'll be very heavily tied to the throughput of your harddisk.
Otoh, the fact there is no compression also makes doing this easy. Simply make a BMP header once (it'll be the same for all the images unless you need to account for changes in desktop size), output the BMP header, and dump the raw screen data after it to the same file.
See here: http://msdn.microsoft.com/en-us/libr...91(VS.85).aspx
Re: Capture desktop screenshot( as bmp) with Windows Media Encoder APIs
thanks
Quote:
Originally Posted by
OReubens
Considering the type of compresion available in BMP's for truecolor images (none). And considering the current screen resolutions... Using bmp as a means for 'fast' capturing seems somewhat a bad idea as it'll be very heavily tied to the throughput of your harddisk.
The 'fast' is around 15-20fps ..
Quote:
Otoh, the fact there is no compression also makes doing this easy. Simply make a BMP header once (it'll be the same for all the images unless you need to account for changes in desktop size), output the BMP header, and dump the raw screen data after it to the same file.
See here:
http://msdn.microsoft.com/en-us/libr...91(VS.85).aspx
yes that i understand. but how to get raw data using WME?
Re: Capture desktop screenshot( as bmp) with Windows Media Encoder APIs
Don't use WME, use GDI ?
-> GetDIBits()
If you want to use WME, you'll need a codec that writes the frames as bmp's... You could write your own codec for this. There may be a codec that already does this.
Re: Capture desktop screenshot( as bmp) with Windows Media Encoder APIs
Quote:
Originally Posted by
OReubens
Don't use WME, use GDI ?
-> GetDIBits()
yes, but this woudn't capture directx rendered images, and that's why we turned to WME.
Quote:
If you want to use WME, you'll need a codec that writes the frames as bmp's... You could write your own codec for this. There may be a codec that already does this.
any help on this part?