Projects and applications
broadcast
Broadcast are applications and systems for streaming audio and video. All applications are based on the HTTP Live Streaming, HLS, protocol. The protocol was developed by Apple in 2009 and is used by most television and media companies. In short, the HLS application creates short media sequence files (fragmented MP4) and then adds a special worklist (M3U file) to keep track of the files. All files are then broadcast to the client's browser. The payload codec is AAC for audio and H.264 or H.265 (HEVC) for video.
radio
Radio are applications for sending internet radio. The most popular platforms are SHOUTcast and Icecast. SHOUTcast was, in the early days, developed by Nullsoft and can now be used for free. The audio codec is usually MP3 or ACC. A convenient application for recording the audio stream is developed as well.
streaming
Streaming are applications and systems for streaming audio and video. All applications are based on the Secure Reliable Transport (SRT) protocol. It’s a great open source protocol and was developed by Haivision in 2012. SRT joins the very best of the TCP and UDP network protocols, and the major benefits are reliable transport, low latency, and secure encryption.
The payload is usually the MPEG transport stream protocol (MPEG-TS), but other protocols can be used. It’s a well-tried container format protocol and is rather complex with a lot of subprotocols (audio, video, PAT, PMT, SDT). The payload codec is, as usual, AAC for audio and H.264 for video. This is a nice system solution: stream the SRT media from a mobile device to a server or cloud service, transform the stream to HLS, and broadcast the complete payload to the client's browser.
security
Security are applications for surveillance cameras with different network protocols. Most browsers do support the MJPEG over HTTP, but it’s network demanding for higher bitrates. On the other hand, the Real Time Streaming Protocol (RTSP) over HTTP is a smart solution and uses one port only. However, standard RTSP uses different ports for streaming audio and video and one port for control, which firewalls don’t usually like. A second protocol, Real Time Control Protocol (RTCP), can be added as well. The payload codec is mostly G.711 or AAC for audio and H.264 for video.