Fluctuating NetworksDynamic Bandwidth estimation JitterBuffer SDP renegotiationDemand for High Quality Video Tradeoff between Latency vs Quality Layering for adaptive streamingBetter compression algorithms vs CPU computeFull INTRA-frame Request (FIR)Picture Loss Indication (PLI)Redundant Encoding (RED) in Media Packets CongestionFeedback Loop Overcome congestion with lower bitrate Reduce frame quality and resolution Congestion control Algorithms : Google Congestion Control … Continue reading Fault Tolerance and Error Correction in WebRTC
Category: Web RealTimeComm. ( WEBRTC)
AEC (Echo Cancellation) and AGC (Gain Control) in WebRTC
Acoustic EchoHybrid / Electronic Echo in PSTN phonesNoise Suppression in WebRTCEcho CancellationWebRTC Echo CancellationAutomatic Gain Control (AGC) Echo is the sound of your own voice reverberating. If the amplitude of such a sound is high and intervals exceed 25 ms, it becomes disruptive to the conversation. Its types can be acoustic or hybrid. Echo cancellers … Continue reading AEC (Echo Cancellation) and AGC (Gain Control) in WebRTC
SCTP (Stream Control Transmission Protocol)
SCTP is a reliable, message-oriented transport layer protocol. It was initially developed for telephony signaling (specifically for SS7 (Signaling System No. 7)) over IP, which requires robust and reliable messaging, but is widely used in WebRTC for data channels today as a standard. Being suitable for high availability , fault tolerant networks it is a … Continue reading SCTP (Stream Control Transmission Protocol)
Performance of WebRTC sites and electron apps
As security is a broad topic touching on many sections of WebRTC this section is not meant to address all topics but instead to focus on specific “hot spots”, areas that require special attention due to the unique properties of the WebRTC service. There are several security related topics that are of particular interest with respect to WebRTC. They can be grouped into the following areas: Identity Management Browser Security Authentication Media encryption Syntax checks using regex
WebRTC Audio/Video Codecs
WebRTC Video CodecsVP8VP9H264/AVC constrainedAV1 (AOMedia Video 1)Stats for video based media stream trackNon WebRTC supported Video codecs H.263H.265 / HEVCWebRTC Audio CodecsOpusAACG.711 (PCMA and PCMU)G.722iLBCiSACSpeexAMR-WB DTMF and 'audio/telephone-event' media typeStats for Audio Media trackDataChannelStats for Datachannel Codecs signifies the media stream's compession and decompression. For peers to have suceesfull excchange of media, they need a common … Continue reading WebRTC Audio/Video Codecs
WebRTC APIs
WebRTC (Web Real-Time Communication) provides a set of JSEP APIs that enable real-time peer-to-peer (P2P) communication in web browsers. These handle media capture, encoding, network traversal (ICE), and secure data transmission. This article describes those in detail and also highlights usecases around varying states of these APIs. MediaDevices getUserMedia()getDisplayMedia()enumerateDevices()getSupportedConstraints()MediaStream and MediaStreamTrackPeer-to-peer connectionsRTCPeerConnection InterfaceCreateOffer() CreateAnswer()Offer/Answer Options - VoiceActivityDetectionRTCSessionDescriptionProfile … Continue reading WebRTC APIs
Unified Plan SDP format in WebRTC
Plan B vs Unified Pan Interoperability between unified plan and plan B Until recently a customised or property extension could signal multiple media streams within an m-section of an SDP and experiment with media-level "msid" (Media Stream Identifier ) attribute used to associate RTP streams that are described in different media descriptions with the same … Continue reading Unified Plan SDP format in WebRTC
JavaScript Session Establishment Protocol (JSEP) in WebRTC handshake
SEP is used during signalling via w3c's recommended RTCPeerConnectionAPI interface to set up a multimedia session. The multimedia session description specifies the critical components of setting up a session between local and remote such as transport ports, protocol, profiles. It also handles the interaction with the ICE state machine.
WebRTC CPaaS ( Communication Platform as a Service )
CPasS ( communication platform as a service ) is cloud based communication platform that provides real time communication capabilities. This should be easily integrable with any given external environment or application of the customer, without him worrying about building backend infrastructure or interfaces .
Crticial Communication
Types of critical communications Major Components of Critical Communication Service E911 (Enhanced 911) Next Generation Core Services (NGCS) and NG911 Push to talk for firefighters Mission Crticial Communication Criticala communication services are essential for maintaining public safety and security, as well as for supporting critical infrastructure and operations. These services include: Emergency ServicesE911 (Enhanced 911), … Continue reading Crticial Communication
Session Border Controller (SBC) for WebRTC
SBC became important part of comm systems developed over SIP and MGCP. SBC offer B2BUA ( Back to Back user agent) behavior to control both signalling and media traffic.
Setting up ubuntu ec2 t2 micro for webrtc and socketio
Setting up a ec2 instance on AWS for web real time communication platform over nodejs and socket.io using WebRTC . Primarily a Web Call , Chat and conference platform uses WebRTC for the media stream and socketio for the signalling . Additionally used technologies are nosql for session information storage , REST Apis for getting sessions details to third parties.
AR/VR on WebRTC WebGL , Three.js and WebRTC
For the last couple of weeks , I have been working on the concept of rendering 3D graphics on WebRTC media stream using different JavaScript libraries as part of a Virtual Reality project . AR vs VR WebRTC WebGL Three.js WASM/OpenGL What is Augmented Reality ? Augmented reality (AR) is viewing a real-world environment with … Continue reading AR/VR on WebRTC WebGL , Three.js and WebRTC
Three.Js
Threejs , Spinning Colored Cube
Shaded Material on Sphere
Complicated materials like a Torusknot
TFX Widgets Development
TangoFX Sessions is a customizable solution where developers can create and add their own widget over the underlying WebRTC communication mechanism . It can support extensive set of user activity such as video chat , message , play games , collaborate on code , draw something together etc . It can go as wide as your imagination .
