3

I have searched for various samples online but I'm unable to find a suitable sample which is able to provide enough information.

I have tried Microsoft Expression Encoder, but the delay is too huge if I use broadcast method.

Directshow.net wise, the sample DxWebCam seems promising, but it lacks audio sample.

The idea I had in my mind is to send audio and video (frames) separately via TCP (or maybe UDP as highlighted by @macbral) but I am not sure how to handle synchronisation.

I'm looking at free samples as the current design is a 1 to 1 video conference via intranet.

Thanks for any help in advance.

C_Rance
  • 661
  • 12
  • 25
  • you want to send audio/video via UDP. TCP packet control will be too much overhead, and the user will prefer to lose every other frame than to have the communication freezed because of packets being resended. – mcabral Sep 26 '11 at 13:32
  • @mcabral thanks for the correction, yup UDP is better. but anyway, when using UDP, i suppose there might be concerns when network is not in the same subnet right? Might need to check against the infra. – C_Rance Sep 26 '11 at 13:35
  • changing the transport protocol from TCP to UDP should not change things that much (or at all, as in this case). you will face the same 'networking/routing' issues with both of them – mcabral Sep 26 '11 at 13:39
  • check this SO question [Developing a Video Chat Application with high quality video streaming](http://stackoverflow.com/questions/470698/developing-a-video-chat-application-with-high-quality-video-streaming). though the question was asked on Jan 22 '09 it still might come in handy. – Nika G. Sep 26 '11 at 13:43
  • @mcabral thanks, I do know how to work with UDP but have yet to actually deployed into an actual environment. Then I should go as you suggest unless there are hiccups. – C_Rance Sep 26 '11 at 13:44
  • @Niko that happens to be 1 of the first few site I saw. but finally the threadstarter mentioned directshow, but there were not much help for me – C_Rance Sep 26 '11 at 13:46
  • @Cody I came from java background actually, but after working in a pro- microsoft company, I am now more used to C#. Anyway possible to provide a link for me to look through? – C_Rance Sep 26 '11 at 14:26
  • http://www.red5.org/ , http://red5tutorials.net/index.php/Tutorials:Getting_Started_With_Red5_Server - Basic Red5 Application and everything in this Project is Free beside FlexEditor but i think you can Install Flex PLugin in Eclipse which is 30 Day's a demo or.... – Rosmarine Popcorn Sep 26 '11 at 14:30
  • Thanks cody. I would say there have pretty neat examples. I will give it a try if conferenceXP and VLC doesnt work well for me. – C_Rance Sep 27 '11 at 12:51
  • try the iConf.NET SDK @ http://www.avspeed.com – G-Man Jan 13 '14 at 04:20

2 Answers2

2

I've been looking for the same and have given up on open source alternatives since none of those seem to work well from .NET.

I'm currently evaluating products from StreamCoders which looks promising: http://www.streamcoders.com/

jgauffin
  • 99,844
  • 45
  • 235
  • 372
  • ok, this is a link which I never saw in my searches. Upped you for awareness. The price definitely seems high though, I am currently still researching on the available methods. – C_Rance Sep 26 '11 at 14:04
  • @C_Rance: Ok. Please post an update if you find something else as I'm interested too. – jgauffin Sep 26 '11 at 14:06
  • yup I will. But i'll be looking into opensource more than paid version. I'm busy at the moment, but I might consider doing testing over the weekend with the idea I have highlighted. – C_Rance Sep 26 '11 at 14:10
1

You can check ConferenceXP (a bit old project, but made simple conferences with it myself, after converting code to new visual studio/framework). To encode video, make more advanced streams- you can work with VLC api or Expression Encoder. Also you can try microsoft live messanger api (As i remember they have conferences in it).
PS there also is Skype api, but havent even seen it, so can say nothing about using it..You can research it too.

0x49D1
  • 8,505
  • 11
  • 76
  • 127
  • The VLC api is horrible and hard to get working properly. I've spent more time than I want to think of to get the parameters correct without succeeding. – jgauffin Sep 26 '11 at 13:49
  • woah, thanks for the numerous links. I can only give each of them a try this weekend. But anyway I seen quite a number of people talking about ConferenceXP and VLC. I did browse through ConferenceXP page, but I don't see documentation on usage and how about the license for usage? I might consider ConferenceXP or VLC, mind sharing on issues u faced, or good experience you have with these? – C_Rance Sep 26 '11 at 13:55
  • @jgauffin so what's your take in the end? – C_Rance Sep 26 '11 at 13:55
  • ConferenceXP has demo project. You can compile it and see how it works after trying it as user.. – 0x49D1 Sep 26 '11 at 14:03
  • As @jgauffin said- VLC is really not that pretty APi :) Tho a friend of mine used it for encoding video for stream and said that after trying several apis-this one had best compression/quality possibilities, so he used it for optimizations. – 0x49D1 Sep 26 '11 at 14:05
  • See here: http://cct.cs.washington.edu/downloads/CXP/ (client/services).By the way as i see-the project was continued! Ive used it almost 2 years ago and thought that project was discontinued(it was 5.1 version then), but now its recompiled and theyve added some features...nice. – 0x49D1 Sep 26 '11 at 14:09
  • @0x49D1 noted on VLC's issue. In video conference, we will be interested in encoding and transferring time. It might be a good trade of in terms a development for a good output. – C_Rance Sep 26 '11 at 14:13
  • @C_Rance, i cant precisely answer you about usage of VLC api(and its problems), but, sure, if you wont find out how to use it- i can ask my friend and he'll help you, may be even with some code samples. But i think you will find some examples over the internet. – 0x49D1 Sep 26 '11 at 14:19
  • Sure, ive used just base functionality from them. The rest was customization. But as i remember the thing works well just in intranet. If you need more-this thing will work badly(tho may be they have tweaked smth in new versions) – 0x49D1 Sep 26 '11 at 14:27
  • @0x49D1 I think that the 1st thing I might try is conferenceXP. hehe. It seems to pack in alot of features. Development side, will there be a huge effort to cater for customization? I will try out conferencexp 1st as it seems to have all the features that I require out of the box. If it doesnt suits me, then I will move to VLC, which most likely I will need your help. – C_Rance Sep 26 '11 at 14:28
  • @0x49D1 I have looked into the conferencexp library, but may need your help on how to customize. Do you happen to have some documentation on it? – C_Rance Oct 01 '11 at 16:07
  • @C_Rance, no, just looked at [user guide](http://cct.cs.washington.edu/project-wiki/index.php/ConferenceXP_Client_User_Guide) to see what is going on in program, then find that functionality in sources and change what you need. In my case i just took some parts of conference xp for my project, i didnt customize their one. – 0x49D1 Oct 03 '11 at 07:44
  • ok sure thanks. will try again when I free – C_Rance Oct 03 '11 at 12:01