Skip to content

A curated list of awesome streaming video tools, frameworks, libraries, and learning resources.

License

Notifications You must be signed in to change notification settings

krzemienski/awesome-video

Repository files navigation

Awesome Video Awesome

Contents

Video Players & Playback Libraries

Libraries and tools for video playback across various platforms.

Browser Extensions

Browser extensions for enhanced video playback. back to top

  • Eyevinn/abr-player-chrome - Chrome extension that uses Eyevinn HTML player to be able to play HLS and MPEG-DASH natively - Eyevinn/abr-player-chrome

Desktop Players

Video players for desktop operating systems. back to top

Embedded Players

Video players for embedded systems. back to top

Frameworks & UI Components

Frameworks and UI components for building video playback solutions. back to top

Mobile Players

Video players optimized for mobile devices. back to top

Set-top Box Players

Video players for set-top box devices. back to top

Smart TV Players

Video players for Smart TV platforms. back to top

Web Players

Video players designed for web browsers and web applications. back to top

Video Editing & Processing Tools

Tools for editing, processing, and manipulating video content.

Batch Processing & Automation

Tools for batch processing and automating video workflows. back to top

Color Grading & Correction Tools

Tools for color grading and correction in video. back to top

  • bbc/qtff-parameter-editor - QuickTime file parameter editor for modifying transfer function, colour primary and matrix characteristics.

Conversion & Format Tools

Tools for converting video between different formats. back to top

Effects & Compositing Tools

Tools for adding effects and compositing video. back to top

Non-linear Editing Suites

Complete software suites for non-linear video editing. back to top

Subtitle & Caption Tools

Tools for working with subtitles and captions in video. back to top

Trimming & Cutting Tools

Tools for trimming, cutting, and splitting video files. back to top

Video Encoding, Transcoding & Packaging Tools

Tools for encoding, transcoding, and packaging video content.

Cloud-Based Encoding Solutions

Cloud-based solutions for video encoding. back to top

Containerization & Packaging Tools

Tools for containerizing and packaging video content. back to top

FFmpeg-Based Tools

Tools built on or extending FFmpeg functionality. back to top

Hardware Accelerated Transcoding

Tools utilizing hardware acceleration for video transcoding. back to top

Multi-format Packaging Tools

Tools for packaging video in multiple formats. back to top

  • Eyevinn/hls-to-dash - Open source packager and tools to rewrap live HLS to live MPEG DASH - Eyevinn/hls-to-dash
  • aminyazdanpanah/python-ffmpeg-video-streaming - 📼 Package media content for online streaming(DASH and HLS) using FFmpeg - aminyazdanpanah/python-ffmpeg-video-streaming
  • cannonbeach/ott-packager - OTT/ABR streaming encoder (H264/HEVC) and packager for DASH and HLS - cannonbeach/ott-packager
  • cash2one/VideoTranscoding-Backend - This application transcode a video that you send on all formats what you want and diferent resolutions. - cash2one/VideoTranscoding-Backend
  • escaped/django-video-encoding - django-video-encoding helps to convert your videos into different formats and resolutions. - escaped/django-video-encoding
  • gpac/gpac - GPAC main code repository.
  • majamee/arch-ffmpeg-gpac - A ready-prepared video transcoding pipeline to create DASH/ HLS compatible video files & playlists - majamee/arch-ffmpeg-gpac
  • monking/transcode-web-video - Quickly transcode a source video to MP4, OGV, and WebM, with scale, bitrate, and screengrab options. - monking/transcode-web-video

Real-Time Encoding Solutions

Solutions for real-time video encoding. back to top

Scripting & Automation Tools

Tools for scripting and automating video encoding workflows. back to top

Software Transcoding Tools

Software-based tools for video transcoding. back to top

Video Streaming & Distribution Solutions

Solutions for streaming and distributing video content.

CDN Integration & Distribution

Tools and services for integrating with Content Delivery Networks. back to top

Edge Computing & Caching Solutions

Solutions leveraging edge computing and caching for video delivery. back to top

  • Edge Computing with Fastly CDN and Varnish VCL for Authenticated Requests - Endertech - A brief explanation of how to use Fastly CDN and Varnish with authenticated requests to offload static file serving from the origin and edge caching.
  • Lambda Edge Tutorial - This tutorial shows you how to get started with Lambda@Edge by helping you create and add a sample Node.js function that runs in CloudFront. The example that we walk through adds HTTP security headers to a response, which can improve security and privacy for a website. (That said, you don’t need a website for this walkthrough; we simply add security headers to a response when CloudFront retrieves a file.)
  • Lambda@Edge Design Best Practices | Amazon Web Services - Lambda@Edge transforms CloudFront into a highly programmable CDN with serverless compute capabilities closer to your viewers around the world. This blog is the first in a series that explains best practices associated with using Lambda@Edge functions to customize your content delivery.
  • StyleShare/HLSCachingReverseProxyServer - A simple local reverse proxy server for HLS segment cache - StyleShare/HLSCachingReverseProxyServer

Live Streaming Servers

Servers designed for live video streaming. back to top

Multi-CDN Management

Tools for managing multiple Content Delivery Networks. back to top

Peer-to-Peer Streaming Solutions

Solutions using peer-to-peer technology for video streaming. back to top

  • Wifibroadcast – Analog-like transmission of live video data - Wifibroadcast is a project aimed at the live transmission of HD video (and other) data using wifi radios. One prominent use case is to transmit camera images for a first person view (FPV) of remote…
  • cdnbye/hlsjs-p2p-engine - A hls.js plugin to offload bandwidth from expensive traditional CDNs,while also maximizing a user’s viewing experience. - cdnbye/hlsjs-p2p-engine

RTMP/RTSP/HTTP Protocol Servers

Servers supporting RTMP, RTSP, and HTTP streaming protocols. back to top

Streaming Analytics & Monitoring

Tools for analytics and monitoring of video streams. back to top

VOD Streaming Servers

Servers for video-on-demand streaming. back to top

Adaptive Streaming & Manifest Tools

Tools for adaptive streaming and manifest manipulation.

Adaptive Bitrate Algorithms & Tools

Algorithms and tools for adaptive bitrate streaming. back to top

CMAF & fMP4 Packaging

Tools for Common Media Application Format and fragmented MP4 packaging. back to top

  • Eyevinn/fmp4-js - A Javascript library to parse ISO Base Media File Format (MPEG-4 Part 12) - Eyevinn/fmp4-js
  • HLS and Fragmented MP4 - At WWDC 2016, Apple announced support for fragmented MP4 (fMP4) as an alternative to MPEG-TS, which prior to their announcement was the only supported format. So why use fragmented MP4 files? Well,…
  • 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

DASH Manifest Tools

Tools for working with DASH manifests. back to top

DASH Tools

Tools for Dynamic Adaptive Streaming over HTTP (DASH). back to top

HLS Manifest Parsers & Generators

Tools for parsing and generating HLS manifests. back to top

HLS Tools

Tools specifically for HTTP Live Streaming (HLS). back to top

Low-Latency Streaming Tools

Tools optimized for low-latency video streaming. back to top

Media Analysis, Quality Metrics & AI Tools

Tools for media analysis, quality metrics, and AI applications.

AI & Machine Learning Tools

Tools leveraging AI and machine learning for video processing. back to top

  • OpenVisualCloud/Ad-Insertion-Sample - The ad-insertion reference pipeline shows how to integrate various media building blocks, with analytics powered by the OpenVINO™ Toolkit, for intelligent server-side ad insertion. - OpenVisualClou...
  • OpenVisualCloud/Smart-City-Sample - The smart city reference pipeline shows how to integrate various media building blocks, with analytics powered by the OpenVINO™ Toolkit, for traffic or stadium sensing, analytics and management tas...
  • VCDP/FFmpeg-patch - This repository contains a collection of FFmpeg* patches and samples to enable CNN model based video analytics capabilities (such as object detection, classification, recognition) in FFmpeg* framew...
  • Video Tensorflow - Using Tensorflow For Audience Measurement Kevin Staunton-Lambert Solutions Architect R&D @kevleyski www.switch.tv
  • apm1467/videocr - Extract hardcoded subtitles from videos using machine learning - apm1467/videocr
  • openai/jukebox - Code for the paper "Jukebox: A Generative Model for Music" - openai/jukebox
  • shinobizero/audio_transcriber - Transcodes audio & video files to text, supports MP3, M4A, WAV, MP4, MKV, AVI, MPG & MPEG. No Online API's. Python 3 - shinobizero/audio_transcriber
  • vt-vl-lab/FGVC - [ECCV 2020] Flow-edge Guided Video Completion .

Audio Analysis & Processing

Tools for analyzing and processing audio in video. back to top

Color Science & Histogram Analysis

Tools for color science and histogram analysis in video. back to top

  • IENT/YUView - YUView is a QT based, cross-platform YUV player with an advanced analytic toolset.

Metadata Extraction & Management

Tools for extracting and managing video metadata. back to top

Quality Analysis & Metrics

Tools for analyzing and measuring video quality. back to top

Scene Detection & Segmentation

Tools for detecting scenes and segmenting video. back to top

Video Analytics & Benchmarking

Tools for video analytics and benchmarking. back to top

VMAF, PSNR, SSIM Tools

Tools for VMAF, PSNR, and SSIM quality metrics. back to top

  • Collection of VMAF Resources - A colleague asked for some resources relating to VMAF. Rather than answer in an email I thought I would create a post around it. Some of these are from Netflix, most from me (Jan Ozer). I’ve broken the items into three groups; Computing VMAF, Using VMAF, and About VMAF. I hope you find this collection useful.…
  • JNoDuq/videobench - VMAF PSNR Bitrate Analyzer.
  • Netflix/vmaf - Perceptual video quality assessment based on multi-method fusion. - Netflix/vmaf
  • VMAF: The Journey Continues - by Zhi Li, Christos Bampis, Julie Novak, Anne Aaron, Kyle Swanson, Anush Moorthy and Jan De Cock
  • gdavila/easyVmaf - Python script to easily compute VMAF using FFmpeg. It allows to deinterlace, scale and sync Ref and Distorted video automatically - gdavila/easyVmaf
  • slhck/ffmpeg-quality-metrics - Calculate quality metrics with FFmpeg (SSIM, PSNR, VMAF)

Build Tools, Deployment & Utility Libraries

Tools and libraries for building, deploying, and utility functions.

API Libraries & SDKs

API libraries and SDKs for video processing. back to top

Build Scripts & Automation

Scripts and automation tools for building video applications. back to top

Command-line Utilities & Wrappers

Command-line utilities and wrappers for video processing. back to top

  • CCecilia/roku-suite-desktop - Tool suite for Roku channel development.
  • Comcast/eel - A simple proxy service to forward JSON events and transform or filter them along the way. - Comcast/eel
  • bcpierce00/unison - Unison file synchronizer.
  • bramp/ffmpeg-cli-wrapper - Java wrapper around the FFmpeg command line tool.
  • georgejecook/rooibos - simple, flexible, fun brightscript test framework for roku scenegraph apps - georgejecook/rooibos
  • kokorin/Jaffree - Java ffmpeg and ffprobe command-line wrapper.
  • rclone/rclone - rsync for cloud storage - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfiles, Google Cloud Storage, Yandex Files - rclone/rclone
  • rokucommunity/brighterscript-formatter - A code formatter for BrighterScript (and BrightScript) - rokucommunity/brighterscript-formatter
  • sitkevij/mp - A tool or resource for command-line-utilities-wrappers.
  • sjbarag/brs-testbed - A simple, buildable Roku channel that executes arbitrary BrightScript files. - sjbarag/brs-testbed
  • streamlink/streamlink - Streamlink is a CLI utility which pipes video streams from various services into a video player - streamlink/streamlink

Docker & Containerization Tools

Docker and containerization tools for video workflows. back to top

Logging & Debugging Tools

Resources and tools related to logging & debugging tools. back to top

  • Chrome Media Internals - A built-in Chrome tool that provides detailed logs and diagnostics for media playback and streaming issues.
  • Man in the Middle Proxy - An interactive HTTPS proxy that allows inspection, modification, and debugging of network traffic, useful for video streaming analysis.
  • 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
  • rokudev/unit-testing-framework - Tool for automating and testing Roku channels.
  • veeta-tv/jasmine-roku - Example jasmine tests using node-roku-test for verifying Roku channel behavior - veeta-tv/jasmine-roku

Performance & Monitoring Tools

Tools for monitoring and optimizing performance in video applications. back to top

Standards, Specifications & Industry Resources

Standards, specifications, and resources for the video industry.

Adaptive Streaming Standards

Resources and tools related to adaptive streaming standards. back to top

Best Practices & Guidelines

Resources and tools related to best practices & guidelines. back to top

Closed Captioning & Subtitling Standards

Resources and tools related to closed captioning & subtitling standards. back to top

DRM & Content Protection Standards

Resources and tools related to drm & content protection standards. back to top

Industry Forums & Standards Bodies

Resources and tools related to industry forums & standards bodies. back to top

  • CTA | WAVE Project - The WAVE (Web Application Video Ecosystem) Project, hosted by the Consumer Technology Association (CTA)®, aims to improve how internet-delivered commercial video is handled on consumer electronics devices and to make it easier for content creators to distribute video to those devices.
  • EBU Evaluations of Multichannel Audio Codecs - A tool or resource for industry-forums-standards-bodies.
  • Home | Streaming Video Alliance - Making Streaming Video Better Streaming video is exploding in popularity. Consumers are watching more video online across a myriad of devices. But, the streaming experiences, across providers, can be wildly different from each other which ultimately hurts adoption. The problem is a lack of colla ...
  • How Do I Become an ANSI Member - A tool or resource for industry-forums-standards-bodies.
  • MPEG About - A tool or resource for industry-forums-standards-bodies.
  • MPEG Meetings - A tool or resource for industry-forums-standards-bodies.
  • MPEG home page - A tool or resource for industry-forums-standards-bodies.
  • MPEG: What Happened? - At the end of last month, MPEG co-founder Leonardo Chiariglione announced the 'MPEG is closed.' That's not quite true, but it is undergoing a reorganization. So what does that mean for the organization and the new codec standards it is bringing out this year?
  • Official Registration Authority for the ISOBMFF family of standards - A tool or resource for industry-forums-standards-bodies.
  • RIST Forum - The RIST forum manage the Reliable Internet Stream Transport (RIST), for transporting live video over unmanaged networks.
  • SRT Alliance - Home page for the SRT protocol
  • Video Quality Experts Group (VQEG) -
  • ebu/awesome-broadcasting - A curated list of amazingly awesome open source resources related to broadcast technologies - ebu/awesome-broadcasting

Video Codec Specifications

Resources and tools related to video codec specifications. back to top

Learning, Tutorials & Documentation

Resources and tools related to learning, tutorials & documentation.

Books & Courses

Resources and tools related to books & courses. back to top

Case Studies & Whitepapers

Resources and tools related to case studies & whitepapers. back to top

Community Blogs & Forums

Resources and tools related to community blogs & forums. back to top

  • 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
  • OTT Content Delivery - Background

Encoding & Transcoding Guides

Resources and tools related to encoding & transcoding guides. back to top

Player Development Documentation

Resources and tools related to player development documentation. back to top

Subtitle & Caption Tutorials

Resources and tools related to subtitle & caption tutorials. back to top

Video Streaming Tutorials

Resources and tools related to video streaming tutorials. back to top

Webinars & Conference Talks

Resources and tools related to webinars & conference talks. back to top

Transcoding, Codecs & Hardware Acceleration

Resources and tools related to transcoding, codecs & hardware acceleration.

Benchmarking & Performance Tools for Codecs

Resources and tools related to benchmarking & performance tools for codecs. back to top

Comparative Analysis of Codecs

Resources and tools related to comparative analysis of codecs. back to top

Hardware Codecs & Acceleration

Resources and tools related to hardware codecs & acceleration. back to top

Next-Generation Codecs (AV1, VVC)

Resources and tools related to next-generation codecs (av1, vvc). back to top

Open Source Encoder Projects

Resources and tools related to open source encoder projects. back to top

Software Codecs

Resources and tools related to software codecs. back to top

DRM, Security & Content Protection

Resources and tools related to drm, security & content protection.

Case Studies & Best Practices in DRM

Resources and tools related to case studies & best practices in drm. back to top

  • HEVC DRM Market Update - Since time eternal, the streaming industry has toiled with and extolled the virtues of CODECs and their key enablement of the entire digital video experience. Now comes the latest candy in the increasingly large bowl, H.265 (MPEG-H Part 2) or as it’s more commonly known. HEVC.
  • How to Protect Your Content With DRM - Lock it down. If you're streaming proprietary or premium online video, it's time to take the step up to true digital rights management protection. Here's how to get started.
  • Securing OTT Content — DRM - Written by: Boris Asadanin, Streaming Media Consultant and Partner at Eyevinn Technology
  • The Hitchhiker's Guide to DRM - A gentle guide to the world of Digital Rights Management. It includes a technology overview of AES, EME, CDM, CENC, Keys, and then explores popular DRM technologies such as Google Widevine, Apple FairPlay, Microsoft PlayReady, and finally, Multi-DRM.

DRM Solutions & Implementations

Resources and tools related to drm solutions & implementations. back to top

DRM Testing & Validation Tools

Resources and tools related to drm testing & validation tools. back to top

Encryption Tools for Streaming

Resources and tools related to encryption tools for streaming. back to top

Widevine, FairPlay, PlayReady Integrations

Resources and tools related to widevine, fairplay, playready integrations. back to top

Miscellaneous, Experimental & Niche Tools

Resources and tools related to miscellaneous, experimental & niche tools.

Community & Collaboration Platforms

Resources and tools related to community & collaboration platforms. back to top

Cross-Platform Media Tools

Resources and tools related to cross-platform media tools. back to top

Independent & Hobbyist Projects

Resources and tools related to independent & hobbyist projects. back to top

  • nod/rokumote - osx app for controlling your roku because sometimes your kids lose the remote - nod/rokumote
  • rkoshak/sensorReporter - A python based service that receives sensor inputs and publishes them over REST (should work with any API but mainly tested with openHAB) or MQTT. It can also receive commands and perform an action...

Research Projects & Academic Resources

Resources and tools related to research projects & academic resources. back to top

Specialized Utility Scripts

Resources and tools related to specialized utility scripts. back to top

Test Content & Sample Streams

Resources and tools related to test content & sample streams. back to top

Contributing

Please take a quick look at the contribution guidelines first. If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you to all contributors; you rock!!