473,761 Members | 2,410 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Video/Audio Capture

Hi Everyone,

Do any of you gurus out there have any suggestions regarding capturing
audio/video from a video capture card in C#. Although I've written
other programs, I've never worked with audio/video sources before.
I've seen other people recommending DirectShow.NET. Is this one of the
more popular libraries to use? Would anyone recommend other third-
party libraries?

Thanks,
Kris

Oct 2 '07 #1
6 7984
k.************* @gmail.com wrote:
Hi Everyone,

Do any of you gurus out there have any suggestions regarding capturing
audio/video from a video capture card in C#. Although I've written
other programs, I've never worked with audio/video sources before.
I've seen other people recommending DirectShow.NET. Is this one of the
more popular libraries to use? Would anyone recommend other third-
party libraries?
I've only heard of DirectShow.NET. As far as I know (obviously :) ), it
would be your best bet, since it's open-source and has been around long
enough to mature into a nice, usable platform. Granted, I don't have
any personal experience with it...but I've only heard good things about it.

I think for sure, you'll probably want to go with something based on
DirectShow. That's what I've used for video capture, and it's
reasonably well-supported by the various hardware you might run into.
While I haven't used DirectShow in managed code, I've used it in native
Windows stuff and it works as advertised, and provides a flexible API to
use.

One caveat: if you expect to do anything more complicated than just
capturing a/v streams, there are some subtle "gotchas". There's a
Microsoft directx.video newsgroup where you can learn more about those
issues and get help navigating what is basically a simple API but which
has enough varied ways to use it to make it complicated.

Pete
Oct 2 '07 #2
On Oct 2, 6:19 pm, Peter Duniho <NpOeStPe...@Nn OwSlPiAnMk.comw rote:
k.vanderstar... @gmail.com wrote:
Hi Everyone,
Do any of you gurus out there have any suggestions regarding capturing
audio/video from a video capture card in C#. Although I've written
other programs, I've never worked with audio/video sources before.
I've seen other people recommending DirectShow.NET. Is this one of the
more popular libraries to use? Would anyone recommend other third-
party libraries?

I've only heard of DirectShow.NET. As far as I know (obviously :) ), it
would be your best bet, since it's open-source and has been around long
enough to mature into a nice, usable platform. Granted, I don't have
any personal experience with it...but I've only heard good things about it.

I think for sure, you'll probably want to go with something based on
DirectShow. That's what I've used for video capture, and it's
reasonably well-supported by the various hardware you might run into.
While I haven't used DirectShow in managed code, I've used it in native
Windows stuff and it works as advertised, and provides a flexible API to
use.

One caveat: if you expect to do anything more complicated than just
capturing a/v streams, there are some subtle "gotchas". There's a
Microsoft directx.video newsgroup where you can learn more about those
issues and get help navigating what is basically a simple API but which
has enough varied ways to use it to make it complicated.

Pete

Thank you very much for the response Pete. The application that I plan
to write needs to record multiple audio/video sources simultaneously.
Generally speaking, as long as the capture card that you've selected
supports multiple inputs, does DirectShow have the flexibility to work
with multiple inputs?

Thanks Again,
Kris

Oct 3 '07 #3
k.************* @gmail.com wrote:
Thank you very much for the response Pete. The application that I plan
to write needs to record multiple audio/video sources simultaneously.
Generally speaking, as long as the capture card that you've selected
supports multiple inputs, does DirectShow have the flexibility to work
with multiple inputs?
Yes, absolutely. The main problem you will run into is bandwidth
issues. But the API itself handles that just fine. The basic paradigm
is a stream graph, with each node having input and output "pins", except
for source nodes that only have output pins and render nodes that only
have input pins.

A graph can have multiple source nodes, or you can just create multiple
graphs, one per source.

Pete
Oct 3 '07 #4
On Oct 2, 9:51 pm, Peter Duniho <NpOeStPe...@Nn OwSlPiAnMk.comw rote:
Yes, absolutely. The main problem you will run into is bandwidth
issues. But the API itself handles that just fine. The basic paradigm
is a stream graph, with each node having input and output "pins", except
for source nodes that only have output pins and render nodes that only
have input pins.

A graph can have multiple source nodes, or you can just create multiple
graphs, one per source.
Excellent - that's exactly what I wanted to hear! One last question if
you don't mind. Does DirectShow handle keeping all of the sources in
sync? In the application that I'm writing I would like the audio
sources (up to five) to stay in syn with the video. Once I've recorded
all of the audio/video streams I plan author them into a DVD so it's
important that the video and audio be synchronized.

Thanks,
Kris

Oct 3 '07 #5
k.************* @gmail.com wrote:
On Oct 2, 9:51 pm, Peter Duniho <NpOeStPe...@Nn OwSlPiAnMk.comw rote:
>Yes, absolutely. The main problem you will run into is bandwidth
issues. But the API itself handles that just fine. The basic paradigm
is a stream graph, with each node having input and output "pins", except
for source nodes that only have output pins and render nodes that only
have input pins.

A graph can have multiple source nodes, or you can just create multiple
graphs, one per source.

Excellent - that's exactly what I wanted to hear! One last question if
you don't mind. Does DirectShow handle keeping all of the sources in
sync?
Yes and no. A DirectShow graph has a clock that is used to synchronize
all of the filters in the graph. Generally when capturing, the source
filter is used as the sync clock. So DirectShow does have the concept
to keeping various media streams in sync.

That's the "yes". The "no" is that there are certain drift issues that
do still exist. I won't try to detail them here, as much because I
haven't personally run into them as because this is definitely wandering
off-topic for this newsgroup. :)

I do know from reading what others have written on the topic that the
drift is somewhat endemic to the basic problem of capturing a/v data;
DirectShow solves it as best as it can, but there are apparently
fundamental issues that make it impossible to address completely.

For the most part, people who run into those problems are doing
applications that capture streams for very long periods of time (many
hours, if not days). If you are capturing DVD-length stuff, I think
keeping things synchronized shouldn't be an issue.

Pete
Oct 3 '07 #6
On Oct 2, 10:16 pm, Peter Duniho <NpOeStPe...@Nn OwSlPiAnMk.comw rote:
Yes and no. A DirectShow graph has a clock that is used to synchronize
all of the filters in the graph. Generally when capturing, the source
filter is used as the sync clock. So DirectShow does have the concept
to keeping various media streams in sync.

That's the "yes". The "no" is that there are certain drift issues that
do still exist. I won't try to detail them here, as much because I
haven't personally run into them as because this is definitely wandering
off-topic for this newsgroup. :)

I do know from reading what others have written on the topic that the
drift is somewhat endemic to the basic problem of capturing a/v data;
DirectShow solves it as best as it can, but there are apparently
fundamental issues that make it impossible to address completely.

For the most part, people who run into those problems are doing
applications that capture streams for very long periods of time (many
hours, if not days). If you are capturing DVD-length stuff, I think
keeping things synchronized shouldn't be an issue.
Thanks for the excellent information Pete - that's definitely enough
to get me started. Guess it's time to start playing around with
DirectShow now. :)

Cheers,
Kris

Oct 3 '07 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
3183
by: DMS | last post by:
I need to create some specifications and budget request for a workstation (G5) and all necessary hardware and software for authoring online college courses. The course material would contain short bits of streaming video and audio, short bits of animation, text and webforms. (I don't have to consider serving the output) This has to be done before someone is hired to do the authoring. What software or specialized hardware would anyone...
2
2379
by: Nick | last post by:
I want to be able to encode a video from a bitmap or handle to bitmap source. The bitmap object would be changing very quickly and I would record these changes to a video. Basically it would be a bunch of image objects that I want to throw together to make a video. My question is mainly this. What is the best way to create video files in c#? Interop DirectShow functions? Windows media encoder? Anythign else? As far as I know C# doesnt...
8
3665
by: Nehmo | last post by:
When a page has a JavaScript "link" to a video, like http://www.msnbc.msn.com/id/10478942/ . How do you get the URL of the actual video? Isn't it in the source somewhere? -- )|:__ Nehmo __:|(
1
3137
by: xer | last post by:
How can I get list of avaible video (Screen Capture Direct Show Filtres too) and audio capture devices?
5
3444
by: Juliano.net | last post by:
How can I capture audio and video so I can send them through the internet? I want to create a web conference application.
7
5453
by: Paolo Pantaleo | last post by:
Hi, I need to write a software that allow to see the desktop and hear the microphone capture of a remote PC across a network. I need to do that for a unviresity assignement. The software must run on Windows. Since I like Python very much I am thinking to write that software in Python. Do you thinkit is a good choice? Are there libraries for audio compression (OGG or MP3 or maybe GSM or something like realaudio) and video compression...
2
7892
by: hzgt9b | last post by:
Using VS2003, VB.NET, BACKGROUND I have a window forms based application that will be distributed and executed directly from CD media. The app contains a TreeView control and a WebBroswer (AxSHDocVw.AxWebBrowse) control. The TreeView is populated with nodes that when clicked play an audio clip that is stored on the CD and navigate the browser control to a specified web URL (also stored on the CD). All the web URLs are html documents...
3
2184
by: Jens Jensen | last post by:
Hello, I'm looking for ways to build a web chat application that can also send audio and video without using flash or any com component. I will use ajax though. But my concerns are, weather i can gain anything from WCF. Any comment will highly appreciated. Thanks
2
2389
by: Ken Seehart | last post by:
Hello, I am looking for a good audio/video conferencing library. Ideally it should work with wxPython (or have some means of making it work there). So far my main difficulty in my attempt at searching for such a package is that there is so much stuff out there on downloading music and videos. I am not interested in download torrents, etc. I'm just looking video conferencing, and live video broadcasts, etc.
0
9538
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9353
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9975
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9788
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8794
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7342
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
1
3889
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
3481
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2765
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.