Awesome Video
Contents
- Introduction
- Learning
- HLS
- DASH
- Kubernetes
- Encoding
- Transport
- Streaming Server and Storage
- Specs and Standards
- Players
- FFMPEG
- Audio
- Subtitles and Captions
- Ads
- Vendors
- QoE
- Tools
- DRM
- Testing
- Community
- CDN
- HDR10, HLG, Dolby Vision
Introduction
What's video?
- A short history of video coding - Video coding is an essential component of video streaming, digital TV, video chat and many other technologies. This presentation, an invited lecture to the US …
- Eyevinn/streaming-onboarding - New to streaming and don't know where to start? This is the place for you! - Eyevinn/streaming-onboarding
- Video Streaming Cheatsheet - The Video Streaming Cheatsheet is a double sided page, suitable for printing, that contains common terminology used in the video streaming industry in a quick reference format
- leandromoreira/digital_video_introduction - A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding). - leandromoreira/digital_video_introduction
Learning
An awesome list of learning video streaming resources.
- 3 Cases from a Video Expert: Encoding Basics - Introduction
- Back to Basics: Encoding Definition and Adaptive Bitrate -
- Creating A Production Ready Multi Bitrate HLS VOD stream - Peer5 P2P Docs - Peer5 documentation
- Creating a Master Playlist | Apple Developer Documentation -
- FFmpeg and how to use it wrong - I’ve been in the streaming media industry since 2008 and have seen a lot of misinformation regarding both FFmpeg and libx264. In this post I hope to help shed some light on what does and does…
- Guide to Mobile Video Streaming with HLS - HTTP Live Streaming, also known as HLS, is the most common format used today for streaming video. If you're building a video streaming application today, you should probably use HLS. Apple created the HLS standard in 2009, and it is the required streaming format for iOS devices. Since then, Android
- HLS Authoring Specification for Apple Devices | Apple Developer Documentation -
- HLS adaptive streaming tutorial with CloudFront & JW Player | Miracle Tutorials - A step-by-step HLS adaptive streaming tutorial with CloudFront & JW Player in two parts. It is easier than you think. This tutorial presumes you have
- HOW TO: View an HLS Stream in QuickTime or VLC – Softron Support Desk -
- How To Setup Nginx For HLS Video Streaming On Centos 7 - How to live stream videos with Nginx
- How video streaming works on the web: An introduction - Note: this article is an introduction to video streaming in JavaScript and is mostly targeted to web developers. A large part of the…
- HowVideo.works -
- Internet Video Streaming — ABR part 1 - Background
- Internet Video Streaming — ABR part 2 - Background
- Introduction to HTTP Live Streaming: HLS on Android and More - This article explains how HTTP Live Streaming works and demonstrates how to create an HLS player in Android.
- Low Latency Live Streaming - Low Latency Live Streaming Apple LLHLS / CMAF Kevin Staunton-Lambert Solutions Architect R&D (July 2019) @kevleyski www.switch.tv
- OTT Content Delivery - Background
- OTT Content Delivery– Multi CDN - Background
- Overview of the H.264/AVC video coding standard - Circuits and Systems for Video Technology, IEEE Transactions on -
- Server-less Video Backend - In this blog post by Jonas Rydholm Birmé he describes how a completely server-less video backend on AWS would look like.
- The structure of an MPEG-DASH MPD - The MPEG-DASH Media Presentation Description (MPD) is an XML document containing information about media segments, their relationships and information necessary to choose between them, and other metadata that may be needed by clients. In this post, I describe the most important pieces of the MPD, starting from the top level (Periods) and going to the bottom (Segments).
- Understanding the HTTP Live Streaming Architecture | Apple Developer Documentation -
- VOD2Live - VOD2Live Kevin Staunton-Lambert Solutions Architect R&D @kevleyski www.switch.tv
- Video Encoding — Compression and Resolutions - Written by: Boris Asadanin, Streaming Media Consultant at Eyevinn Technology
- Video Tensorflow - Using Tensorflow For Audience Measurement Kevin Staunton-Lambert Solutions Architect R&D @kevleyski www.switch.tv
- Video and containers - NALU, Annex B, and Start Codes
- WebAssembly (Wasm) - WebAssembly (Wasm) On the Edge Kevin Staunton-Lambert Solutions Architect R&D @kevleyski www.switch.tv Wasm)
- WildFires - VOD2Live Kevin Staunton-Lambert Solutions Architect R&D @kevleyski Wild Fire! How video engineers can help save lives www.switch.tv
- alexgand/springer_free_books: Python script to download all Springer books released for free during the 2020 COVID-19 quarantine - Python script to download all Springer books released for free during the 2020 COVID-19 quarantine - alexgand/springer_free_books
- amiaopensource/cable-bible - A guide to cables and connectors used for audiovisual tech - amiaopensource/cable-bible
- bash scripts to create VOD HLS stream with ffmpeg almighty (tested on Linux and OS X) - bash scripts to create VOD HLS stream with ffmpeg almighty (tested on Linux and OS X) - README.md
- ffmpeg tutorial -
- leandromoreira/video-containers-debugging-tools - A set of command lines to debug video streaming files like mp4 (MPEG-4 Part 14), ts (MPEG-2 Part 1), fmp4 in Dash, HLS, or MSS, with or without DRM. - leandromoreira/video-containers-debugging-tools
- lhls-simple-live-platform - You can build your own live platform just wiring up some open source tools, this is a demo video of https://github.com/jordicenzano/lhls-simple-live-platform
- matmoi/create-DASH-HLS - A tutorial to generate fMp4 files compatible with dash and HLS - matmoi/create-DASH-HLS
- matmoi/create-DASH-HLS - A tutorial to generate fMp4 files compatible with dash and HLS - matmoi/create-DASH-HLS
- mofo7777/Stackoverflow - All source codes I've provided on stackoverflow as an answer, usually under tag ms-media-foundation. Mediafoundation, audio, video, 3D, decoder, encoder. - mofo7777/Stackoverflow
- nickdesaulniers/netfix - Let's build a Netflix.
Books
Books on video streaming. NOTE: Books published more than 4-5 years ago may not be up to date on latest streaming tech. back to top
- Circles of Confusion - 2009-01-01. Roberts, Alan.
- Communicating Pictures - 2014-06-20 (1st Edition). Bull, David.
- Fundamentals of Multimedia - 2022-02-17 (3rd Edition). Ze-Nian Li (Author), Mark S. Drew (Author), Jiangchuan Liu.
- The Good Parts of LibVLC - 2022-09-15. Finkel, Martin.
- Video Compression Handbook - 2018-07-03 (2nd Edition). Beach, Andy; Owen, Aaron.
Reading
A list of reading articles, blogs, and newsletters for video streaming. back to top
- 9 Best Home Server Apps to Automate Media Management - These are top 9 best home server apps to automate media management, so you get the latest Movies, Music and TV Shows in the best quality available.
- About Frame Rates or Why 29.97? - I recently remembered this popular post from my old blog. Since that blog no longer exists, I thought I would repost it here. Since I wrote this post about a decade ago, many others of done a much better job describing this in detail. I highly recommend the following two videos by Alec Watson fro
- BOLA: Near-Optimal Bitrate Adaptation for Online Videos -
- Byte Down: Making Netflix’s Data Infrastructure Cost-Effective -
- Demystifying HTML5 Video Player - In this post we will go under the hood of a HTML video player for video streaming. With the exception of Apple and their browser Safari, no…
- Design of scheduling and rate-adaptation algorithms for adaptive HTTP streaming · dispar.at Blog - Design of scheduling and rate-adaptation algorithms for adaptive HTTP streaming - Stephan Hesse
- Extracting contextual information from video assets - for an improved Netflix user experience
- FFmpeg Threads Command: How it Affects Quality and Performance - So, I received