Difference between revisions of "Feature:Audio/video communication"

From Kosmos Wiki
Jump to navigation Jump to search
imported>Administrator
Line 1: Line 1:
−
== Summary ==
+
#REDIRECT [[Feature2:Audio/video communication]]
−
 
 
−
67P comes with integrated video- and audio chat capabilities. In the beginning, this is limited to 1on1 calls, but we will support conferencing and/or broadcasting at a later point. WebRTC ([http://webrtc.org "Web Real-time Communication"]) is used to enable this. WebRTC currently works in Firefox, Chrome, FF and Chrome on Android, Opera and some lesser known browsers (e.g. Bowser on iOS). We might switch to ORTC ([http://ortc.org "Object RTC"]) at some point, which is a lower-level standard that will be supported in Internet Explorer also.
 
−
 
 
−
== Features ==
 
−
 
 
−
67P RTC is an integrated featuren in HyperChannel. Only direct 1on1 calls will be implemented for now.
 
−
 
 
−
=== HyperChannel Integration ===
 
−
 
 
−
A video stream (or audio symbol for non-video) will be integrated into the 67P UI (maybe in an extra tab?) You can also "pop-out" this UI component, which makes working on multiple screens easier (and requesting full screen simpler).
 
−
 
 
−
=== Feature Ideas for Later™ ===
 
−
 
 
−
* Screensharing
 
−
* Conferencing
 
−
* Broadcasting
 
−
* Call in to a WebRTC call via plain old phone system
 
−
 
 
−
==== Stand Alone Application ====
 
−
 
 
−
The WebRTC Stand Alone Application will be needed in the following cases:
 
−
 
 
−
* One of the participants is not on HC, but using an IRC Client
 
−
* Both parties are using IRC. The Server/Mod generates a room link on the SA app for them. Or maybe: Don't support this scenario?
 
−
* Inviting people to an 1on1 chat that are not part of the current 67P organisation (maybe via email)
 
−
 
 
−
The SA application displays the video stream of the other party, however, some kind of text communication channel is still needed (people want to exchange links etc) - This will be done via IRC or WebRTC's DataChannels.
 
−
 
 
−
== Technical Implementation ==
 
−
 
 
−
'''Components:''' Client/UI Integration, Signaling Backend (might be IRC/SH), TURN Relay, SFU/MCU for Conferencing > 4
 
−
 
 
−
=== Signaling ===
 
−
 
 
−
WebRTC requires "signaling" which serves two purposes:
 
−
* Peers meet each other
 
−
* Peers can exchange some messages w/ each other (like "offer: i can do this codec" or "ice: i have this kind of nat")
 
−
 
 
−
It is implemented on top of the existing IRC channels (via SockerHub) using special message formats, which will get parsed by the HC Client. For backwards compat (later), it could include a link to the SA app:
 
−
 
 
−
    A → B [67p-rtc-invite] Here is your video call: https://playground.p67.io/rtc/bilfgneehlrieli
 
−
    B → A [67p-rtc-accept] Accepted
 
−
    A → B [67p-rtc-params] (Signaling messages)
 
−
    ...
 

Revision as of 18:04, 23 March 2015