Is anybody aware of a way of grabbing images from a DVD using DirectShow and C++? The sample grabber is not supported when using the DVD renderer and if I use GetCurrentImage, which is part of the VMR9 windoless control, it doesn't appear to work.
相关问题
- Sorting 3 numbers without branching [closed]
- How to compile C++ code in GDB?
- Why does const allow implicit conversion of refere
- thread_local variables initialization
- What uses more memory in c++? An 2 ints or 2 funct
相关文章
- Class layout in C++: Why are members sometimes ord
- How to mock methods return object with deleted cop
- Which is the best way to multiply a large and spar
- C++ default constructor does not initialize pointe
- Selecting only the first few characters in a strin
- What exactly do pointers store? (C++)
- Converting glm::lookat matrix to quaternion and ba
- What is the correct way to declare and use a FILE
Write a trans-in-place video filter, which you can use to grab a sample and write it to disk.
When you detect a keypress (for screenshot), call a callback into your program from the filters' Transform() function.
Have a look at MSDN's guide on Writing Transform Filters for more information on writing filters.
You could check out the EZRGB24 filter sample from MSDN, which demonstrates how to use the CTransformFilter
Good luck!
Check out the "SampVid" sample in the directshow samples:
http://msdn.microsoft.com/en-us/library/dd375468(VS.85).aspx
With that you can write your own video renderer filter. The only issue you'll have is how to capture the frmae as it all goes through "CDrawImage" class. The source code to which is contained in winutil.h &.cpp which are included in the direct show base classes. Rolling your own version would solve your issue and allow you to grab a frame of image data as it is being written to the screen.