No Video Played in DirectShow MSDN Example - c++

I'm trying to go through the DirectShow documentation provided on MSDN. I'm a relative beginner to C++, as well. I was on the first example code in the DirectShow documentation here:
https://msdn.microsoft.com/en-us/library/windows/desktop/dd389098(v=vs.85).aspx
I followed along, modified the file string to point to a video on my own computer, included and added the strmiids.lib library as a reference. My code builds successfully, and the Console Window appears. But that's it. No video renders.
I'm using VS2015, on a Windows 8.1 laptop, and I have the Windows SDK installed as well. That's where i got the strmiids.lib file.
Any help would be awesome, as this has been a frustrating obstacle in the way of learning DirectShow programming.
Thanks!

Related

DirectShow (Stream.h) for Windows 10 Development

I just noticed that streams.h is missing, while I was compiling DSVideoLib on my machine.
A quick research pointed me to the Windows SDK.
https://msdn.microsoft.com/en-us/library/windows/desktop/dd407279(v=vs.85).aspx
Well after installing the windows sdk again, I still cannot find those files and folders in my windows sdk folder.
Does anybody have an idea where to get the DirectShow library on windows 10?
Streams.h and and other BaseClasses directory files can be found in Windows SDK 7.1, in \Samples\multimedia\directshow\baseclasses. This also looks like a good snapshot to grab.
See also (actually proves that taken out from Windows SDK 8.0, the code in question was never put back later):
Where are the DirectShow samples in the Windows 8 SDK?
Getting DirectShow Samples on Windows 8
DirectShow samples and base classes relocated
https://stackoverflow.com/questions/31657925/locations-of-windows-sdk-samples-in-windows-8-1
There is nothing bad in taking "old" DirectShow sample/base code because there has been so little changes over last 10+ years...

Using codecs in program

As I've mentioned in my another question, I'm having trouble with Qt 5.1's multimedia module. The QMediaPlayer class can't play some MP3 files. I haven't tested other formats thoroughly.
I'm not sure if this is a codec related problem. But I'm interested in using codec directly in my program rather than relying on the backend support for playing media files. I'll be developing the application in Qt 5.1 for desktop Windows platform.
I have no idea about using codecs in programs. Any pointer will be greatly appreciated.
You can go to [FFMPEG]: http://www.ffmpeg.org/ to integrate the open-source codec to play your media file.

Decode mp4 to raw frames windows c++

I'm trying to decode an MP4 file i've created using mp4creator library. I can't find a ffmpeg or libav example that actually works with the libraries, because the code is incompatible with the examples.
I need a simple way of reading the mp4 file and decoding it into raw audio and video frames. In needs to work on windows too.
If someone can point me towards a working and compatible ffmpeg/libav library + example source file that could work too.
If i could get the library version which was used in this tutorial that would work, since this guy seems to be the only one who wrote a decent tutorial on FFMPEG (albeit on some ancient version)
http://dranger.com/ffmpeg/
edit:
In the latest version of ffmpeg i found the example named: filtering_video.c
using a patch found: http://ffmpeg.org/pipermail/ffmpeg-devel/2012-June/126587.html I have gotten the program to do "something" It looks to be working so I will investigate further.
As edited into the question: In the latest version of ffmpeg i found the example named: filtering_video.c
using a patch found: http://ffmpeg.org/pipermail/ffmpeg-devel/2012-June/126587.html I have gotten the program to work.
Using the function avtoipl described here: http://www.digipedia.pl/usenet/thread/16949/6806/
I've gotten the data into an opencv RGB image which i can display.

Using Windows Visual Themes with Code::Blocks?

this is my first post on this website,
Anyway, I recently started trying to make a win32 app, and its been going well so far. Then I wanted to add aero to my app (as in not just the borders). So I looked it up online and one tutorial said I have to include dwmapi.h. This is in the Windows SDK. I don't know how to add this to Code::Blocks. By the way, I am using MinGW as my compiler. Also I tried using the MSVC 10 (VS2010) compiler in Code::Blocks, but I got a bunch of errors when I tried to use it, relating to the compilers/linkers not being found.
Any help would be great.
Unless you want to do custom drawing of controls and theme interfaces, all you need to do to support the visual themes is to add the appropriate manifest.
If you want to extend Aero Glass into your client area, look at DwmExtendFrameIntoClientArea () and family.
There are various articles and tutorials online about how to use it. I don't know specifics of using it with Code::Blocks though.
Never Mind, I figured it out. I updated to the nightly build of Code::Blocks and it had an easy preset to help me set up the SDK.

Webcam Video Capture using Visual C++ 6.0

I am trying to create an application to capture a snapshot using a webcam.
I have been able to accomplish this using WIA, but this solution becomes unstable when ran on Windows 7 with a camera that has a resolution of more than 1.3 megapixels. We are coding for a tablet computer that has a built in webcam with 2.0 megapixels.
I am not opposed to using direct show, but I would like to stay away from .net.
I have searched high and low for a solution and I can not get the directshow examples from the windows platform sdk or directx 9.0 to even compile on Visual Studio 6.0. I have also had no luck OpenCV.
Is there anyone that could point me in the direction of a tutorial that might get me started down the right path?
Thanks
The simplest way is videoinput lib that wraps directshow, it's the same lib used by openCV.
If that isn't good enough then the AMCAP sample in the multimedia/directshow dir of the Microsoft SDK shows how to run a camera in directshow
ps. as Hans said you should update the compiler,VC++6 is little old. There is a free version of their latest vs2010.
I found this tutorial excellent and it is so simple. I found it worked on XP and win7 with an old webcam and a new one.
I used the second example which is a semi-directshow one, but bypasses most of directshow.
You do need to add error handling though.
http://www.codeproject.com/KB/audio-video/VideoImageGrabber.aspx