Real Time Video Chatting + Recording solution in A

2019-02-05 10:59发布

问题:

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).

回答1:

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.



回答2:

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.



回答3:

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