Low latency is imperative for use cases that require mission-critical communication such as the emergency call for first responders, interactive collaboration and communication services, real-time remote object detection etc. Other use cases where low latency is essential are banking communication, financial trading communication, VR gaming etc. When low latency streaming is combined with high definition (HD) quality, the complication grows tenfold. This article discusses RTMP, RTSP, LL HLS, MPEG-DASH and, WebRTC, SRT as technologies to provide low-latency streaming. It also discusses the TradeOff of Latency vs. Quality and congestion control to avoid packet loss which is detrimental to low latency.
Category: Media Processes
contains Codecs and trans-coding , Broadcasting and live streaming , DRM etc
Media Architecture, RTP topologies
With the sudden onset of Covid-19 and building trend of working-from-home , the demand for building scalable conferncing solution and virtual meeting room has skyrocketed . Here is my advice if you are building a auto- scalable conferencing solution
Video Codecs – H264 , H265 , AV1
Article discusses the popularly adopted current standards for video codecs( compression / decompression) namely MPEG2, H264, H265 and AV1
Audio and Acoustic Signal Processing
Audio signals are electronic representations of sound waves—longitudinal waves which travel through air, consisting of compressions and rarefactions and Audio Signal Processing focuses on the computational methods for intentionally altering auditory signals or sounds, in order to achieve a particular goal. Application of audio Signal processing in general storagedata compressionmusic information retrievalspeech processing ( emotion recognition/sentiment … Continue reading Audio and Acoustic Signal Processing
RTCP Reports and QoE metric calculation
RTCP works alongside RTP to monitor and control media streams with QoS feedback, synchronization and session management . This writeup describes the key format and functions of this protocol RTCP (Real-Time Transport Control Protocol ) RTCP Control and ManagementGathers statistics on media connectionSR: Sender Report RTCP PacketRR: Receiver Report RTCP PacketSDES: Source Description RTCP PacketBYE: … Continue reading RTCP Reports and QoE metric calculation
RealTime Transport protocol (RTP) and supporting protocols
RTP is a protocol for delivering media stream end-to-end in real time over an IP network. Its applications include VoIP with SIP/XMPP, push to talk, WebRTC and teleconf, IOT media streaming, audio/video or simulation data, over multicast or unicast network services so on. RTSP provides stream control features to an RTP stream along with session management. RTCP, is also a companion protocol to RTP, used for feedback and inter-frame synchronization. Receiver Reports (RRs) include information about the packet loss, interarrival jitter, and a timestamp allowing computation of the round-trip time between the sender and receiver. Sender Reports( SR) include the number of packets and bytes sent, and a pair of timestamps facilitating inter-stream synchronization. SRTP provides security by end-to-end encryption while SDP provides session negotiation capabilities.
SIP conferencing and Media Bridges
SIP is the most popular signalling protocol in VOIP ecosystem. It is most suited to a caller-callee scenario , yet however supporting scalable conferences on VOIP is a market demand. It is desired that SIP must for multimedia stream but also provide conference control for building communication and collaboration apps for new and customisable solutions.
JANUS as WebRTC SFU
We know Janus is a popular small footprint gateway/media Server with support for WebRTC features like JSEP/SDP, ICE, DTLS-SRTP, DataChannels. Its plugins expose Janus API over different transports - HTTP, WS, rabbitMQ, Unix sockets, MQTT so on. Other plugins provide deeper modifications such as Video SFU, Audio MCU, SIP/RTSP gateways, broadcasting etc.
Video analytics
Today , there are billions of of video cameras in our homes, phones , ATMs , baby monitors , laptops , smart watches , traffic monitoring , IOT devices , bots , you name it. The underlying purpose of most of them is to capture media streams and optimize the content for further processing. Stages … Continue reading Video analytics
Gstreamer
GStreamer ( LGPL )is a media handling library written in C for applications such as streaming, recording, playback, mixing and editing attributes so on. Even enhanced applications such as transcoding , media format conversion , streaming servers for embedded devices ( read more about Gstreamer in RPi in my article here). It is a pipeline … Continue reading Gstreamer
crtmpserver + ffmpeg
This post will show the process of installing , running and using crtmpserver on ubuntu 64 bit machine with gstreamer . gcc and cmake We shall build gstreamer directly from sources . For this we first need to determine if gcc is installed on the machine . If not installed then run the following command GNU Compiler Collection … Continue reading crtmpserver + ffmpeg
GStreamer-1.8.1 rtsp server and client on ubuntu
GStreamer is a streaming media framework, based on graphs of filters which operate on media data. Gstreamer is constructed using a pipes and filter architecture. The basic structure of a stream pipeline is that you start with a stream source (camera, screengrab, file etc) and end with a stream sink (screen window, file, network etc). … Continue reading GStreamer-1.8.1 rtsp server and client on ubuntu
Wowza REST APIs and HTTP Providers
This article show the different ways to make calls to Wowza Media Engine from external applications and environments for various purposes such as getting server status , listeners , connections , applications and its streams etc . HTTP Providers HTTP Providers are Java classes that are configured on a per-virtual host basis. Some pre packaged … Continue reading Wowza REST APIs and HTTP Providers
Wowza RTMP Authentication with Third party Token provider over Tiny Encryption Algorithm (TEA)
this article is focused on Wowza RTMP Authentication with Third party Token provider over Tiny Encryption Algorithm (TEA) and is a continuation of the previous post about setting up a basic RTMP Authentication module on Wowza Engine above version 4. The task is divided into 3 parts . RTMP Encoder Application Wowza RTMP Auth module … Continue reading Wowza RTMP Authentication with Third party Token provider over Tiny Encryption Algorithm (TEA)
Wowza Secure URL params Authentication for streams in an application
To secure the publishers for a common application through username -password specific for streamnames , this post is useful . It uses Module Core Security to prompt back the user for supplying credentials. check the rtmp query-string for parameters and performs the checks - is user is allowed to connect and is user allowed to stream on given streamname is given below .
