Re: directshow and windows format for broadcast ?

Tech-Archive recommends: Fix windows errors by optimizing your registry

From: Jeremy Noring (somewhere_at_thenet.com)
Date: 10/14/04


Date: Thu, 14 Oct 2004 10:10:14 -0600


"Yannick" <Yannick@discussions.microsoft.com> wrote in message
news:706B847C-A433-4143-BF19-9228A0B01296@microsoft.com...
> both
> I was introduced to directshow for work and now I'm trying to write a
> small
> DS app on my own because I and many of my friends complain about the poor
> quality of messenger videoconferencing
> by now I just worked with standard filters and I'm looking for as many
> info
> as possibleon how to create filters that connect to standard filters
> spec of tailored filter : take a captured live stream, encode with WMV
> inside ASF format, send in RTP packet (or HTTP if fast enough) and of
> course
> the receiver side that concatenate the RTP packets into a stream decode
> and
> render.

I think you could get away with HTTP--and truthfully, with WMV9 (and the
same will hold true with MPEG4 and H.264, I think--but someone may have
better input on those codecs as I'm not very familiar with either of them
beyond the basics), you're going to have to make sure the data gets there.

While streaming media has traditionally been based on UDP (RTP on top of UDP
has been the foundation for quite some time), as compression technology
improves there's a distinct tradeoff: the more you compress something, the
less loss tolerant it is. In other words, as your compression improves, the
event of loosing some compressed data becomes increasingly difficult to deal
with.

In my experience, WMV9 is *very* intolerant to data loss, so UDP ends up
being problematic unless retransmit and/or lapses in performance are
tolerable. In fact, I don't think one can really make a video conferencing
solution on a lossy IP-based network using the more advanced codecs, simply
because loss rates are too high for the codec to function properly, and the
time it takes for a re-transmit over the internet pretty much screws hopes
for less than 200 ms of delay. It's possible to get a decent quality CIF
stream @ 150 kb/sec in WMV9--and VGA @ 300kb/sec isn't too shabby at
all--but in the event of data loss, one has to take some fairly radical
steps if real-time performance is the business requirement (IE: wait for
next keyframe, or retransmit, both of which have serious performance
implications).

> I don't know where to start from since I did find no other project/sample
> like this on Internet
> that's why I'm so interested in yours and why I'm requesting (begging ?
> ;) )
> every info you could possibly give me
> in the last resort if your code is for sale I might be interested too

In my opinion, the reason you don't find a lot of video conferencing
solutions is because the Internet itself is insufficient to facilitate
real-time transport of video at any respectable quality. Audio is possible
because reconstructing samples is possible, and the data rate is
significantly lower--a good audio stream is a tenth of the size of a good
video stream. The Internet is a lossy network that has very little respect
for the timeliness of delivery, which makes it a serious obstacle for
real-time transport of video streams. If you use an older codec that's more
loss tolerant, bandwidth is a serious issue since the typical broadband user
has an upload to the internet of less than ~300 kbit/sec. If you use a
newer codec to achieve greater compression, data loss is a serious issue.
It's a catch-22 that a lot of people haven't quite accepted yet. It's also
the reason the WMP buffers a ridiculous amount of data prior to displaying
it.

So, can you tell me a bit more about your project? Is your intent to do
streaming over the Internet, or just locally?

-- 
Where am I going?
And why am I in this handbasket?


Relevant Pages

  • Re: directshow and windows format for broadcast ?
    ... take a captured live stream, ... In my experience, WMV9 is *very* intolerant to data loss, so UDP ends up ... time it takes for a re-transmit over the internet pretty much screws hopes ... the reason you don't find a lot of video conferencing ...
    (microsoft.public.multimedia.directx.dshow.programming)
  • Re: directshow and windows format for broadcast ?
    ... take a captured live stream, ... In my experience, WMV9 is *very* intolerant to data loss, so UDP ends up ... time it takes for a re-transmit over the internet pretty much screws hopes ... the reason you don't find a lot of video conferencing ...
    (microsoft.public.win32.programmer.directx.video)
  • Re: Back again
    ... collection of music so don't have a need to go to the internet for it. ... try and see if WMP works with? ... As for my video card, I'm not sure how it would effect things as the video ... fine if I download it instead of trying to stream it. ...
    (microsoft.public.windowsmedia.player)
  • Re: Back again
    ... As for your other questions, as I said, the video will play just ... I have a valid internet connection. ... I just can't stream it. ... See http://zachd.com/pss/pss.html for some helpful WMP info. ...
    (microsoft.public.windowsmedia.player)
  • Re: Digital Signage, Multimedia Steaming etc.
    ... A full featured video editing software is a major undertaking imo. ... However if you need to stream different video streams to each client, ... simultanious clients is no small task. ... 4.There will be 5-10 distribution servers. ...
    (borland.public.delphi.thirdpartytools.general)