Development of Windows XP/Vista/7 DLL library (and test GUI application) that allows capturing video streams from other applications that are using DirectX 9/10/11 and OpenGL 2/3/4.
You must use supplied sound capture library to capture sound and mux it with video. Function call hooking library is also supplied.
Analogues: [url removed, login to view], [url removed, login to view]
1. I will give you working library for sound capture under Vista/7. You must capture sound with it and mux it with video. Sound capture under Windows XP is not needed.
2. I will give libraries for hooking API functions. Basically, my hooking libs allow to hook any WinAPI function and any COM method of any COM interface. So by using my capturing libs you will be able to easily create your own "proxy" function/COM method, which will be called in place of original function/method (and you will be able to call original function by yourself afterwards). These hooking libraries are my property and must be used for developing only this project. They will be sent to you in form of .lib and .h files for static linking. They are 100% working, because I'm using them in other parts of the same project.
3. All function and method declarations in your source code must be commented in english, with description of parameters and return values. Variables must have self-describing names and hard-to-understand places in code must have comments too.
4. Captured video/sound must be written to file in AVI container format OR be transferred via named pipe (basically, it's the same).
5. You must encode video and audio with codecs by your choice to avoid excessive disk I/O. You may use codecs from ffdshow project, the main requirement is that these codecs must not have any license fees. Use ffdshow codecs directly for this, without using DirectShow.
6. After capturing session I need to be able to encode captured AVI file / sound stream with any encoder present in system (default must be [url removed, login to view], if it's present; and adequate sound codec). It must be done with simple functions in your library (or your separate library) and demonstrated in your test application. It can be implemented via C++ in your lib, or via C# in separate assembly - it's your choice. Use DirectShow for this.
Your test GUI application must have comboboxes allowing me to select which video and audio codec to use for post-capture compression.
7. You must tell me with what codec do you plan to encode sound.
8. Library must compile for x86 and x86_64 (AMD64) platforms and work with both x84 and x86_64 windows applications (my hooking and sound capture libraries already work for both of these platforms - I will send different versions for each platform).
9. Your code must be CLEARLY separated into capture, encoding and file/pipe writing parts - on the level of functions and source code files.
10. Video and sound capture must start by pressing in captured application some hotkey combination and stop when same combination pressed again. When your're not capturing anything there must be no seen perfomance penalty. When you're capturing video and audio the game/application you're capturing a/v from must remain playable on today's average computer.
If you have any questions - please ask. If you have any thoughts or corrections - please tell me before making your bid.
* * *This broadcast message was sent to all bidders on Monday Jan 17, 2011 10:58:11 AM:
Encoding may be done in .webm container using VP8 and Vorbis codecs. You may use standard DirectShow encoders for that.