Protocols & Transport
Browse 309 curated streaming protocol resources — HLS, MPEG-DASH, CMAF, WebRTC, and RTMP specs, servers, and tools on Awesome Video.
Subcategories
- Adaptive Bitrate Algorithms & Tools
- Adaptive Streaming
- CMAF & fMP4 Packaging
- DASH Manifest Tools
- DASH Tools
- HLS Manifest Parsers & Generators
- HLS Tools
- Low-Latency Streaming Tools
- Transport Protocols
Resources
- coturnAn open source implementation of TURN and STUN servers, used to facilitate NAT traversal for peer-to-peer video (and audio) communication i…
- aiortc (Python WebRTC)A Python library for Web Real-Time Communication that implements WebRTC and ORTC, enabling real-time audio/video and data streaming in Pyth…
- Pion WebRTCA pure Go implementation of the WebRTC protocol, enabling developers to build real-time video (and audio) streaming applications without ex…
- DVBlastA simple and powerful MPEG-2/TS demux and streaming application. DVBlast can stream digital TV (DVB) channels over a network, often used fo…
- CMAF for Low Latency Streaming – BitmovinA detailed blog explaining how CMAF enables low-latency streaming. Bitmovin covers the technical aspects of chunked CMAF, the changes requi…
- WiresharkA network protocol analyzer that can be used to debug streaming video at the packet level. Wireshark supports protocols like RTMP, HLS (HTT…
- MPEG-DASH MPD Python LibraryA Python implementation of the MPEG-DASH schema and tools to validate or create MPD files. It aligns with the official XML schemas for DASH…
- DASH-IF Conformance ToolAn official tool by the DASH Industry Forum to validate MPEG-DASH MPD files and segment formats. It checks for spec compliance and common i…
- NGINX-RTMP ModuleAn Nginx module that adds RTMP streaming server capabilities to Nginx. It supports streaming live content via RTMP and can also be used to…
- RTMPDumpA command-line utility to download RTMP streams. RTMPDump can save streaming media content transmitted via Real-Time Messaging Protocol, of…
- CTA WAVE Low Latency Service GuidelinesGuidelines from the CTA WAVE (Web Application Video Ecosystem) project focusing on low-latency streaming service implementation, including…
- Apple Technical Note TN2224 - HLS Best PracticesAn Apple Technical Note detailing best practices for HTTP Live Streaming. It covers how to encode media, segment files, set up playlists, a…
- OpenViduAn open source platform for building video conferencing or streaming solutions. OpenVidu provides easy-to-use APIs for WebRTC, enabling mul…
- TSDuckAn open source toolkit for MPEG transport streams. TSDuck provides a rich set of command-line utilities and a C++ library for analyzing, ed…
- Puffer (Stanford Live Streaming Research)A free live TV streaming research study by Stanford University that uses volunteer viewers to train and evaluate new adaptive streaming alg…
- Pensieve (Adaptive Bitrate AI Algorithm)A research system that uses reinforcement learning to generate adaptive bitrate (ABR) algorithms. Pensieve learned an ABR algorithm that ca…
- ISO/IEC 23009-1:2019 (MPEG-DASH)The ISO/IEC standard for Dynamic Adaptive Streaming over HTTP (DASH). It defines the MPD manifest format and segment formats for adaptive b…
- RFC 8216: HTTP Live Streaming (HLS)The IETF RFC that specifies HTTP Live Streaming (HLS), defining the playlist format (M3U8) and media segment structure for Apple's streamin…
- mediasoupA modern WebRTC SFU (Selective Forwarding Unit) for Node.js that enables building multi-party video conferencing and streaming applications…
- WebTorrentA streaming torrent client for the web. WebTorrent uses WebRTC for peer-to-peer transport and allows in-browser video streaming from torren…
- gortsplibA pure Go RTSP server and client library that supports handling RTSP streams without external dependencies, ideal for building streaming se…
- go-astitsA Golang library for parsing and demuxing MPEG Transport Stream (.ts) files natively, enabling inspection and processing of TS files.
- Middleman SCTE35 104 ParserA web-based tool to parse and decode SCTE-35 markers for ad insertion and broadcast signaling analysis.
- DASH Sequences (GPAC Wiki)The GPAC Wiki provides DASH sequences for conformance testing and validation.
- DASH IF Test Assets DatabaseA database of test assets provided by the DASH Industry Forum for validating DASH implementations.
- BBC R&D Adaptive Bitrate Test MediaThe BBC Research & Development department offers MPEG-DASH test media for developers and researchers.
- Apple HLS - IETF RFC8216Defines both the metadata structure and some client/server requirements
- MPEG DASH - ISO/IEC 23009-01Defines both the metadata structure and associated media format(s)
- Dashif ConformanceThe DASH Industry Forum provides a conformance tool to validate MPEG-DASH content against the DASH standard.
- Mux HLS StreamsMux offers a set of test HLS streams, primarily used by hls.js and hosted by Mux, for testing and development.
- Apple Reference StreamsApple provides example streams demonstrating the features of HTTP Live Streaming (HLS) for testing and development purposes.
- Apple HLS ToolsApple's HLS Tools assist developers in creating and validating HTTP Live Streaming (HLS) content for Apple devices.
- HlsqA CLI for adding some color to your HLS manifests along with some basic filtering.
- Generate MPEG-DASH Content Encrypted with MPEG-CENC ClearKey (dash.js Wiki)Step-by-step guide from the dash.js wiki showing how to generate MPEG-DASH content encrypted with MPEG-CENC ClearKey, and how to configure…
- DASH JavaScript PlayerReference implementation player for MPEG-DASH using dash.js library, useful for testing and compliance verification.
- DashencryptDASH fragmenter/segmenter and encrypter. Contribute to castlabs/dashencrypt development by creating an account on GitHub.
- Samples players for dash.jsCollection of sample players demonstrating dash.js features and implementation patterns for MPEG-DASH streaming.
- IngestDash-Industry-Forum/Ingest - A GitHub repository for video/multimedia development.
- Opus DASHSpecification for Encapsulating Opus Audio in ISO-BMFF Container
- HLS ServerMiddleware for serving HTTP Live Streaming (HLS) compatible media streams.
- HLS StreamingHLS streaming implementation or example project by tozastation demonstrating HTTP Live Streaming delivery.
- DASH Adaptation SimulatorSimulate bitrate switching algorithms based on real data traces
- Go DASHA Go library for generating MPEG-DASH manifests.
- Go TS SegmenterLive TS segmenter and HLS manifest creation in Go.
- BOLA: Near-Optimal Bitrate Adaptation for Online VideosAcademic paper presenting the BOLA algorithm for adaptive bitrate selection in video streaming players.
- M3U8 DownloaderTool for downloading video streams from m3u8 playlists. Utility for HLS content retrieval and testing.
- M3U8 DlA CLI m3u8-downloader program to parse .m3u8 playlist file and download mpeg2-ts video files, concat them and convert it to mp4 using FFMPEG
- HLS To MP4Download HLS videos as MP4 (WebVTT for caption download optional)
- RIST ForumThe RIST forum manage the Reliable Internet Stream Transport (RIST), for transporting live video over unmanaged networks.
- Low Latency Live StreamingTalk deck on low-latency live streaming with Apple LL-HLS and CMAF — chunked transfer, latency budgets and player behaviour.
- Mpd ParserContribute to videojs/mpd-parser development by creating an account on GitHub.
- M3U8 ParserM3U8 playlist parser from the Video.js project. Core utility for handling HLS manifests in JavaScript.
- HLS Authoring Specification for Apple DevicesApple's official specification for creating HLS streams compatible with Apple devices and players.
- HEVC in HLS: 10 Key Questions for Streaming Video DevelopersMany who heard that Apple is adding support for HEVC playback in HTTP Live Streaming were left with more questions than answers. Here's wha…
- Bento4 mp4dashCommand-line tool from Bento4 for creating DASH-compliant MP4 files and streaming packages.
- Content Protection for HLS with AES-128 EncryptionWe will outline the most popular method for content protection with the HTTP Live Streaming (HLS) protocol: AES-128 content encryption.
- 515_hls_authoring_updateWWDC 2017 presentation covering updates and best practices for authoring HLS streams for Apple devices.
- Docker 2dashA Docker container to pre-package MPEG DASH on demand content
- HLSCoreA collection of Swift packages for working with HLS
- Morsel📇 Swift library for creating HLS playlists and fragmented mp4 files. Works on Linux and iOS.
- HLSDownloaderDownload Crypted HLS with server key and play video as local playing on iOS device.
- Introducing Low-Latency HLS - WWDC 2019 - Videos - Apple DeveloperWWDC 2019 session introducing Low-Latency HLS. Since its introduction in 2009, HTTP Live Streaming has enabled the delivery of countless li…
- Protocol Extension for Low-Latency HLS (Preliminary Specification)Apple's preliminary specification for protocol extensions that reduce latency in HTTP Live Streaming, enabling lower-delay video delivery.
- 507_hls_authoring_for_airplay_2.Apple WWDC presentation on HLS authoring best practices specifically for AirPlay 2 compatibility and long-form video delivery.
- 510_validating_http_live_streams.Apple WWDC presentation covering validation techniques and tools for HTTP Live Stream (HLS) compliance and quality assurance.
- Open M3U8Open-source parser for m3u8 playlist files by iHeartRadio. Essential for HLS streaming implementations.
- Videojs Contrib DASHVideo.js plugin for supporting the MPEG-DASH playback through a video.js player
- The structure of an MPEG-DASH MPDThe MPEG-DASH Media Presentation Description (MPD) is an XML document containing information about media segments, their relationships and…
- HLS Origin ScriptsScripts to manipulate HLS manifests at origin or edge server
- Libdash (GitHub)MPEG-DASH Access Library - Official ISO/IEC MPEG-DASH Reference Implementation
- DASH IF ConformanceThis repository provides the source code for MPEG-DASH/DASH-IF Conformance Software/Validator. It has been extended according to further st…
- TideSimple m3u8 and MPEG-DASH MPD video downloader using libcurl
- DASH DRMExample implementations demonstrating MPEG-DASH playback with DRM protection schemes.
- MPEG DASH DownloaderContribute to mahbubcseju/MPEG-DASH-Downloader development by creating an account on GitHub.
- DASH Live Source SimulatorDASH live source simulator providing reference live content.
- Media Tools (DASH Industry Forum)A collection of tools for analyzing, handling, and creating media and media containers
- Scte35 JSA SCTE 35 Parser for JavaScript.
- HLS FetchDownload and decrypt videos served by the HTTP Live Streaming (HLS) protocol.
- HLS DownloadDownload HLS and convert to MP4.
- Video DownloaderHelper to download HLS videos.
- HLS TS AnalyzerExample implementation of hls-ts.js library.
- HLS TS JSHLS MPEG-TS parser library in Javascript.
- HLS Playlist ParserA Javascript library to parse Hls playlists.
- Fmp4 JSA Javascript library to parse ISO Base Media File Format (MPEG-4 Part 12)
- Vast InfoParse a VAST or VMAP to show valuable information in a readable format
- ManifestparserJavaScript library from Eyevinn for parsing HLS and DASH manifest files in video applications.
- HLS RelayScript to pull HLS stream from one origin and push to another origin
- VOD To LiveA python library to generate Live HLS from VOD.
- DASH-IF IOPsDASH Industry Forum guidelines providing interoperability points and implementation recommendations for DASH streaming systems.
- HLSCachingReverseProxyServerA simple local reverse proxy server for HLS segment cache
- Guide to Mobile Video Streaming with HLSHTTP Live Streaming, also known as HLS, is the most common format used today for streaming video. If you're building a video streaming appl…
- Bento4 HLS DocumentationBento4 developer documentation for HLS-specific tools, including utilities for creating, analyzing, and manipulating HTTP Live Streaming pl…
- bash scripts to create VOD HLS stream with ffmpeg almighty (tested on Linux and OS X)Bash scripts for packaging VOD HLS streams with FFmpeg — renditions, master playlist and encryption included; tested on Linux and macOS.
- M3U8 Downloader (lcy0321)Download the ts files according to the given m3u8 file.
- HlsdlC program to download VoD HLS (.m3u8) files.
- DASH ProxyExperimental MPEG-DASH media gateway - proxy on-the-fly modified MP4 segment metadata
- DASH JSA reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.
- MambaMamba is a Swift iOS, tvOS and macOS framework to parse, validate and write HTTP Live Streaming (HLS) data.
- MPEGDASH iOS PlayerThe MPEG-DASH Player iOS Application.
- DASH Validator JSMPEG DASH validator JS library.