locked
network sink RRS feed

  • Question

  • I got quite accustomed to DirectShow, but there is still a complete musunderstand how I might transmit data over a network.
    I read that there are "network sinks", but coold not find asomething like that in GraphEdit.

    Let's assume I have a webcam source - can write it into a asf file - and then?
    And what happen on the receiver's side?
    Thursday, April 30, 2009 2:20 PM

Answers

  • You can try Microsoft MPEG2 Multicast Sender (Source) and Receiver (Sink). But it will not be easy for the first time. You can try to download LeadTools (free evaluation Packages), which has Network Source/Sink filter, and easier to use.
    david.tac
    • Marked as answer by Percy2000 Thursday, April 30, 2009 3:19 PM
    Thursday, April 30, 2009 3:03 PM

All replies

  • You can try Microsoft MPEG2 Multicast Sender (Source) and Receiver (Sink). But it will not be easy for the first time. You can try to download LeadTools (free evaluation Packages), which has Network Source/Sink filter, and easier to use.
    david.tac
    • Marked as answer by Percy2000 Thursday, April 30, 2009 3:19 PM
    Thursday, April 30, 2009 3:03 PM
  • thanks David,

    I would love to encode a wmv file - and have seen that the WindowsMediaEnocder would support that. Would this work on a peer-to-peer basisß Or do I need a Windows media server somewehre?
    Thursday, April 30, 2009 3:21 PM
  • WM Encoder has a broadcast mode that can serve up to five clients for more than that you need Windows Server.  It's not designed for peer-to-peer, AFAIK.

    From the docs:

    Broadcasting content live

    When you want to broadcast your content live, you can choose to either push the stream from the encoder to a Windows Media server or you can enable clients (Windows Media servers or players) to pull the content. The method you use depends upon your situation.

    Push scenarios

    Pushing a stream from the encoder is useful if the encoder is behind a firewall or if you want to initiate the connection from the encoder. For example, assume you have just received last-minute notice that the president of your company wants to stream a talk to the company employees. The Windows Media server is located remotely, outside your company firewall. In fact, it is the middle of the night for the server administrator. By pushing the stream from the encoder, you can get the stream past the firewall, meet the president's request, and avoid making an emergency call to bring someone in to administer the server. Push distribution is only available with Windows Media Services 9 Series in Windows .NET Server 2003.

    Pull scenarios

    Enabling Windows Media servers to pull a stream is useful in several scenarios. First, if there are multiple distribution servers, all connecting at different times, each server can initiate the connection with the encoder when the server is ready to stream. Next, pulling from a server is useful if it is important to minimize bandwidth usage between the server and the encoder. For example, the server administrator can add a publishing point and configure it to start automatically upon client request, which means that the server does not initiate the connection with the encoder until the first client connects. This eliminates unnecessary bandwidth use between the server and the encoder. (This scenario is only available with Windows Media Services 9 Series in Windows .NET Server 2003.) Finally, pulling from the server is also useful when the server is behind a firewall. For example, assume you have set up the encoder on a public network because you are streaming events at a conference. You need to get the stream to a distribution server in the protected network. The server administrator can pull the stream through the firewall.

    Enabling players to pull the stream is useful when you do not expect to have many clients viewing the stream. Windows Media Encoder allows up to five clients to connect directly to it during a broadcast. When you are enabling clients to pull the stream, you can restrict access to the content by IP address or by groups of IP addresses.


    My dshow site is http://tmhare.mvps.org.  Please use Vote As Helpful and Mark As Answer where appropriate.
    Thursday, April 30, 2009 3:29 PM
  • Thanks, March Hare (and I can do this explicity, since I found your site extremely valuable),
    but there is a follow up question though.

    The pull mode seems to be very interesting, since this could allow small small groups.
    So my graph would look like this:

    video capture -> smart tree -> asf writer ---             and then?
    audio capture

    Although I have installed the WMEncoder I cannot find the respective DirectShow filters. What shall I lool for?
    Thursday, April 30, 2009 3:58 PM
  • The WM Encoder has its own SDK available as a separate download from Microsoft.  The WME SDK components are documented there and are separate from the dshow SDK.

    There is also a WM Format SDK which might be worth looking at.  The WME SDK is based on a combination of the WM Format SDK and dshow.

    Here are the WM downloads:  (WME SDK in the older downloads section)

    http://msdn.microsoft.com/en-us/windowsmedia/bb190309.aspx
    My dshow site is http://tmhare.mvps.org.  Please use Vote As Helpful and Mark As Answer where appropriate.
    Thursday, April 30, 2009 4:41 PM

  • thanks, March Hare. -
    I had a look at the NetWrite sample of WMF SDK - which is pretty straightforward.
    Acting as a server, here I can transport a media file - and a client may downstream it - which works fine.

    Given that this would be a great solution for files, I wonder how this works for realtime communication.
    Let's say I want to write a conferencing tool. So there are webcam pics, and audio stream - but what is the
    format that is comaptible with the NetWriter. Could it be an asf writer?
    What about latency problems etc?

    Would udp would be an alternative?
    If so - how can I mux audio video stream into a single buffer?

    Beginner's questions - sorry for that.
    Friday, May 1, 2009 8:58 AM