KyleBilenki

Hi guys,

For the last month and a half, I've been developing an application that takes the video signal from a webcam and simultaneously allows you to preview the video and saves it into a WMV file. However, I've been encountering preformance issues when saving at 640x480 (a requirement from the client) on our target platform, a Sony Viao VGN-UX380CN.

Here's a link to the computer's specs: http://www.sonystyle.ca/commerce/servlet/ProductDetailDisplay storeId=10001&langId=-1&catalogId=10001&productId=1003608&navigationPath=n32009n100298n100352

The preformance issues also appear on my home computer, much to my dismay. The specs for my computer are an Althon 64 3000+, 1GB of DDR400 Ram, WD Rapter 74GB, and a Geforce 7800 GTX.

However, I don't have any issues whatsoever on my development machine, but its a really powerful computer. It has an Intel Core 2 Duo 6300, 2GB of DDR2 Ram (PC2-5300), a Hitachi Deskstar 7K160, and a Raedon X1300. I can see the obvious spec differences between my computer and the target platform.. but what I'm wondering if there is anyways to speed up Directshow, to make it capture in a more efficent manner

I know this is a vague question, sorry. =/

Any suggestions, or tips are greatly appreciated!

Kyle



Re: DirectShow Development Poor encoding preformance when capturing from a web camera

Chris P.

The performance issue is almost entirely within the WMV encoding. The only thing you can do to make it run faster is to lower the quality/performance settings in the profile. The WMV encoder is also multithreaded so on you're dual core machine it is able to make use of that.






Re: DirectShow Development Poor encoding preformance when capturing from a web camera

KyleBilenki

Chris P. wrote:
The performance issue is almost entirely within the WMV encoding. The only thing you can do to make it run faster is to lower the quality/performance settings in the profile. The WMV encoder is also multithreaded so on you're dual core machine it is able to make use of that.

Yeah I figured that the preformance issues were within the WMV encoding. I was hoping maybe there would be some kinda trick to squeeze a little more juice out of Directshow and the encoder. But, Thanks for your help Smile





Re: DirectShow Development Poor encoding preformance when capturing from a web camera

Thore Karlsen

Do you have to use WMV You can probably get much better performance with another encoder, but that depends on what your requirements are.





Re: DirectShow Development Poor encoding preformance when capturing from a web camera

KyleBilenki

I don't have to use WMV. I picked that because I could guarentee playback on just about any version of Windows Media Player. But if I could get better preformance by writing in a different format while maintaining the same compression rate, then I'm all up for it.





Re: DirectShow Development Poor encoding preformance when capturing from a web camera

Thore Karlsen

ISO MPEG4 is an option. It compresses well and there are fast implementations (like MainConcept's codec). The downside is that you need a decompressor installed on the machine you want to do playback on, but you can download DivX for free if that's acceptable. There are also some licensing issues. It just depends on what kind of tradeoffs you want to make.





Re: DirectShow Development Poor encoding preformance when capturing from a web camera

KyleBilenki

Ok, I'll definatly look into MainConcept's codec. Thanks! As for having a decompressor installed, I was hoping to avoid having to ask my clients to install that onto all thier computers. The main users of this application will be doctors and paramedics, and generally they aren't as computer savvy as we are, so I was hoping for an "idiot-prove" solution, ya know





Re: DirectShow Development Poor encoding preformance when capturing from a web camera

Chris P.

You could get better performance with WMV by playing with the encoding profile. It's a trade off between performance, quality, bitrate just like with any other codec. Lower the quality or increase the bitrate and it won't have to work as hard.