9

I want to develop an application in ASP.NET MVC. Here's the detailed scenario -

  1. App should provide facility if "REAL TIME" video chatting. There should not be any lag (Latency below 4s in accepted but since it will be an interview, mroe than 4s is not acceptable at all.
  2. Application should record both the videos and upload the stream to Azure Blobs simultaneously so that it can be reviewed later on.

The problems I am facing

  1. I tried using Silverlight but it captures Video but does not save video + audio in mp4 or wmv format. (I tried using SocketCoder's code but it grabs sequence of jpegs and this won't help when I need an audio as well
  2. Expression encoder is good to have but the encoding takes a lot of time which causes a latency which is unacceptable..

Please help me with it. Is there any other technology that can be used to achieve this? How is Flex and how FLEXIBLE it is with ASP.NET MVC (.Net framework).

Rahul Patil
  • 5,656
  • 6
  • 37
  • 65
  • Have you accomplished it, yet? I am also looking for similar implementation ideas. Please let me know about your findings. – dicemaster Mar 06 '13 at 13:53
  • @gaurav Nope, had to drop off the project because of lack of resources available in HTML5 (pure web media experience). :-( – Rahul Patil Mar 26 '13 at 10:41

3 Answers3

7

I would have a look at WebRTC. On the web site it reads:

WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. The WebRTC components have been optimized to best serve this purpose.

I never used this but maybe you can adapt the project for your needs.

oleksii
  • 35,458
  • 16
  • 93
  • 163
1

Have a look at OpenTok. Since you are using .Net might I recommend my library which is available on NuGet.

http://www.tokbox.com/opentok/api

https://github.com/khalidabuhakmeh/OpenTokApi

Hope this helps.

Khalid Abuhakmeh
  • 10,709
  • 10
  • 52
  • 75
  • I had a look at OpenTok earlier, but due to financial constraints, I was looking to develop it in house. Any help in that regards, will be of any help. – dicemaster Mar 14 '13 at 20:13
1

Your latency will be dependant on what resolution you want to encode to (1080p or whatever) and the hardware of the machine doing the encoding.

FFMpeg is a great tool and best of all Free as far as I know which is unbelievable considering the amount of functionality, a bit tricky to develop with though.

You may want to take a look at this, the Core of your app could hang over this tutorial:

https://www.virag.si/2012/11/streaming-live-webm-video-with-ffmpeg/

Also did you know skype has an API

http://dev.skype.com/desktop-api-reference#Reference

http://dev.skype.com/skype-uri

SimonGates
  • 5,961
  • 4
  • 40
  • 52
  • From what I understood about FFMpeg, it is only for encoding and streaming Videos. What I need is, either real time video chat or recording from the web cam. Also skype APIs are for desktop apps, not for web applications. Please correct me if I am wrong. – dicemaster Mar 18 '13 at 19:18
  • 1
    I was thinking you could use silverlight to capture the video and FFMpeg to encode it to what you need. Take a look at this skype api http://dev.skype.com/skype-uri – SimonGates Mar 19 '13 at 09:32
  • Let me look at Silverlight, If it works on Linux as well as Macs then I don't need to use FFMpeg, I can use Azure media services. Regarding Skype api, the client needs to have skype agent installed (which is not guaranteed), so that is out of question. – dicemaster Mar 19 '13 at 12:07