Hello, I'm using DirectShowNet (some kind of DirectShow, but in C# instead of C++) to make a video conference application of which input is a web camera for the image and a microphone for the sound. Instead of sending these data through 2 different socket, I would like to "combine" these audio and video data into one stream of data, and send it over the network. The receiver will "split" this data back into image which will appear in the receiver's screen and audio which will be heard by the receiver through speakers. The problem is, how can I combine these video and audio data and how to stream and then split it again ? Any help would be appreciated. Thanks.
RC's ããã¯æ¸ãã¾ãã: > Hello, I'm using DirectShowNet (some kind of DirectShow, but in C# > instead of C++) to make a video conference application of which input > is a web camera for the image and a microphone for the sound. Instead > of sending these data through 2 different socket, I would like to > "combine" these audio and video data into one stream of data, and send > it over the network. The receiver will "split" this data back into > image which will appear in the receiver's screen and audio which will > be heard by the receiver through speakers. > The problem is, how can I combine these video and audio data and how > to stream and then split it again ? > Any help would be appreciated. Thanks. You would have to make filters below. 1. Source Filter - receive the stream. 2. Sink Filter - send it. 3. Split Filter - split it to the audio and video. 4. Mux Filter - combine the audio and video. DirectShow.Net doesn't have the DirectShow C++(NOT C#) Base Class library to make the filter easily. It is so hard to make the filter without that library.
Ok, it may be hard to make a filter by myself. Let's change the question. How if I want to use 2 RTP sessions instead of combining both audio and video data ? Maybe I can use some encoding like JPEG2000 and H.264 but I don't really understand how to do that... And about synchronizing both sessions... Do you have an idea ?