[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now

x
?
Solved

"DV Video" capture using StillCap sample

Posted on 2004-04-05
7
Medium Priority
?
920 Views
Last Modified: 2013-12-08
Hi!

I'm playing around with the StillCap sample in the DX9 SDK. I'm most interested in the capturing feature in that sample application. Unfortunately the captured video in StillCap, is extremely huge. Basically, what I need is this:
1. Capture video to disk using the same interfaces as in the StillCap sample.
2. The video must not be compressed too much (using DivX and similar is NOT acceptable).

I have got a sample file generated with a well-known video editing software. The format is "DV Video Encoder (768x576)".
Thus, I need to tell DX to capture the video stream using the DV Video Encoder. Exactly how would you modify the StillCap sample to accomplish this? Please note that I'm using a DV Camera for this, so the format should be compatible.

Any help is greatly appreciated. A working modification of the StillCap sample (capturing to disk using the DV Video Encoder) will be rewarded at once.

Thanks in advance!
Chris, Sweden
0
Comment
Question by:znakeeye
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
7 Comments
 
LVL 8

Expert Comment

by:_corey_
ID: 10786033
The GrabBitmaps sample has more comprehensive code used for extracting from a replayed file, instead of a live feed moniker like StillCap does.

0
 

Author Comment

by:znakeeye
ID: 10788635
Well, if you need to capture video using a DV camera, in what manner would extraction from a replayed file be helpful?
0
 
LVL 8

Expert Comment

by:_corey_
ID: 10792489
Ah, from it streaming.  So you'll want to use the decoder.

That's really not that bad.  You   see how it setups the graph, and how it finds the source moniker.

Well, you need to find the decoder filter and add it to the graph.  You can find it by enumerating a category the same way the source is enumerated.  I believe the category is probably CLSID_LegacyAmFilterCategory  which has everything in the DirectShow Filters list if you open up GraphEdit.
0
 

Author Comment

by:znakeeye
ID: 10792593
Just to be sure that we're talking about the same thing, I'll explain more detailly what I want to do.
I want to connect a camera to the IEEE-port. When this camera is connected and chosen as the video input device in this StillCap application, I want to capture the video to an avi-file (DV Video-format). Sort of a live recording. The important thing here, is the DV-format (pure MPEG is by far too space insefficient).

I'll take a look at the CLSID_LegacyAmFilterCategory and see if I can get this working. Thanks for your comments.
0
 
LVL 8

Accepted Solution

by:
_corey_ earned 1600 total points
ID: 10792632
Ok, I don't have time right this second to layout the whole graph for you, but maybe later if/when you have more questions.

1)  That FilterCategory will have stuff to do file saving and general things.

2)  The DV Encoder is in an encoder category.  CLSID_VideoCompressorCategory

However, it's hard for me to say exactly how this should go together.  I don't know if you'll have to grab from the source, decompress, and send to the file/encoder to have it save in DV format again.

I would STRONGLY suggest using the GraphEdit tool that comes with the DirectX SDK, to get the dv source, get an 'AVI Mux' filter from DirectShow filters.  This is what you need to send the data to the 'File Writer' filter in the same category.  Don't worry about the names, they are general.

So, between the DV Source and those saving filters, you need to see what is needed to run/save it.  Typically if you try to connect the DV Source straight to the Mux, GraphEdit will attempt to fill in the blanks the best it can.

0

Featured Post

Survive A High-Traffic Event with Percona

Your application or website rely on your database to deliver information about products and services to your customers. You can’t afford to have your database lose performance, lose availability or become unresponsive – even for just a few minutes.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Recently, in one of the tech-blogs I usually read, I saw a post about the best-selling video games through history. The first place in the list is for the classic, extremely addictive Tetris. Well, a long time ago, in a galaxy far far away, I was…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
This course is ideal for IT System Administrators working with VMware vSphere and its associated products in their company infrastructure. This course teaches you how to install and maintain this virtualization technology to store data, prevent vuln…
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…
Suggested Courses

656 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question