An open API service indexing awesome lists of open source software.

https://github.com/krzemienski/awesome-video

A curated list of awesome streaming video tools, frameworks, libraries, and learning resources.
https://github.com/krzemienski/awesome-video

List: awesome-video

audio awesome awesome-list captions dash digital-video drm encoding ffmpeg hevc hls mp4 mpeg-dash ott player roku streaming video video-streaming vmaf

Last synced: 9 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# Awesome Video [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)

### Contents

- **[Video Players & Playback Libraries](#video-players-playback-libraries)**
- [Browser Extensions](#browser-extensions)
- [Desktop Players](#desktop-players)
- [Embedded Players](#embedded-players)
- [Frameworks & UI Components](#frameworks-ui-components)
- [Mobile Players](#mobile-players)
- [Set-top Box Players](#set-top-box-players)
- [Smart TV Players](#smart-tv-players)
- [Web Players](#web-players)
- **[Video Editing & Processing Tools](#video-editing-processing-tools)**
- [Batch Processing & Automation](#batch-processing-automation)
- [Color Grading & Correction Tools](#color-grading-correction-tools)
- [Conversion & Format Tools](#conversion-format-tools)
- [Effects & Compositing Tools](#effects-compositing-tools)
- [Non-linear Editing Suites](#non-linear-editing-suites)
- [Subtitle & Caption Tools](#subtitle-caption-tools)
- [Trimming & Cutting Tools](#trimming-cutting-tools)
- **[Video Encoding, Transcoding & Packaging Tools](#video-encoding-transcoding-packaging-tools)**
- [Cloud-Based Encoding Solutions](#cloud-based-encoding-solutions)
- [Containerization & Packaging Tools](#containerization-packaging-tools)
- [FFmpeg-Based Tools](#ffmpeg-based-tools)
- [Hardware Accelerated Transcoding](#hardware-accelerated-transcoding)
- [Multi-format Packaging Tools](#multi-format-packaging-tools)
- [Real-Time Encoding Solutions](#real-time-encoding-solutions)
- [Scripting & Automation Tools](#scripting-automation-tools)
- [Software Transcoding Tools](#software-transcoding-tools)
- **[Video Streaming & Distribution Solutions](#video-streaming-distribution-solutions)**
- [CDN Integration & Distribution](#cdn-integration-distribution)
- [Edge Computing & Caching Solutions](#edge-computing-caching-solutions)
- [Live Streaming Servers](#live-streaming-servers)
- [Multi-CDN Management](#multi-cdn-management)
- [Peer-to-Peer Streaming Solutions](#peer-to-peer-streaming-solutions)
- [RTMP/RTSP/HTTP Protocol Servers](#rtmprtsphttp-protocol-servers)
- [Streaming Analytics & Monitoring](#streaming-analytics-monitoring)
- [VOD Streaming Servers](#vod-streaming-servers)
- **[Adaptive Streaming & Manifest Tools](#adaptive-streaming-manifest-tools)**
- [Adaptive Bitrate Algorithms & Tools](#adaptive-bitrate-algorithms-tools)
- [CMAF & fMP4 Packaging](#cmaf-fmp4-packaging)
- [DASH Manifest Tools](#dash-manifest-tools)
- [DASH Tools](#dash-tools)
- [HLS Manifest Parsers & Generators](#hls-manifest-parsers-generators)
- [HLS Tools](#hls-tools)
- [Low-Latency Streaming Tools](#low-latency-streaming-tools)
- **[Media Analysis, Quality Metrics & AI Tools](#media-analysis-quality-metrics-ai-tools)**
- [AI & Machine Learning Tools](#ai-machine-learning-tools)
- [Audio Analysis & Processing](#audio-analysis-processing)
- [Color Science & Histogram Analysis](#color-science-histogram-analysis)
- [Metadata Extraction & Management](#metadata-extraction-management)
- [Quality Analysis & Metrics](#quality-analysis-metrics)
- [Scene Detection & Segmentation](#scene-detection-segmentation)
- [Video Analytics & Benchmarking](#video-analytics-benchmarking)
- [VMAF, PSNR, SSIM Tools](#vmaf-psnr-ssim-tools)
- **[Build Tools, Deployment & Utility Libraries](#build-tools-deployment-utility-libraries)**
- [API Libraries & SDKs](#api-libraries-sdks)
- [Build Scripts & Automation](#build-scripts-automation)
- [Command-line Utilities & Wrappers](#command-line-utilities-wrappers)
- [Docker & Containerization Tools](#docker-containerization-tools)
- [Logging & Debugging Tools](#logging-debugging-tools)
- [Performance & Monitoring Tools](#performance-monitoring-tools)
- **[Standards, Specifications & Industry Resources](#standards-specifications-industry-resources)**
- [Adaptive Streaming Standards](#adaptive-streaming-standards)
- [Best Practices & Guidelines](#best-practices-guidelines)
- [Closed Captioning & Subtitling Standards](#closed-captioning-subtitling-standards)
- [DRM & Content Protection Standards](#drm-content-protection-standards)
- [Industry Forums & Standards Bodies](#industry-forums-standards-bodies)
- [Video Codec Specifications](#video-codec-specifications)
- **[Learning, Tutorials & Documentation](#learning-tutorials-documentation)**
- [Books & Courses](#books-courses)
- [Case Studies & Whitepapers](#case-studies-whitepapers)
- [Community Blogs & Forums](#community-blogs-forums)
- [Encoding & Transcoding Guides](#encoding-transcoding-guides)
- [Player Development Documentation](#player-development-documentation)
- [Subtitle & Caption Tutorials](#subtitle-caption-tutorials)
- [Video Streaming Tutorials](#video-streaming-tutorials)
- [Webinars & Conference Talks](#webinars-conference-talks)
- **[Transcoding, Codecs & Hardware Acceleration](#transcoding-codecs-hardware-acceleration)**
- [Benchmarking & Performance Tools for Codecs](#benchmarking-performance-tools-for-codecs)
- [Comparative Analysis of Codecs](#comparative-analysis-of-codecs)
- [Hardware Codecs & Acceleration](#hardware-codecs-acceleration)
- [Next-Generation Codecs (AV1, VVC)](#next-generation-codecs-av1-vvc)
- [Open Source Encoder Projects](#open-source-encoder-projects)
- [Software Codecs](#software-codecs)
- **[DRM, Security & Content Protection](#drm-security-content-protection)**
- [Case Studies & Best Practices in DRM](#case-studies-best-practices-in-drm)
- [DRM Solutions & Implementations](#drm-solutions-implementations)
- [DRM Testing & Validation Tools](#drm-testing-validation-tools)
- [Encryption Tools for Streaming](#encryption-tools-for-streaming)
- [Widevine, FairPlay, PlayReady Integrations](#widevine-fairplay-playready-integrations)
- **[Miscellaneous, Experimental & Niche Tools](#miscellaneous-experimental-niche-tools)**
- [Community & Collaboration Platforms](#community-collaboration-platforms)
- [Cross-Platform Media Tools](#cross-platform-media-tools)
- [Independent & Hobbyist Projects](#independent-hobbyist-projects)
- [Research Projects & Academic Resources](#research-projects-academic-resources)
- [Specialized Utility Scripts](#specialized-utility-scripts)
- [Test Content & Sample Streams](#test-content-sample-streams)

## Video Players & Playback Libraries
*Libraries and tools for video playback across various platforms.*

### Browser Extensions
*Browser extensions for enhanced video playback.*
[back to top](#readme)

* [Eyevinn/abr-player-chrome](https://github.com/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](#readme)

* [iina/iina](https://github.com/iina/iina) - The modern video player for macOS.
* [lightspark/lightspark](https://github.com/lightspark/lightspark) - An open source flash player implementation.
* [mpv-player/mpv](https://github.com/mpv-player/mpv) - 🎥 Command line video player.
* [rinsuki/HWAcceleratedVP9Player](https://github.com/rinsuki/HWAcceleratedVP9Player) - Hardware Accelerated VP9 Player in macOS 11.0 Big Sur beta 4+ - rinsuki/HWAcceleratedVP9Player
* [ruffle-rs/ruffle](https://github.com/ruffle-rs/ruffle) - A Flash Player emulator written in Rust.
* [unosquare/ffmediaelement](https://github.com/unosquare/ffmediaelement) - FFME: The Advanced WPF MediaElement (based on FFmpeg) - unosquare/ffmediaelement
* [videolan/vlc](https://github.com/videolan/vlc) - VLC media player - All pull requests are ignored, please follow https://wiki.videolan.org/Sending_Patches_VLC/ - videolan/vlc

### Embedded Players
*Video players for embedded systems.*
[back to top](#readme)

* [google/shaka-player-embedded](https://github.com/google/shaka-player-embedded) - Shaka Player in a C++ Framework.

### Frameworks & UI Components
*Frameworks and UI components for building video playback solutions.*
[back to top](#readme)

* [Chimeejs/chimee](https://github.com/Chimeejs/chimee) - a video player framework aims to bring wonderful experience on browser - Chimeejs/chimee
* [Eyevinn/channel-engine-multiview](https://github.com/Eyevinn/channel-engine-multiview) - A multiview frontend for Eyevinn Channel Engine.
* [Streamlab](https://vimond.github.io/streamlab/) - Multi-format stream test tool for the browser. Brings convenience to verifying, inspecting, and troubleshooting adaptive streams and video files. A common interface on top of Shaka Player, HLS.js, and Rx-Player.
* [adrg/libvlc-go](https://github.com/adrg/libvlc-go) - Go bindings for libVLC and high-level media player interface.
* [elements/packages/mux-player](https://github.com/muxinc/elements/tree/main/packages/mux-player) - `` is the official Mux-flavored video player web component. The player UI is built on [Media Chrome](https://github.com/muxinc/media-chrome) and [``](https://github.com/muxinc/elements/tree/main/packages/mux-video) drives the core video logic used to play Mux Video content.
* [epiclabs-io/epic-video-comparator](https://github.com/epiclabs-io/epic-video-comparator) - Javascript library which implements a video comparator component: two overlaped and synchronized video players each one playing an independent source. - epiclabs-io/epic-video-comparator
* [foxford/react-hls](https://github.com/foxford/react-hls) - React component for HLS player.
* [karimkawambwa/roku-framework](https://github.com/karimkawambwa/roku-framework) - Roku app framework to make app creation easier and structured. Under construction - karimkawambwa/roku-framework
* [mltframework/mlt](https://github.com/mltframework/mlt) - MLT Multimedia Framework.
* [switch media universal player](https://www.switch.tv/mediahq/universal-player/) - A tool or resource for frameworks-ui-components.
* [tjenkinson/media-element-syncer](https://github.com/tjenkinson/media-element-syncer) - Synchronise two or more HTML5 media elements.
* [vapoursynth/vapoursynth](https://github.com/vapoursynth/vapoursynth) - A video processing framework with simplicity in mind - vapoursynth/vapoursynth
* [videogular/videogular](https://github.com/videogular/videogular) - The HTML5 video player for AngularJS.
* [videolan/libvlcsharp](https://github.com/videolan/LibVLCSharp) - Cross-platform .NET/Mono bindings for LibVLC
* [vimond/replay](https://github.com/vimond/replay) - A React video player facilitating adaptive stream playback with custom UI and a React-friendly API. - vimond/replay

### Mobile Players
*Video players optimized for mobile devices.*
[back to top](#readme)

* [BrikerMan/BMPlayer](https://github.com/BrikerMan/BMPlayer) - A video player for iOS, based on AVPlayer, support the horizontal, vertical screen. support adjust volume, brightness and seek by slide, support subtitles. - BrikerMan/BMPlayer
* [Building native video Pins](https://medium.com/pinterest-engineering/building-native-video-pins-7ff89ad3ec33) - Billions of videos are viewed across the internet every day, but video on Pinterest is unique. On Pinterest, you’ve always been able to save videos from around the web, and in 2013, we made it…
* [DaMingShen/SUCacheLoader](https://github.com/DaMingShen/SUCacheLoader) - AVPlayer
* [DeviLeo/DLGPlayer](https://github.com/DeviLeo/DLGPlayer) - A media player for iOS based on FFmpeg 4.0.
* [Integrating AirPlay for Long-Form Video Apps | Apple Developer Documentation](https://developer.apple.com/documentation/avfoundation/airplay_2/integrating_airplay_for_long-form_video_apps) - A tool or resource for mobile-players.
* [IvanoBilenchi/Adaptive-Video-Player](https://github.com/IvanoBilenchi/Adaptive-Video-Player) - HLS player for iOS that supports manual selection for the quality of adaptive streams - IvanoBilenchi/Adaptive-Video-Player
* [MPEGDASHPlayer/MPEGDASH-iOS-Player](https://github.com/MPEGDASHPlayer/MPEGDASH-iOS-Player) - The MPEG-DASH Player iOS Application.
* [SRGSSR/srgmediaplayer-apple](https://github.com/SRGSSR/srgmediaplayer-apple) - An advanced media player library, simple and reliable - SRGSSR/srgmediaplayer-apple
* [VeinGuo/VGPlayer](https://github.com/VeinGuo/VGPlayer) - 📺 A simple iOS video player by Vein.
* [google/ExoPlayer](https://github.com/google/ExoPlayer) - ExoPlayer is an application level media player for Android.
* [googleads/google-media-framework-ios](https://github.com/googleads/google-media-framework-ios) - The Google Media Framework (GMF) is a lightweight media player designed to make video playback and integration with the Google IMA SDK on iOS easier. - googleads/google-media-framework-ios
* [hanton/HTY360Player](https://github.com/hanton/HTY360Player) - Open Source iOS 360 Degree Panorama Video Player.
* [imoreapps/ffmpeg-avplayer-for-ios-tvos](https://github.com/imoreapps/ffmpeg-avplayer-for-ios-tvos) - A tiny but powerful iOS and Apple TV OS av player framework that's based on the FFmpeg library. - imoreapps/ffmpeg-avplayer-for-ios-tvos
* [libobjc/SGPlayer](https://github.com/libobjc/SGPlayer) - A powerful media play framework for iOS, macOS, and tvOS. - libobjc/SGPlayer
* [mkaflowski/HybridMediaPlayer](https://github.com/mkaflowski/HybridMediaPlayer) - Android music and video player. Uses ExoPlayer 2 and MediaPlayer for lower APIs and makes using ExoMediaPlayer easier. If you need advanced options such as handling Chromecast it is delivered by Ex...
* [noreasonprojects/ModernAVPlayer](https://github.com/noreasonprojects/ModernAVPlayer) - ModernAVPlayer is a persistence AVPlayer wrapper.
* [nytimes/ios-360-videos](https://github.com/nytimes/ios-360-videos) - NYT360Video plays 360-degree video streamed from an AVPlayer on iOS. - nytimes/ios-360-videos
* [piemonte/Player](https://github.com/piemonte/Player) - ▶️ video player in Swift, simple way to play and stream media on iOS/tvOS - piemonte/Player
* [renzifeng/ZFPlayer](https://github.com/renzifeng/ZFPlayer) - Support customization of any player SDK and control layer
* [ustwo/videoplayback-ios](https://github.com/ustwo/videoplayback-ios) - Swift AVPlayer wrapper using the VIPER architecture. Currently a work in progress - ustwo/videoplayback-ios
* [videolan/vlc-android](https://code.videolan.org/videolan/vlc-android) - VLC for Android, Android TV and ChromeOS.
* [videolan/vlc-ios](https://code.videolan.org/videolan/vlc-ios) - VLC for iOS is the official port of VLC on the iOS/tvOS platforms.
* [vitoziv/VIMediaCache](https://github.com/vitoziv/VIMediaCache) - Cache media file while play media using AVPlayer.
* [wxxsw/GSPlayer](https://github.com/wxxsw/GSPlayer) - ⏯ Video player, support for caching, preload, fullscreen transition and custom control view. 视频播放器,支持边下边播、预加载、全屏转场和自定义控制层 - wxxsw/GSPlayer
* [xiewei-wayne/FFEngine.framework](https://github.com/xiewei-wayne/FFEngine.framework) - FFEngine framework is a high performance player sdk for iOS based on ffmpeg. - xiewei-wayne/FFEngine.framework
* [xiewei-wayne/rtmp-video-player-for-ios](https://github.com/xiewei-wayne/rtmp-video-player-for-ios) - Based on FFEngine framework, a rtmp video player for apple iOS devices. - xiewei-wayne/rtmp-video-player-for-ios

### Set-top Box Players
*Video players for set-top box devices.*
[back to top](#readme)

* [dphang/roku-lib](https://github.com/dphang/roku-lib) - Some useful Roku utilities.
* [peak3d/inputstream.adaptive](https://github.com/peak3d/inputstream.adaptive) - kodi inputstream addon for several manifest types.

### Smart TV Players
*Video players for Smart TV platforms.*
[back to top](#readme)

* [Build a basic Cast Receiver](https://codelabs.developers.google.com/codelabs/cast-receiver/#0) - A tool or resource for smart-tv-players.
* [MediaBrowser/Emby.Roku](https://github.com/MediaBrowser/Emby.Roku) - Emby for Roku.
* [Samsung/HbbPlayer](https://github.com/Samsung/HbbPlayer) - HbbPlayer is HbbTV application which can playback media by using url of media as parameter. It conforms to W3C and HbbTV specification. - Samsung/HbbPlayer
* [bbc/bigscreen-player](https://github.com/bbc/bigscreen-player) - Simplified media playback for bigscreen devices.
* [bbc/tal](https://github.com/bbc/tal) - TV Application Layer.
* [briandunnington/Redoku](https://github.com/briandunnington/Redoku) - Redux for Roku.
* [briandunnington/Roact](https://github.com/briandunnington/Roact) - React for Roku
* [googlecast/CastReceiver](https://github.com/googlecast/CastReceiver) - Reference Receiver: CastReceiver shows how to develop a fully Cast Design Checklist compliant receiver with additional features. - googlecast/CastReceiver
* [juliomalves/roku-libs](https://github.com/juliomalves/roku-libs) - BrightScript Utility Libraries.
* [karimkawambwa/roku-framework-example](https://github.com/karimkawambwa/roku-framework-example) - This is a project to show how the boku-framework by Karim Kawambwa is used - karimkawambwa/roku-framework-example
* [kodlian/TVVLCPlayer](https://github.com/kodlian/TVVLCPlayer) - TVVLCPlayer lets you integrate easily a powerfull video player with playback control views to your tvOS apps. - kodlian/TVVLCPlayer
* [mrkjffrsn/RokuFramework](https://github.com/mrkjffrsn/RokuFramework) - An opensource Roku framework.
* [rokudev/RAF4RSG-sample](https://github.com/rokudev/RAF4RSG-sample) - sample demonstrating the Roku Advertising Framework in SceneGraph - rokudev/RAF4RSG-sample
* [rokudev/SceneGraphDeveloperExtensions](https://github.com/rokudev/SceneGraphDeveloperExtensions) - Contribute to rokudev/SceneGraphDeveloperExtensions development by creating an account on GitHub.
* [rokudev/samples](https://github.com/rokudev/samples) - Collection of sample channels for side-loading on your Roku device - rokudev/samples
* [rokudev/videoplayer-channel](https://github.com/rokudev/videoplayer-channel) - SceneGraph version of the SDK1 VideoPlayer Channel - rokudev/videoplayer-channel
* [schtanislau/brightscript-state-machine](https://github.com/schtanislau/brightscript-state-machine) - State management for Roku channel..
* [vitalets/awesome-smart-tv](https://github.com/vitalets/awesome-smart-tv) - :zap:A curated list of awesome resources for building Smart TV apps - vitalets/awesome-smart-tv
* [zype/zype-roku-scenegraph](https://github.com/zype/zype-roku-scenegraph) - Contribute to zype/zype-roku-scenegraph development by creating an account on GitHub.

### Web Players
*Video players designed for web browsers and web applications.*
[back to top](#readme)

* [Akamai Players](https://players.akamai.com/players) - Akamai provides a suite of media players optimized for high-quality streaming across various devices.
* [Dash JavaScript Player](http://reference.dashif.org/dash.js/latest/samples/dash-if-reference-player/index.html) -
* [Eyevinn/av1-player](https://github.com/Eyevinn/av1-player) - Eyevinn AV1 player.
* [Eyevinn/docker-html5player](https://github.com/Eyevinn/docker-html5player) - A Docker containerized HTML5 player based on Shaka Player - Eyevinn/docker-html5player
* [Eyevinn/eyevinn-player](https://github.com/Eyevinn/eyevinn-player) - Throttled video player to test video streams.
* [Eyevinn/ott-multiview](https://github.com/Eyevinn/ott-multiview) - This is a web based multiview screen for HLS and MPEG-DASH streams based on hls.js and Shaka Player. - Eyevinn/ott-multiview
* [GeneticGenesis/phils-players](https://github.com/GeneticGenesis/phils-players) - A collection of video players with vaguely simple GUIs for video engineers. - GeneticGenesis/phils-players
* [MoePlayer/DPlayer](https://github.com/MoePlayer/DPlayer) - :lollipop: Wow, such a lovely HTML5 danmaku video player - MoePlayer/DPlayer
* [Samples players for dash.js](http://reference.dashif.org/dash.js/latest/samples/index.html) -
* [bytedance/xgplayer](https://github.com/bytedance/xgplayer) - A HTML5 video player with a parser that saves traffic - bytedance/xgplayer
* [matvp91/indigo-player](https://github.com/matvp91/indigo-player) - Highly extensible, modern, JavaScript video player. Handles MPEG-Dash / HLS / MPEG-4 and is built on top of the HTML5 video element. - matvp91/indigo-player
* [mediaelement/mediaelement](https://github.com/mediaelement/mediaelement) - HTML5 <audio> or <video> player with support for MP4, WebM, and MP3 as well as HLS, Dash, YouTube, Facebook, SoundCloud and others with a common HTML5 MediaElement API, ...
* [sampotts/plyr](https://github.com/sampotts/plyr) - A simple HTML5, YouTube and Vimeo player.
* [video-dev/hls.js](https://github.com/video-dev/hls.js) - JavaScript HLS client using Media Source Extension - video-dev/hls.js
* [videojs/http-streaming](https://github.com/videojs/http-streaming) - HLS, DASH, and future HTTP streaming protocols library for video.js - videojs/http-streaming
* [videojs/video.js](https://github.com/videojs/video.js) - Video.js - open source HTML5 & Flash video player.

## 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](#readme)

* [How to decode a video (memory file / byte string) and step through it frame by frame in python?](https://stackoverflow.com/questions/60558412/how-to-decode-a-video-memory-file-byte-string-and-step-through-it-frame-by-f) - I am using python to do some basic image processing, and want to extend it to process a video frame by frame. I get the video as a blob from a server - .webm encoded - and have it in python as a b...
* [antiboredom/videogrep](https://github.com/antiboredom/videogrep) - automatic video supercuts with python.
* [bmhayward/Transcode](https://github.com/bmhayward/Transcode) - Tools to batch transcode and process videos.
* [flavioribeiro/video-thumbnail-generator](https://github.com/flavioribeiro/video-thumbnail-generator) - :camera: Generate thumbnail sprites from videos.

### Color Grading & Correction Tools
*Tools for color grading and correction in video.*
[back to top](#readme)

* [bbc/qtff-parameter-editor](https://github.com/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](#readme)

* [ilstam/FF-Multi-Converter: GUI File Format Converter](https://github.com/ilstam/FF-Multi-Converter) - GUI File Format Converter. Contribute to ilstam/FF-Multi-Converter development by creating an account on GitHub.

### Effects & Compositing Tools
*Tools for adding effects and compositing video.*
[back to top](#readme)

* [Snowmix - The Swiss Army Knife of Open Source Live Video Mixing.](https://snowmix.sourceforge.io) - Snowmix Video Mixer
* [Zulko/moviepy](https://github.com/Zulko/moviepy) - A tool or resource for effects-compositing-tools.
* [bloc97/Anime4K](https://github.com/bloc97/Anime4K) - A High-Quality Real Time Upscaler for Anime Video.
* [voc/voctomix](https://github.com/voc/voctomix) - Full-HD Software Live-Video-Mixer in python.

### Non-linear Editing Suites
*Complete software suites for non-linear video editing.*
[back to top](#readme)

* [jliljebl/flowblade](https://github.com/jliljebl/flowblade) - A tool or resource for non-linear-editing-suites.

### Subtitle & Caption Tools
*Tools for working with subtitles and captions in video.*
[back to top](#readme)

* [BingLingGroup/autosub](https://github.com/BingLingGroup/autosub) - Command-line utility to transcribe/translate from video/audio/subtitles to subtitles - BingLingGroup/autosub
* [CCExtractor/ccextractor: CCExtractor - Official version maintained by the core team](https://github.com/CCExtractor/ccextractor) - CCExtractor - Official version maintained by the core team - CCExtractor/ccextractor
* [Closed Captioning and Subtitling Products - MacCaption and CaptionMaker Overview - Telestream](https://www.telestream.net/captioning/overview.htm?utm_campaign=partners&utm_source=itunespartner.apple.com&utm_medium=text_link) - Telestream Closed Captioning: MacCaption and CaptionMaker allow you to easily author, edit, create subtitles, and encode and repurpose video captions for television, web and mobile delivery
* [Comcast/caption-inspector](https://github.com/Comcast/caption-inspector) - Caption Inspector is a reference decoder for Closed Captions (CEA-608 and CEA-708). - Comcast/caption-inspector
* [Comcast/cea-extractor](https://github.com/Comcast/cea-extractor) - Parsing and display logic for CEA-608 caption data in fragmented MP4 files. - Comcast/cea-extractor
* [Dash-Industry-Forum/cea608.js](https://github.com/Dash-Industry-Forum/cea608.js) - A JavaScript project designed to extract CEA-608 captions. - Dash-Industry-Forum/cea608.js
* [IMSC validator](https://apps.sandflow.com/imscV/) - A tool or resource for subtitle-caption-tools.
* [Marcos-A/STRCleaner](https://github.com/Marcos-A/STRCleaner) - Script that extracts all the text from a subtitles file ignoring time indications, HTML tags and other alien info. - Marcos-A/STRCleaner
* [The ultimate guide to CCs](https://www.3playmedia.com/resources/popular-topics/closed-captioning/) - A tool or resource for subtitle-caption-tools.
* [abhirooptalasila/AutoSub](https://github.com/abhirooptalasila/AutoSub) - AutoSub is a CLI application to generate subtitle file (.srt) for any video file using Mozilla DeepSpeech - abhirooptalasila/AutoSub
* [awslabs/serverless-subtitles](https://github.com/awslabs/serverless-subtitles) - Serverless Subtitles can handle a video input, extract the sound, transcript it and generate different subtitle files for your video. - awslabs/serverless-subtitles
* [cessen/subs_extract](https://github.com/cessen/subs_extract) - Extracts per-sentence subtitles + audio from a subtitle file + video file. - cessen/subs_extract
* [estliberitas/node-thumbnails-webvtt](https://github.com/estliberitas/node-thumbnails-webvtt) - Video thumbnail generator generating WebVTT spec file - estliberitas/node-thumbnails-webvtt
* [federicocalendino/pysub-parser](https://github.com/federicocalendino/pysub-parser) - Utility to extract the text and timestamps of a subtitle file (.srt, .ssa, .sub, .txt). - federicocalendino/pysub-parser
* [glut23/webvtt-py](https://github.com/glut23/webvtt-py) - Read, write and segment WebVTT caption files in Python.
* [imscJS: IMSC/TTML/SMPTE-TT/EBU-TT-D renderer](https://github.com/sandflow/imscJS/) - Renders IMSC/TTML/SMPTE-TT/EBU-TT-D subtitles and captions to HTML
* [jnorton001/pycaption-cli](https://github.com/jnorton001/pycaption-cli) - A command line interface for the pycaption module. - jnorton001/pycaption-cli
* [opencoconut/webvtt-ruby](https://github.com/opencoconut/webvtt-ruby) - WebVTT Ruby parser and segmenter.
* [pbs/pycaption](https://github.com/pbs/pycaption) - Python module to read/write popular video caption formats - pbs/pycaption
* [shawnsky/extract-subtitles](https://github.com/shawnsky/extract-subtitles) - Extract Subtitles From Video
* [smacke/subsync](https://github.com/smacke/subsync) - Automagically synchronize subtitles with video.
* [statsbiblioteket/tv-subtitle-extraction](https://github.com/statsbiblioteket/tv-subtitle-extraction) - System for extraction of subtitles from TV broadcasts. - statsbiblioteket/tv-subtitle-extraction
* [szatmary/libcaption](https://github.com/szatmary/libcaption) - Free open-source CEA608 / CEA708 closed-caption encoder/decoder - szatmary/libcaption
* [ttconv: subtitle/caption format converter](https://github.com/sandflow/ttconv) - Converts EBU STL, IMSC/TTML/SMPTE-TT/EBU-TT-D and 608/SCC into IMSC, WebVTT and SRT
* [video-dev/vtt.js](https://github.com/video-dev/vtt.js) - A JavaScript implementation of the WebVTT specification - video-dev/vtt.js
* [wargarblgarbl/libgosubs](https://github.com/wargarblgarbl/libgosubs) - A tool or resource for subtitle-caption-tools.
* [xinnjie/extract-subtitle](https://github.com/xinnjie/extract-subtitle) - extract subtitles from video.

### Trimming & Cutting Tools
*Tools for trimming, cutting, and splitting video files.*
[back to top](#readme)

* [mifi/lossless-cut](https://github.com/mifi/lossless-cut) - A tool or resource for trimming-cutting-tools.

## Video Encoding, Transcoding & Packaging Tools
*Tools for encoding, transcoding, and packaging video content.*

* [ericgriffin/fflock](https://github.com/ericgriffin/fflock) - Distributed video transcoding.

### Cloud-Based Encoding Solutions
*Cloud-based solutions for video encoding.*
[back to top](#readme)

* [DVB captions in media convert](https://docs.aws.amazon.com/mediaconvert/latest/ug/dvb-sub-output-captions.html) - ** If your output captions are DVB-Sub, set them up in your outputs according to the following information.
* [Riot Games Keeps League of Legends Esports Rolling With Fully Cloud-Based Virtualized Workflow](https://www.sportsvideo.org/2020/03/27/riot-games-keeps-league-of-legends-esports-rolling-with-fully-cloud-based-virtualized-production-workflow/) - Although the traditional sports world has come to a standstill due to the coronavirus pandemic, many major esports properties are soldiering on, hosting compe
* [Running FFmpeg on AWS Lambda for 1.9% the cost of AWS Elastic Transcoder](https://intoli.com/blog/transcoding-on-aws-lambda/) - A guide to building a transcoder using Exodus, FFmpeg, and AWS Lambda.
* [Server-less Just-in-Time Packaging with AWS Fargate and Unified Origin by Unified Streaming](https://medium.com/@eyevinntechnology/server-less-just-in-time-packaging-with-aws-fargate-and-unified-origin-by-unified-streaming-c1682dc051ca?source=userActivityShare-94bccb50d11-1559724204&_branch_match_id=664738392430917730) - In this blog article Jonas Rydholm Birmé describes how he created a server-less just-in-time packaging origin, using AWS ECS Fargate tasks…
* [Server-less Just-in-Time Packaging with AWS Fargate and Unified Origin by Unified Streaming](https://medium.com/@eyevinntechnology/server-less-just-in-time-packaging-with-aws-fargate-and-unified-origin-by-unified-streaming-c1682dc051ca?source=userActivityShare-94bccb50d11-1560983627&_branch_match_id=670020794794030328) - In this blog article Jonas Rydholm Birmé describes how he created a server-less just-in-time packaging origin, using AWS ECS Fargate tasks…
* [Server-less Video Backend](https://medium.com/@eyevinntechnology/server-less-video-backend-1a142d1d2ba) - In this blog post by Jonas Rydholm Birmé he describes how a completely server-less video backend on AWS would look like.
* [andressspinetti/video-transcoder](https://github.com/andressspinetti/video-transcoder) - AWS S3 + Lambda + Transcode.
* [bfansports/CloudTranscode](https://github.com/bfansports/CloudTranscode) - Distributed videos and images encoding/transcoding using Amazon SFN, FFMpeg and ImageMagic - bfansports/CloudTranscode
* [binoculars/aws-lambda-ffmpeg](https://github.com/binoculars/aws-lambda-ffmpeg) - An S3-triggered Amazon Web Services Lambda function that runs your choice of FFmpeg 🎬 commands on a file 🎥 and uploads the outputs to a bucket. - binoculars/aws-lambda-ffmpeg
* [diego3g/gcloud-node-video-transcoding](https://github.com/diego3g/gcloud-node-video-transcoding) - 📹🔥 Transcode Google Cloud Storage video files with Node.js and FFmpeg - diego3g/gcloud-node-video-transcoding
* [hybrik/hybrik-samples](https://github.com/hybrik/hybrik-samples) - Hybrik Samples.
* [snickers/snickers](https://github.com/snickers/snickers) - :chocolate_bar: An open source alternative to the video cloud encoding services. - snickers/snickers
* [video-dev/video-transcoding-api](https://github.com/video-dev/video-transcoding-api) - Agnostic API to transcode media assets across different cloud services. - video-dev/video-transcoding-api
* [xyk2/cloud-transcoder](https://github.com/xyk2/cloud-transcoder) - Transcoding long (>1 hour) videos quickly and cost-effectively on GCP to adaptive HLS and MP4 mezzanine files. Up to 40x $ savings. - xyk2/cloud-transcoder

### Containerization & Packaging Tools
*Tools for containerizing and packaging video content.*
[back to top](#readme)

* [Bento4 | Fast, Modern Tools and C++ Class Library for all your MP4 and DASH media format needs](https://www.bento4.com/) - A tool or resource for containerization-packaging-tools.
* [Comcast/gots](https://github.com/Comcast/gots) - MPEG Transport Stream handling in Go.
* [DSRCorporation/imf-conversion](https://github.com/DSRCorporation/imf-conversion) - NF IMF media conversion utility allows to handle flat file creation from a specified CPL within the IMF package - DSRCorporation/imf-conversion
* [DolbyLaboratories/dbmd-atmos-parser: Dolby Atmos DBMD Wave Chunk Parser](https://github.com/DolbyLaboratories/dbmd-atmos-parser) - Dolby Atmos DBMD Wave Chunk Parser. Contribute to DolbyLaboratories/dbmd-atmos-parser development by creating an account on GitHub.
* [DolbyLaboratories/dlb_mp4base: The Dolby MP4 streaming muxer (dlb_mp4base) is a software implementation of a muxer of fragmented or unfragmented ISO base media file format (mp4). It supports muxing of Dolby Digital (AC-3), Dolby Digital Plus (E-AC-3), and](https://github.com/DolbyLaboratories/dlb_mp4base) - The Dolby MP4 streaming muxer (dlb_mp4base) is a software implementation of a muxer of fragmented or unfragmented ISO base media file format (mp4). It supports muxing of Dolby Digital (AC-3), Dolby...
* [DolbyLaboratories/dlb_mp4demux: The Dolby MP4 streaming demuxer (dlb_mp4demux) is a software implementation of a demuxer of fragmented or unfragmented ISO base media file format (mp4). It supports demuxing of Dolby Digital (AC-3), Dolby Digital Plus (E-AC](https://github.com/DolbyLaboratories/dlb_mp4demux) - The Dolby MP4 streaming demuxer (dlb_mp4demux) is a software implementation of a demuxer of fragmented or unfragmented ISO base media file format (mp4). It supports demuxing of Dolby Digital (AC-3)...
* [Eyevinn/docker-hevc](https://github.com/Eyevinn/docker-hevc) - Docker container to create HEVC streaming packages - Eyevinn/docker-hevc
* [Eyevinn/docker-jit-capture](https://github.com/Eyevinn/docker-jit-capture) - A Docker container for an open source Just-In-Time Capture Origin - Eyevinn/docker-jit-capture
* [Eyevinn/vp9-dash](https://github.com/Eyevinn/vp9-dash) - FFMpeg wrapper script to create VP9 MPEG-DASH packages - Eyevinn/vp9-dash
* [GPAC MP4Box](https://github.com/gpac/gpac/wiki/mp4box) - MP4Box is a multimedia packager from the GPAC framework, used for encoding and packaging media files.
* [OpenVisualCloud/CDN-Transcode-Sample](https://github.com/OpenVisualCloud/CDN-Transcode-Sample) - Media transcoding is a key function for live video broadcasting, streaming, and video on demand use cases in a CDN network. The CDN Transcode sample (not a finished product) provides a reference pi...
* [Quantifying packaging overhead](https://mux.com/blog/quantifying-packaging-overhead-2) - Mux makes adding video to your app or website as easy as making a single API call. But behind the scenes is a large multistep process to analyze and transform the video into something that can be easily consumed by a device. This process is commonly called a media “pipeline”
* [Shaka Packager – opensource.google](https://opensource.google/projects/shaka-packager) - Learn about all our projects.
* [ShaoWeiguo/dlb_mp4demux: The Dolby MP4 streaming demuxer (dlb_mp4demux) is a software implementation of a demuxer of fragmented or unfragmented ISO base media file format (mp4). It supports demuxing of Dolby Digital (AC-3), Dolby Digital Plus (E-AC-3), an](https://github.com/ShaoWeiguo/dlb_mp4demux) - The Dolby MP4 streaming demuxer (dlb_mp4demux) is a software implementation of a demuxer of fragmented or unfragmented ISO base media file format (mp4). It supports demuxing of Dolby Digital (AC-3)...
* [The Netflix IMF Workflow](https://medium.com/netflix-techblog/the-netflix-imf-workflow-f45dd72ed700?source=userActivityShare-94bccb50d11-1568773157&_branch_match_id=702692448596112473) - interesting architectural implications
* [Vilsol/Transcoder](https://github.com/Vilsol/Transcoder) - Docker container to transcode videos in mounted volume to H265 using FFMPEG - Vilsol/Transcoder
* [cpitkin/openfaas-transcode](https://github.com/cpitkin/openfaas-transcode) - OpenFaaS transcode pipeline.
* [cuda/ubuntu16.04/ffmpeg-gpu/Dockerfile · master · nvidia / container-images / samples](https://gitlab.com/nvidia/container-images/samples/blob/master/cuda/ubuntu16.04/ffmpeg-gpu/Dockerfile) - Sample Dockerfiles for Docker Hub images
* [gpac/mp4box.js](https://github.com/gpac/mp4box.js) - JavaScript version of GPAC's MP4Box tool.
* [jrottenberg/ffmpeg](https://github.com/jrottenberg/ffmpeg) - Docker build for FFmpeg on Ubuntu / Alpine / Centos 7 / Scratch - jrottenberg/ffmpeg
* [justdan96/tsMuxer](https://github.com/justdan96/tsMuxer) - tsMuxer is a transport stream muxer for remuxing/muxing elementary streams, EVO/VOB/MPG, MKV/MKA, MP4/MOV, TS, M2TS to TS to M2TS. Supported video codecs H.264/AVC, H.265/HEVC, VC-1, MPEG2. Support...
* [linuxserver/docker-ffmpeg](https://github.com/linuxserver/docker-ffmpeg) -
* [matvp91/mixwave](https://github.com/matvp91/mixwave) - Self hostable platform that aims to simplify the complexities of video delivery. Transcode and package your media for online streaming with simple API calls and sane defaults, or craft dynamic HLS playlists on the fly with bumpers, ads and filters.
* [njh/ts2mpa](https://github.com/njh/ts2mpa) - ts2mpa is a simple tool to extract MPEG Audio from a MPEG-2 Transport Stream. - njh/ts2mpa
* [realeyes-media/alpine-node-video-multitool](https://github.com/realeyes-media/alpine-node-video-multitool) - Contribute to realeyes-media/alpine-node-video-multitool development by creating an account on GitHub.
* [sannies/mp4parser: A Java API to read, write and create MP4 files](https://github.com/sannies/mp4parser) - A Java API to read, write and create MP4 files. Contribute to sannies/mp4parser development by creating an account on GitHub.

### FFmpeg-Based Tools
*Tools built on or extending FFmpeg functionality.*
[back to top](#readme)

* [Adjust and Normalize Your Music Files with FFMPEG - Make Tech Easier](https://www.maketecheasier.com/normalize-music-files-with-ffmpeg/) - If your music files are too loud, too soft, or have obnoxious peaks and irregular volume, you can use FFmpeg to normalize your music files. Here's how.
* [Can ffmpeg extract closed caption data](https://stackoverflow.com/questions/3169910/can-ffmpeg-extract-closed-caption-data) - I am currently using ffmpeg to convert videos in various formats to flv files. One request has also come up and that is to get closed caption info out o the file as well. Does anyone have any exper...
* [Ch00k/ffmpy](https://github.com/Ch00k/ffmpy) - A tool or resource for ffmpeg-based-tools.
* [ColorlabMD/FFCommand_Engine](https://github.com/ColorlabMD/FFCommand_Engine) - Create and execute FFmpeg commands.
* [Correcting for audio/video sync issues with the ffmpeg program’s ITSOFFSET switch](https://wjwoodrow.wordpress.com/2013/02/04/correcting-for-audiovideo-sync-issues-with-the-ffmpeg-programs-itsoffset-switch/) - The ffmpeg program has numerous “switches” that help to adjust and convert audio and video files. Some of them are not explained very well in the documentation, and many websites have c…
* [Encode HDR with VP9](https://developers.google.com/media/vp9/hdr-encoding) - Hands on tutorial of using ffmpeg to do hdr encoding
* [FFmpeg/FFmpeg](https://github.com/FFmpeg/FFmpeg) - Mirror of git://source.ffmpeg.org/ffmpeg.git.
* [FallingSnow/h265ize](https://github.com/FallingSnow/h265ize) - A node utility utilizing ffmpeg to encode videos with the hevc codec. - FallingSnow/h265ize
* [Generate MPEG-TS from file with ffmpeg](https://medium.com/@eyevinntechnology/generate-mpeg-ts-from-file-with-ffmpeg-7561181e6369?source=userActivityShare-94bccb50d11-1560983471&_branch_match_id=670020142756633081) - In this post I will describe how an MPEG-TS multicast stream can be generated with ffmpeg by looping an MP4 file and a Docker container…
* [GeoHaber/Video-Transcode](https://github.com/GeoHaber/Video-Transcode) - ffmpeg H264 H265 HEVC MPEG Video Trans-code Image-Matrix Collage - GeoHaber/Video-Transcode
* [Kthulu120/liquid_dl](https://github.com/Kthulu120/liquid_dl) - Liquid-dl is a simple tool for utlities such as FFMPEG, youtube-dl, and scdl. It provides a simple framework with simple point and click options allowing users to just click on what they need and u...
* [Loop file and generate multiple video bitrates muxed in MPEG-TS with ffmpeg](https://medium.com/@eyevinntechnology/loop-file-and-generate-multiple-video-bitrates-muxed-in-mpeg-ts-with-ffmpeg-85658d0b74bb?source=userActivityShare-94bccb50d11-1560983383&_branch_match_id=670019768959110835) - In a previous post I described how an MPEG-TS multicast stream can be generated with ffmpeg by looping an MP4 file. In this post I will…
* [LordCrainer/transcoding_ffmpeg](https://github.com/LordCrainer/transcoding_ffmpeg) - Transcoding video usando ffmpeg.
* [Mozilla-Open-Lab-Etwas/Video-Transcoder](https://github.com/Mozilla-Open-Lab-Etwas/Video-Transcoder) - FFMPEG Wasm Video Transcoder.
* [Use of Look-Up Tables (LUTs) in FFmpeg](https://downloads.bbc.co.uk/rd/pubs/papers/HDR/BBC_HDRTV_Use_of_LUTs_FFmpeg.pdf) - How to use luts with ffmpeg for converting between differnt hdr encodes
* [WritingMinds/ffmpeg-android-java](https://github.com/WritingMinds/ffmpeg-android-java) - Android java library for FFmpeg binary compiled using https://github.com/writingminds/ffmpeg-android - WritingMinds/ffmpeg-android-java
* [avTranscoder/avTranscoder](https://github.com/avTranscoder/avTranscoder) - C++ API for LibAV / FFMpeg.d
* [bcoudurier/FFmbc](https://github.com/bcoudurier/FFmbc) - FFmpeg customized for broadcast and professional usage - bcoudurier/FFmbc
* [bookyo/express-ffmpeg](https://github.com/bookyo/express-ffmpeg) - nodejs ffmpeg video transcode webui,基于nodejs的云转码系统 https://www.efvcms.com - bookyo/express-ffmpeg
* [ffmprovisr](https://amiaopensource.github.io/ffmprovisr) - Cookbook of commonly used FFmpeg recipes with descriptions of how each command works and how to modify it to fit your needs
* [fluent-ffmpeg/node-fluent-ffmpeg](https://github.com/fluent-ffmpeg/node-fluent-ffmpeg) - A fluent API to FFMPEG (http://www.ffmpeg.org).
* [id3as/ffmpeg-libvpx-HDR-static](https://github.com/id3as/ffmpeg-libvpx-HDR-static) - A script to build a static binary of FFmpeg optimised for libvpx (HDR 10bit) encoding.
* [jonghwanhyeon/python-ffmpeg](https://github.com/jonghwanhyeon/python-ffmpeg) - A python interface for FFmpeg using asyncio.
* [kkroening/ffmpeg-python](https://github.com/kkroening/ffmpeg-python) - A tool or resource for ffmpeg-based-tools.
* [microshow/RxFFmpeg](https://github.com/microshow/RxFFmpeg) - 🔥RxFFmpeg 是基于 ( FFmpeg 4.0 + X264 + mp3lame + fdk-aac )
* [mitio/useful-ffmpeg-commands: A collection of FFmpeg commands taken from practice](https://github.com/mitio/useful-ffmpeg-commands) - A collection of FFmpeg commands taken from practice - mitio/useful-ffmpeg-commands
* [mofo7777/Stackoverflow](https://github.com/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
* [mrpdaemon/mmf](https://github.com/mrpdaemon/mmf) - Video transcoding ffmpeg frontend in Python.
* [mugiseyebrows/mugi-ffmpeg](https://github.com/mugiseyebrows/mugi-ffmpeg) - Gui for ffmpeg to simplify transcoding and embeding audio / subtitles in mkv videos - mugiseyebrows/mugi-ffmpeg
* [okorach/audio-video-tools](https://github.com/okorach/audio-video-tools) - Python based batch tools to transcode audio and video conveniently (leverages FFMpeg) - okorach/audio-video-tools
* [phaux/node-ffmpeg-stream](https://github.com/phaux/node-ffmpeg-stream) - Node.js bindings to ffmpeg command, exposing stream based API - phaux/node-ffmpeg-stream
* [quarkscript/media_works](https://github.com/quarkscript/media_works) - Transcode video by ffmpeg with nvenc; normalize the volume; force dynamic range compression to the volume - quarkscript/media_works
* [realeyes-media/demo-encoder](https://github.com/realeyes-media/demo-encoder/) - A nodejs encoding system based on ffmpeg and configured to write HLS streaming files to S3 - realeyes-media/demo-encoder
* [realeyes-media/demo-encoder](https://github.com/realeyes-media/demo-encoder) - A nodejs encoding system based on ffmpeg and configured to write HLS streaming files to S3 - realeyes-media/demo-encoder
* [sambios/ffmpeg_transcoder](https://github.com/sambios/ffmpeg_transcoder) - video transcode based on ffmpeg, support H264/HEVC and more. - sambios/ffmpeg_transcoder
* [senko/avtk](https://github.com/senko/avtk) - A tool or resource for ffmpeg-based-tools.
* [serverlesspub/ffmpeg-aws-lambda-layer](https://github.com/serverlesspub/ffmpeg-aws-lambda-layer) - FFmpeg/FFprobe AWS Lambda layer.
* [tanersener/mobile-ffmpeg](https://github.com/tanersener/mobile-ffmpeg) - FFmpeg for Android, iOS and tvOS.
* [videomorph-dev/videomorph](https://github.com/videomorph-dev/videomorph) - A user-friendly Video Converter based on FFMPEG and writen in Python/PyQt5. - videomorph-dev/videomorph
* [zolinux/MediaArchiver](https://github.com/zolinux/MediaArchiver) - Transcode video files using FFMPEG and python3.

### Hardware Accelerated Transcoding
*Tools utilizing hardware acceleration for video transcoding.*
[back to top](#readme)

* [CUDA GPU Accelerated h264/h265/HEVC Video Encoding with ffmpeg](https://ntown.at/de/knowledgebase/cuda-gpu-accelerated-h264-h265-hevc-video-encoding-with-ffmpeg/) - How to use CUDA GPU hardware encoding with ffmpeg to encode h264 and h264 HEVC movies in high quality and highspeed with our optimized parameter settings.
* [Hardware-Assisted Video Transcoding At Dailymotion](https://link.medium.com/jfUev36Zs8) - What if you could save time, power consumption and therefore money, while still keeping a decent quality for your converted video ?
* [Is it possible to get FFmpeg to use hardware acceleration for HEVC transcoding on macOS?](https://superuser.com/questions/1295957/ffmpeg-and-hardware-acceleration-of-hevc-transcoding-on-mac) - I have a MacBook Pro with a Kaby Lake processor running macOS High Sierra (10.12). Is it possibe somehow to setup FFmpeg to utilize hardware encoding of HEVC with toolbox, instead of libx265?
* [git-developer/vaapi-video-converter](https://github.com/git-developer/vaapi-video-converter) - A docker-based video converter that uses VAAPI-compatible hardware for transcoding - git-developer/vaapi-video-converter

### Multi-format Packaging Tools
*Tools for packaging video in multiple formats.*
[back to top](#readme)

* [Eyevinn/hls-to-dash](https://github.com/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](https://github.com/aminyazdanpanah/python-ffmpeg-video-streaming) - 📼 Package media content for online streaming(DASH and HLS) using FFmpeg - aminyazdanpanah/python-ffmpeg-video-streaming
* [cannonbeach/ott-packager](https://github.com/cannonbeach/ott-packager) - OTT/ABR streaming encoder (H264/HEVC) and packager for DASH and HLS - cannonbeach/ott-packager
* [cash2one/VideoTranscoding-Backend](https://github.com/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](https://github.com/escaped/django-video-encoding) - django-video-encoding helps to convert your videos into different formats and resolutions. - escaped/django-video-encoding
* [gpac/gpac](https://github.com/gpac/gpac) - GPAC main code repository.
* [majamee/arch-ffmpeg-gpac](https://github.com/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](https://github.com/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](#readme)

* [Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part 2](https://blog.twitch.tv/live-video-transmuxing-transcoding-ffmpeg-vs-twitchtranscoder-part-ii-4973f475f8a3?source=userActivityShare-94bccb50d11-1561003748&_branch_match_id=670105191114382351&gi=fd8d504494f4) - A tool or resource for real-time-encoding-solutions.
* [Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part I](https://blog.twitch.tv/en/2017/10/10/live-video-transmuxing-transcoding-f-fmpeg-vs-twitch-transcoder-part-i-489c1c125f28/) - A tool or resource for real-time-encoding-solutions.
* [Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part I](https://link.medium.com/iws08p9VO7) - By: Jeff Gong, Software Engineer, jeffgon@twitch.tv Sahil Dhanju, Software Engineer Intern Chih-Chiang Lu, Senior Software Engineer…
* [Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part II](https://link.medium.com/EYVMBQ3VO7) - By: Jeff Gong, Software Engineer, jeffgon@twitch.tv Sahil Dhanju, Software Engineer Intern Chih-Chiang Lu, Senior Software Engineer…
* [Roverr/rtsp-stream](https://github.com/Roverr/rtsp-stream) - Out of box solution for RTSP - HLS live stream transcoding. Makes RTSP easy to play in browsers. - Roverr/rtsp-stream
* [i4tv/gstreamill](https://github.com/i4tv/gstreamill) - encoder with hls output based on gstreamer.
* [jkarthic-akamai/ABR-Broadcaster](https://github.com/jkarthic-akamai/ABR-Broadcaster) - A real time encoder for Adaptive Bitrate Broadcast - jkarthic-akamai/ABR-Broadcaster

### Scripting & Automation Tools
*Tools for scripting and automating video encoding workflows.*
[back to top](#readme)

* [Azure-Samples/batch-python-ffmpeg-tutorial](https://github.com/Azure-Samples/batch-python-ffmpeg-tutorial) - A Python application that uses Batch to process media files in parallel with the ffmpeg open-source tool. - Azure-Samples/batch-python-ffmpeg-tutorial
* [Ponyboy47/TranscodeVideo](https://github.com/Ponyboy47/TranscodeVideo) - A Swift wrapper around the transcode-video command - Ponyboy47/TranscodeVideo
* [Scalable, Parallel Video Transcoding on Ubuntu](https://blog.dustinkirkland.com/2014/07/scalable-parallel-video-transcoding-on.html) - Transcoding video is a very resource intensive process. It can take many minutes to process a small, 30-second clip, or even hours to p...
* [SmurfManX/ffmpeg-nvidia-adaptive-vod-transcoder](https://github.com/SmurfManX/ffmpeg-nvidia-adaptive-vod-transcoder) - bash script which will detect video new file in folder and transcode it to adaprive bitrate - SmurfManX/ffmpeg-nvidia-adaptive-vod-transcoder
* [ZaifSenpai/Batch-Py-Remux](https://github.com/ZaifSenpai/Batch-Py-Remux) - Convert mkv video to hevc (h.265).
* [chn-lee-yumi/distributed_ffmpeg_transcoding_cluster: 分布式FFMpeg转码集群。A FFMpeg transcoding cluster runs in variable CPUs, including ARM, x86, and others which can run linux. You can use it to run a RaspberryPi cluster.](https://github.com/chn-lee-yumi/distributed_ffmpeg_transcoding_cluster) - 分布式FFMpeg转码集群。A FFMpeg transcoding cluster runs in variable CPUs, including ARM, x86, and others which can run linux. You can use it to run a RaspberryPi cluster. - chn-lee-yumi/distributed_ffmpeg_...
* [cwinging/transcode](https://github.com/cwinging/transcode) - python transcode server.
* [donmelton/other_video_transcoding](https://github.com/donmelton/other_video_transcoding) - Other tools to transcode videos.
* [kwodzicki/video_utils](https://github.com/kwodzicki/video_utils) - Python package containing many tools useful for converting video files to h264/h265 encoded MP4 or MKV files - kwodzicki/video_utils
* [master-of-zen/Av1an: Cross-platform command-line AV1 encode toolkit](https://github.com/master-of-zen/Av1an) - Cross-platform command-line AV1 encode toolkit. Contribute to master-of-zen/Av1an development by creating an account on GitHub.
* [ptrandev/swift-encoder](https://github.com/ptrandev/swift-encoder) - A fire-and-forget shell script that encodes multiple video and audio files with ffmpeg. - ptrandev/swift-encoder
* [sw360cab/pyup-transcoder](https://github.com/sw360cab/pyup-transcoder) - a Python-based software to transcode videos and upload files to a remote server or S3-bucket - sw360cab/pyup-transcoder

### Software Transcoding Tools
*Software-based tools for video transcoding.*
[back to top](#readme)

* [Alkl58/NotEnoughAV1Encodes](https://github.com/Alkl58/NotEnoughAV1Encodes) - GUI Handler for AV1 Encoders (aomenc, rav1e & svt-av1) - Alkl58/NotEnoughAV1Encodes
* [ClearSlide/Fantastic-Transcoder](https://github.com/ClearSlide/Fantastic-Transcoder) - Fantastic transcoder is a video transcoder which utilizes massively parallel compute to achieve ludicrous conversion speeds. - ClearSlide/Fantastic-Transcoder
* [DolbyLaboratories/dolby_vision_professional_decoder_plugin](https://github.com/DolbyLaboratories/dolby_vision_professional_decoder_plugin) -
* [amaurypm/transcode2H265](https://github.com/amaurypm/transcode2H265) - Unattended video transcoder to H265 and ACC codecs, in MKV containers. - amaurypm/transcode2H265
* [bbxnet/transcode](https://github.com/bbxnet/transcode) -
* [benvanik/node-transcoding](https://github.com/benvanik/node-transcoding) - node.js video transcoding library.
* [dev-labs-bg/swift-video-generator](https://github.com/dev-labs-bg/swift-video-generator) -
* [dolby-encoding-engine/plugins at master · DolbyLaboratories/dolby-encoding-engine](https://github.com/DolbyLaboratories/dolby-encoding-engine/tree/master/plugins) - Contribute to DolbyLaboratories/dolby-encoding-engine development by creating an account on GitHub.
* [donmelton/video_transcoding](https://github.com/donmelton/video_transcoding) - Tools to transcode, inspect and convert videos.
* [just-work/django-video-transcoding](https://github.com/just-work/django-video-transcoding) - Simple video transcoding application for Django Framework - just-work/django-video-transcoding
* [kees/transcode](https://github.com/kees/transcode) - Video Transcoding Tools.
* [luziferius/av1transcoder](https://github.com/luziferius/av1transcoder) - Transcode video files to the AV1 format using ffmpeg and libaom-av1. - luziferius/av1transcoder
* [madebyhiro/codem-transcode](https://github.com/madebyhiro/codem-transcode) - Offline video transcoder written in node.js.
* [selsamman/react-native-transcode](https://github.com/selsamman/react-native-transcode) - Video Transcoder for React Native.
* [slhck/rate-control-tests: Tests for different rate control modes in x264](https://github.com/slhck/rate-control-tests) - Tests for different rate control modes in x264. Contribute to slhck/rate-control-tests development by creating an account on GitHub.
* [twitter/vireo: Vireo is a lightweight and versatile video processing library written in C++11](https://github.com/twitter/vireo) - Vireo is a lightweight and versatile video processing library written in C++11 - twitter/vireo

## 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](#readme)

* [AWS CloudFront Live failover](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/high_availability_origin_failover.html) - You can set up CloudFront with origin failover for scenarios that require high availability. To get started, create an origin group in which you designate a primary origin for CloudFront plus a second origin that CloudFront automatically switches to when the primary origin returns specific HTTP status code failure responses.
* [AWS CloudFront for Live Streaming](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/live-streaming.html) - To use AWS Media Services with CloudFront to deliver live content to a global audience, follow the guidance included in this section.
* [Amazon S3 | Fastly Help Guides](https://docs.fastly.com/en/guides/amazon-s3) - A tool or resource for cdn-integration-distribution.
* [Eyevinn/adxchange-engine](https://github.com/Eyevinn/adxchange-engine) - Eyevinn Adxchange Engine is a microservice placed between the server-side ad-insertion component and the adserver or SSP - Eyevinn/adxchange-engine
* [Eyevinn/vmapproxy](https://github.com/Eyevinn/vmapproxy) - A simple VMAP / VAST proxy.
* [OTT Content Delivery– CDN Alternatives](https://medium.com/@eyevinntechnology/ott-content-delivery-cdn-alternatives-cafe75dab71d?source=userActivityShare-94bccb50d11-1560983135&_branch_match_id=670018733519578135) - Introduction
* [This is How I Reduced My CloudFront Bills by 80%](https://medium.com/faun/this-is-how-i-reduced-my-cloudfront-bills-by-80-a7b0dfb24128) - If you are using S3 and CloudFront to host your content and noticed that your bills are increasing, read this!
* [Understanding Server-Side Dynamic Ad Insertion](https://medium.com/@eyevinntechnology/understanding-server-side-dynamic-ad-insertion-d7ed90e34aa2) - In this post we’re explaining the principles behind Server-Side Dynamic Ad Insertion technology. If you are already familiar with video…
* [coopernurse/nginx-s3-proxy](https://github.com/coopernurse/nginx-s3-proxy) - nginx compiled with aws-auth support, suitable for S3 reverse proxy usage - coopernurse/nginx-s3-proxy

### Edge Computing & Caching Solutions
*Solutions leveraging edge computing and caching for video delivery.*
[back to top](#readme)

* [Edge Computing with Fastly CDN and Varnish VCL for Authenticated Requests - Endertech](https://endertech.com/blog/edge-computing-fastly-cdn-varnish-vcl-authenticated-requests) - 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](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-edge-how-it-works-tutorial.html) - 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](https://aws.amazon.com/blogs/networking-and-content-delivery/lambdaedge-design-best-practices/) - 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](https://github.com/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](#readme)

* [How To Setup Nginx For HLS Video Streaming On Centos 7](https://dev.to/samuyi/how-to-setup-nginx-for-hls-video-streaming-on-centos-7-3jb8) - How to live stream videos with Nginx
* [Open Broadcaster Software | OBS](https://obsproject.com/) - OBS (Open Broadcaster Software) is free and open source software for video recording and live streaming. Stream to Twitch, YouTube and many other providers or record your own videos with high quality H264 / AAC encoding.
* [ant-media/Ant-Media-Server](https://github.com/ant-media/Ant-Media-Server) - Ant Media Server supports RTMP, RTSP, WebRTC and Adaptive Bitrate. It can also record videos in MP4, HLS and FLV - ant-media/Ant-Media-Server
* [bbc/brave](https://github.com/bbc/brave) - Basic Real-time AV Editor - allowing you to preview, mix, and route live audio and video streams on the cloud - bbc/brave
* [gnolizuh/BLSS](https://github.com/gnolizuh/BLSS) - NGINX-based Live Media Streaming Server.
* [jaskie/PlayoutAutomation](https://github.com/jaskie/PlayoutAutomation) - Television broadcast automation system.
* [lhls-simple-live-platform](https://slides.com/jordicenzano/deck-973aed) - 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
* [media-toolbox/avbroadcast: avbroadcast - republish media streams for mass consumption](https://github.com/media-toolbox/avbroadcast) - avbroadcast - republish media streams for mass consumption - media-toolbox/avbroadcast
* [muxinc/stream.new](https://github.com/muxinc/stream.new) - The repo for https://stream.new.
* [obsproject/obs-studio](https://github.com/obsproject/obs-studio) - OBS Studio - Free and open source software for live streaming and screen recording - obsproject/obs-studio
* [ossrs/srs](https://github.com/ossrs/srs) - SRS is a simple live streaming cluster, a simple joy. - ossrs/srs
* [scivision/PyLivestream](https://github.com/scivision/PyLivestream) - Pure Python FFmpeg-based live video / audio streaming to YouTube, Facebook, Periscope, Twitch, and more - scivision/PyLivestream

### Multi-CDN Management
*Tools for managing multiple Content Delivery Networks.*
[back to top](#readme)

* [OTT Content Delivery– Multi CDN](https://medium.com/@eyevinntechnology/ott-content-delivery-multi-cdn-8cd90ad2628a?source=userActivityShare-94bccb50d11-1560983307&_branch_match_id=670019455010399744) - Background

### Peer-to-Peer Streaming Solutions
*Solutions using peer-to-peer technology for video streaming.*
[back to top](#readme)

* [Wifibroadcast – Analog-like transmission of live video data](https://befinitiv.wordpress.com/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](https://github.com/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](#readme)

* [Create your own video streaming server with Linux](https://opensource.com/article/19/1/basic-live-video-streaming-server) - Using Nginx to create a streaming server using RTMP and nginx
* [DVBlast - Open Source fast DVB/ASI network streamer! - VideoLAN](http://www.videolan.org/projects/dvblast.html) - DVBlast - Open Source fast DVB/ASI network streamer!
* [Red5/red5-server](https://github.com/Red5/red5-server) - Red5 Server core.
* [SRT Open Source project](https://github.com/Haivision/srt) - A tool or resource for rtmprtsphttp-protocol-servers.
* [Streaming With SRT Protocol in OBS](https://obsproject.com/wiki/Streaming-With-SRT-Protocol) - A tool or resource for rtmprtsphttp-protocol-servers.
* [alfg/docker-nginx-rtmp](https://github.com/alfg/docker-nginx-rtmp) - 🐋 A Dockerfile for nginx-rtmp-module + FFmpeg from source with basic settings for streaming HLS. Built on Alpine Linux. - alfg/docker-nginx-rtmp
* [ebu/dtt2ip](https://github.com/ebu/dtt2ip) - Broadcast to IP conversion for Wifi indoor coverage - ebu/dtt2ip
* [ireader/media-server](https://github.com/ireader/media-server) - RTSP/RTP/RTMP/FLV/HLS/MPEG-TS/MPEG-PS/MPEG-DASH/MP4/fMP4 - ireader/media-server
* [librist](https://code.videolan.org/rist/librist) - A library that can be used to easily add the RIST protocol to your application.
* [njh/dvbshout](https://github.com/njh/dvbshout) - dvbshout takes an MPEG transport stream from a DVB card, extracts audio channels from stream, and sends the audio to an Icecast / Shoutcast server and/or a RTP multicast packet stream. - njh/dvbshout

### Streaming Analytics & Monitoring
*Tools for analytics and monitoring of video streams.*
[back to top](#readme)

* [Akamai Stream Validator](https://players.akamai.com/stream-validator) - Akamai's Stream Validator is a tool designed to verify the integrity and compliance of streaming media, ensuring optimal playback across devices.
* [Eyevinn Stream Corruptor](https://github.com/Eyevinn/streaming-onboarding/blob/master/Stream-Corruptor.md) - Eyevinn's Stream Corruptor is a tool designed to intentionally corrupt streaming media, useful for testing error resilience in players.
* [Inca — Message Tracing and Loss Detection For Streaming Data @Netflix](https://link.medium.com/Lu3GnIPeg0) - At Netflix, our real-time data infrastructure have embraced the multi-cluster Kafka architecture and Flink powered stream processing…
* [SCTE-104/35 and Beyond: A Look at Ad Insertion in an OTT World](https://www.tvtechnology.com/opinions/scte10435-and-beyond-a-look-at-ad-insertion-in-an-ott-world) - Ad Insertion is a very important part of many video delivery systems because of the monetization aspect—it generates revenue!
* [ThreeFive SCTE35](https://github.com/futzu/scte-35_threefive) - An SCTE-35 parser and decoder for analyzing ad markers in MPEG-TS streams, designed for broadcast workflows.
* [Understanding Real-time Bidding for AVOD Services](https://medium.com/@eyevinntechnology/understanding-real-time-bidding-for-avod-services-861ebfa8bd13) - We have in previous blog articles described the principles behind server-side ad-insertion and described some of the challenges with it as…
* [leandromoreira/http-video-streaming-troubleshooting](https://github.com/leandromoreira/http-video-streaming-troubleshooting) - A collection of fixes / problem solutions to HTTP video streaming - leandromoreira/http-video-streaming-troubleshooting
* [switch media adease](https://www.switch.tv/mediahq/adease/) - A tool or resource for streaming-analytics-monitoring.

### VOD Streaming Servers
*Servers for video-on-demand streaming.*
[back to top](#readme)

* [9 Best Home Server Apps to Automate Media Management](https://www.smarthomebeginner.com/best-home-server-apps/) - 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.
* [Creating a secure video-on-demand (VOD) platform using AWS](https://aws.amazon.com/blogs/media/creating-a-secure-video-on-demand-vod-platform-using-aws/) - Authored by Chirag Oswal, Solution Architect, AWS, and Vikas Tiwari, Solution Architect Manager, AWS Video has become the primary means of Information sharing and learning. Customers are investing in innovative solutions to tap into the e-learning and video space. Video content is their IP and needs to be protected and securely delivered. Online video is a […]
* [Eyevinn/channel-engine](https://github.com/Eyevinn/channel-engine) - OTT TV Channel Engine.
* [Eyevinn/pseudo-live-playout](https://github.com/Eyevinn/pseudo-live-playout) - Contribute to Eyevinn/pseudo-live-playout development by creating an account on GitHub.
* [Unified Streaming Demos](https://demo.unified-streaming.com/) - A showcase of Unified Streaming's capabilities, including adaptive streaming formats and DRM-protected playback.
* [Unified Streaming Features Page](https://demo.unified-streaming.com/k8s/features/stable/#!/mpd) - A demonstration of Unified Streaming's feature set, including on-the-fly packaging and multi-format support.
* [VOD on AWS](https://s3.amazonaws.com/solutions-reference/video-on-demand-on-aws/latest/video-on-demand-on-aws.pdf) - A tool or resource for vod-streaming-servers.
* [VOD2Live](https://docs.google.com/presentation/d/1Ua76BBaZKtTmaZrlfM_eG0vwz0ZAqPIjreCSfB4qFQQ/edit?usp=sharing) - VOD2Live Kevin Staunton-Lambert Solutions Architect R&D @kevleyski www.switch.tv
* [anachirino/bifserver](https://github.com/anachirino/bifserver) - Server which creates and serves up BIF files for Roku players - anachirino/bifserver
* [davidbt/djmediastreamer](https://github.com/davidbt/djmediastreamer) - A Django project that allows you to catalog and stream your videos (using FFmpeg to add subtitles and transcode). - davidbt/djmediastreamer
* [olaris / olaris-server](https://gitlab.com/olaris/olaris-server) - GitLab.com
* [openfun/marsha](https://github.com/openfun/marsha) - :clapper: A self-hosted opensource LTI video provider - openfun/marsha
* [openstack/swift](https://github.com/openstack/swift) - OpenStack Storage (Swift).
* [prologic/tube](https://github.com/prologic/tube) - 📺 a Youtube-like (without censorship and features you don't need!) Video Sharing App written in Go which also supports automatic transcoding to MP4 H.265 AAC, multiple collections and R...
* [shimberger/gohls](https://github.com/shimberger/gohls) - A server that exposes a directory for video streaming via web interface - shimberger/gohls
* [streamaserver/streama](https://github.com/streamaserver/streama) - Self hosted streaming media server. https://docs.streama-project.com/ - streamaserver/streama
* [switch media live2vod](https://www.switch.tv/mediahq/live2vod/) - A tool or resource for vod-streaming-servers.
* [switch media mediahq](https://www.switch.tv/mediahq/) - A tool or resource for vod-streaming-servers.
* [t-mullen/hls-server](https://github.com/t-mullen/hls-server) - Middleware for serving HTTP Live Streaming (HLS) compatible media streams. - t-mullen/hls-server

## 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](#readme)

* [BOLA: Near-Optimal Bitrate Adaptation for Online Videos](https://arxiv.org/pdf/1601.06748.pdf) -
* [Design of scheduling and rate-adaptation algorithms for adaptive HTTP streaming · dispar.at Blog](https://dispar.at/blog/2017/07/08/design-of-scheduling-and-rate-adaptation-algorithms-for-adaptive-http-streaming/) - Design of scheduling and rate-adaptation algorithms for adaptive HTTP streaming - Stephan Hesse
* [pokey909/dash_adaptation_simulator](https://github.com/pokey909/dash_adaptation_simulator) - Simulate bitrate switching algorithms based on real data traces - pokey909/dash_adaptation_simulator

### CMAF & fMP4 Packaging
*Tools for Common Media Application Format and fragmented MP4 packaging.*
[back to top](#readme)

* [Eyevinn/fmp4-js](https://github.com/Eyevinn/fmp4-js) - A Javascript library to parse ISO Base Media File Format (MPEG-4 Part 12) - Eyevinn/fmp4-js
* [HLS and Fragmented MP4](https://hlsbook.net/hls-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](https://github.com/matmoi/create-DASH-HLS/) - A tutorial to generate fMp4 files compatible with dash and HLS - matmoi/create-DASH-HLS
* [matmoi/create-DASH-HLS](https://github.com/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](#readme)

* [Eyevinn/dash-validator-js](https://github.com/Eyevinn/dash-validator-js) - MPEG DASH validator JS library.
* [carlanton/mpd-tools](https://github.com/carlanton/mpd-tools) - DASH MPD tools for Java.
* [dash-mpd-rs](https://github.com/emarsden/dash-mpd-rs) - Rust library for parsing, serializing and downloading media content from a DASH MPD file.
* [dash-validator-js/README.md at master · Eyevinn/dash-validator-js](https://github.com/Eyevinn/dash-validator-js/) - MPEG DASH validator JS library. Contribute to Eyevinn/dash-validator-js development by creating an account on GitHub.
* [nickdesaulniers/combine-mpd](https://github.com/nickdesaulniers/combine-mpd) - Combine MPEG DASH MPD manifest files.
* [sangwonl/python-mpegdash](https://github.com/caststack/python-mpegdash) - MPEG-DASH MPD(Media Presentation Description) Parser - sangwonl/python-mpegdash
* [videojs/mpd-parser](https://github.com/videojs/mpd-parser) - Contribute to videojs/mpd-parser development by creating an account on GitHub.
* [zencoder/go-dash](https://github.com/zencoder/go-dash) - A Go library for generating MPEG-DASH manifests.

### DASH Tools
*Tools for Dynamic Adaptive Streaming over HTTP (DASH).*
[back to top](#readme)

* [DASH IF Test Assets Database](https://testassets.dashif.org/#testcase/details/58a5ddaa7459f8cb201b8a6d) -
* [DASH IF Test Assets Database](https://testassets.dashif.org/#testvector/groupedList) -
* [Dash Sequences GPAC Wiki](https://github.com/gpac/gpac/wiki/dash-sequences) - The GPAC Wiki provides DASH sequences for conformance testing and validation.
* [Dash-Industry-Forum/DASH-IF-Conformance](https://github.com/Dash-Industry-Forum/DASH-IF-Conformance) - This repository provides the source code for MPEG-DASH/DASH-IF Conformance Software/Validator. It has been extended according to further standards, such as CMAF, DVB-DASH, HbbTV, and CTA WAVE. - Da...
* [Dash-Industry-Forum/ISOSegmentValidator](https://github.com/Dash-Industry-Forum/ISOSegmentValidator) - Contribute to Dash-Industry-Forum/ISOSegmentValidator development by creating an account on GitHub.
* [Dash-Industry-Forum/Ingest](https://github.com/Dash-Industry-Forum/Ingest) -
* [Dash-Industry-Forum/dash-live-source-simulator](https://github.com/Dash-Industry-Forum/dash-live-source-simulator) - DASH live source simulator providing reference live content. - Dash-Industry-Forum/dash-live-source-simulator
* [Dash-Industry-Forum/dash.js](https://github.com/Dash-Industry-Forum/dash.js) - A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers. - Dash-Industry-Forum/dash.js
* [Dash-Industry-Forum/media-tools](https://github.com/Dash-Industry-Forum/media-tools) - A collection of tools for analyzing, handling, and creating media and media containers - Dash-Industry-Forum/media-tools
* [Eyevinn/docker-2dash](https://github.com/Eyevinn/docker-2dash) - A Docker container to pre-package MPEG DASH on demand content - Eyevinn/docker-2dash
* [Eyevinn/docker-dash-packager](https://github.com/Eyevinn/docker-dash-packager) - Open source MPEG DASH packager for live and VOD.
* [MPEG DASH Sample Content Bento4](http://www.bento4.com/developers/dash/dash-sample-content/) - Bento4 offers MPEG-DASH sample content for developers to test and validate their DASH implementations.
* [The structure of an MPEG-DASH MPD](https://www.brendanlong.com/the-structure-of-an-mpeg-dash-mpd.html) - 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).
* [Viblast/dash-proxy](https://github.com/Viblast/dash-proxy) - Easy downloading and mirroring of MPEG-DASH streams - Viblast/dash-proxy
* [active-video/subtitles](https://github.com/active-video/subtitles) - AV Platform MPEG DASH subtitles.
* [bitmovin/libdash](https://github.com/bitmovin/libdash) - MPEG-DASH Access Library - Official ISO/IEC MPEG-DASH Reference Implementation - bitmovin/libdash
* [castlabs/dashencrypt: DASH fragmenter/segmenter and encrypter](https://github.com/castlabs/dashencrypt) - DASH fragmenter/segmenter and encrypter. Contribute to castlabs/dashencrypt development by creating an account on GitHub.
* [dash-mpd-cli](https://github.com/emarsden/dash-mpd-cli) - Commandline application for downloading media content from a DASH MPD manifest.
* [djvergad/dash](https://github.com/djvergad/dash) - An MPEG/DASH client-server module for simulating rate adaptation mechanisms over HTTP/TCP. - djvergad/dash
* [mahbubcseju/MPEG-DASH-Downloader](https://github.com/mahbubcseju/MPEG-DASH-Downloader) - Contribute to mahbubcseju/MPEG-DASH-Downloader development by creating an account on GitHub.
* [mp4dash | Bento4](https://www.bento4.com/documentation/mp4dash/) - A tool or resource for dash-tools.
* [shengbinmeng/dash-drm](https://github.com/shengbinmeng/dash-drm) - Demos of MPEG-DASH and DRM.
* [stultus/mp4-to-mpegdash-py](https://github.com/stultus/mp4-to-mpegdash-py) - Python Script to convert a MP4 file into onDemand MPEG-DASH - stultus/mp4-to-mpegdash-py
* [tchakabam/dash-proxy](https://github.com/tchakabam/dash-proxy) - Experimental MPEG-DASH media gateway - proxy on-the-fly modified MP4 segment metadata - tchakabam/dash-proxy
* [theolampert/dash-server](https://github.com/theolampert/dash-server) - Small, command-line HTTP/2 file server for serving MPEG-DASH content. - theolampert/dash-server
* [videojs/videojs-contrib-dash](https://github.com/videojs/videojs-contrib-dash) - Video.js plugin for supporting the MPEG-DASH playback through a video.js player - videojs/videojs-contrib-dash

### HLS Manifest Parsers & Generators
*Tools for parsing and generating HLS manifests.*
[back to top](#readme)

* [Comcast/mamba](https://github.com/Comcast/mamba) - Mamba is a Swift iOS, tvOS and macOS framework to parse, validate and write HTTP Live Streaming (HLS) data. - Comcast/mamba
* [Comcast/scte35-js](https://github.com/Comcast/scte35-js) - A SCTE 35 Parser for JavaScript.
* [Eyevinn/hls-origin-scripts](https://github.com/Eyevinn/hls-origin-scripts) - Scripts to manipulate HLS manifests at origin or edge server - Eyevinn/hls-origin-scripts
* [Eyevinn/hls-playlist-parser](https://github.com/Eyevinn/hls-playlist-parser) - A Javascript library to parse Hls playlists.
* [Eyevinn/hls-ts-js](https://github.com/Eyevinn/hls-ts-js) - HLS MPEG-TS parser library in Javascript.
* [Eyevinn/manifestparser](https://github.com/Eyevinn/manifestparser) - A manifest parser.
* [Eyevinn/vast-info](https://github.com/Eyevinn/vast-info) - Parse a VAST or VMAP to show valuable information in a readable format - Eyevinn/vast-info
* [M3U8Kit/M3U8Parser](https://github.com/M3U8Kit/M3U8Parser) - A light weight M3U8 parser. Support X-Key & X-Session-Key. - M3U8Kit/M3U8Parser
* [Middleman SCTE35 104 Parser](https://tools.middleman.tv/scte35-parser) - A web-based tool to parse and decode SCTE-35 markers for ad insertion and broadcast signaling analysis.
* [carlanton/m3u8-parser](https://github.com/carlanton/m3u8-parser) - HLS compliant m3u8 parser for Java.
* [globocom/m3u8](https://github.com/globocom/m3u8) - M3U8 library
* [grafov/m3u8](https://github.com/grafov/m3u8) - Parser and generator of M3U8-playlists for Apple HLS. Library for Go language. :cinema: - grafov/m3u8
* [iheartradio/open-m3u8](https://github.com/iheartradio/open-m3u8) - Open Source m3u8 Parser.
* [osk/node-webvtt](https://github.com/osk/node-webvtt) - Parse WebVTT files, segments and generates HLS playlists for them.
* [videojs/m3u8-parser](https://github.com/videojs/m3u8-parser) - An m3u8 parser.

### HLS Tools
*Tools specifically for HTTP Live Streaming (HLS).*
[back to top](#readme)

* [507_hls_authoring_for_airplay_2.](https://devstreaming-cdn.apple.com/videos/wwdc/2019/507fk9wyls0np6piwk/507/507_hls_authoring_for_airplay_2_video.pdf) - A tool or resource for hls-tools.
* [510_validating_http_live_streams.](https://devstreaming-cdn.apple.com/videos/wwdc/2016/510ndmh9wkcvzneegv2/510/510_validating_http_live_streams.pdf) - A tool or resource for hls-tools.
* [515_hls_authoring_update](https://devstreaming-cdn.apple.com/videos/wwdc/2017/515vy4sl7iu70/515/515_hls_authoring_update.pdf) - A tool or resource for hls-tools.
* [Apple HLS Tools](https://developer.apple.com/documentation/http-live-streaming/using-apple-s-http-live-streaming-hls-tools) - Apple's HLS Tools assist developers in creating and validating HTTP Live Streaming (HLS) content for Apple devices.
* [Creating A Production Ready Multi Bitrate HLS VOD stream - Peer5 P2P Docs](https://docs.peer5.com/guides/production-ready-hls-vod/) - Peer5 documentation
* [Creating a Master Playlist | Apple Developer Documentation](https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/creating_a_master_playlist#overview) - A tool or resource for hls-tools.
* [Eyevinn/hls-cutsegment](https://github.com/Eyevinn/hls-cutsegment) - A web app that lets you insert a cut into a segment, which is then cut into two new segments. - Eyevinn/hls-cutsegment
* [Eyevinn/hls-download](https://github.com/Eyevinn/hls-download) - Download HLS and convert to MP4.
* [Eyevinn/hls-relay](https://github.com/Eyevinn/hls-relay) - Script to pull HLS stream from one origin and push to another origin - Eyevinn/hls-relay
* [Eyevinn/hls-ts-analyzer](https://github.com/Eyevinn/hls-ts-analyzer) - Example implementation of hls-ts.js library.
* [Eyevinn/vod-to-live](https://github.com/Eyevinn/vod-to-live) - A python library to generate Live HLS from VOD.
* [HEVC in HLS: 10 Key Questions for Streaming Video Developers](https://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=122637&PageNum=2) - Many who heard that Apple is adding support for HEVC playback in HTTP Live Streaming were left with more questions than answers. Here's what developers need to know.
* [HLS | Bento4](https://www.bento4.com/developers/hls/) - A tool or resource for hls-tools.
* [How to generate a fmp4 hls live stream with FFMPEG](https://nomadyun.wordpress.com/2018/04/12/how-to-generate-a-fmp4-hls-live-stream-with-ffmpeg/) - ffmpeg -re -stream_loop -1 -i voweb.mp4 -hls_fmp4_init_filename init.mp4 -vf “settb=AVTB,setpts=’trunc(PTS/1K)*1K+st\(1,trunc(RTCTIME/1K))-1K*trunc(ld(1)/1K)’,\ drawtext=fontfile=…
* [Introducing Low-Latency HLS - WWDC 2019 - Videos - Apple Developer](https://developer.apple.com/videos/play/wwdc2019/502) - Since its introduction in 2009, HTTP Live Streaming (HLS) has enabled the delivery of countless live and on‐demand audio and video...
* [Last-Order/Minyami](https://github.com/Last-Order/Minyami) - A lovely video downloader for HLS videos.
* [Mux HLS Streams](https://test-streams.mux.dev/) - Mux offers a set of test HLS streams, primarily used by hls.js and hosted by Mux, for testing and development.
* [Protocol Extension for Low-Latency HLS (Preliminary Specification) | Apple Developer Documentation](https://developer.apple.com/documentation/http_live_streaming/protocol_extension_for_low-latency_hls_preliminary_specification#3291001) - A tool or resource for hls-tools.
* [SoulMelody/hls-get](https://github.com/SoulMelody/hls-get) - An asynchronous terminal-based hls video stream (m3u8) downloader & combiner, with AES-128 decryption support. - SoulMelody/hls-get
* [artilleryio/artillery-plugin-hls](https://github.com/artilleryio/artillery-plugin-hls) - Load test HTTP Live Streaming (HLS) servers with Artillery 🎥 - artilleryio/artillery-plugin-hls
* [awslabs/aws-stale-playlist-detector](https://github.com/awslabs/aws-stale-playlist-detector) - The Stale Playlist Detector (SPD) is a tool to monitor live HLS origin endpoints for changing playlists. The Stale Playlist Detector (SPD) will use data in the top-level playlist, the child playlis...
* [bash scripts to create VOD HLS stream with ffmpeg almighty (tested on Linux and OS X)](https://gist.github.com/mrbar42/ae111731906f958b396f30906004b3fa) - bash scripts to create VOD HLS stream with ffmpeg almighty (tested on Linux and OS X) - README.md
* [creeveliu/HTTPLiveStreamingTools](https://github.com/creeveliu/HTTPLiveStreamingTools) - Latest Apple HLS tools copy from Apple Developer Center - creeveliu/HTTPLiveStreamingTools
* [denex/hls-downloader](https://github.com/denex/hls-downloader) - Download all video files from HLS (HTTP Live Streaming) VoD (Video on Demand) m3u8 playlist for local playback - denex/hls-downloader
* [dhairav/URLSessionHLSDownload](https://github.com/dhairav/URLSessionHLSDownload) - A swift 3 implementation for downloading HLS content and play it back using native AVPlayer - dhairav/URLSessionHLSDownload
* [egg-bread/hls-to-mp4](https://github.com/egg-bread/hls-to-mp4) - Download HLS videos as MP4 (WebVTT for caption download optional) - egg-bread/hls-to-mp4
* [epiclabs-io/hls-analyzer](https://github.com/epiclabs-io/hls-analyzer) - Analyzer for HTTP Live Streams (HLS) content.
* [excalibur-kvrv/m3u8-dl](https://github.com/excalibur-kvrv/m3u8-dl) - A CLI m3u8-downloader program to parse .m3u8 playlist file and download mpeg2-ts video files, concat them and convert it to mp4 using FFMPEG - excalibur-kvrv/m3u8-dl
* [fcanas/HLSCore](https://github.com/fcanas/HLSCore) - A collection of Swift packages for working with HLS - fcanas/HLSCore
* [flavioribeiro/nginx-audio-track-for-hls-module](https://github.com/flavioribeiro/nginx-audio-track-for-hls-module) - :sound: Nginx module that generates audio track for HTTP Live Streaming (HLS) streams on the fly. - flavioribeiro/nginx-audio-track-for-hls-module
* [flavioribeiro/nginx-vod-module-fmp4-hls](https://github.com/flavioribeiro/nginx-vod-module-fmp4-hls) - Play fragmented mp4's on HLS using nginx-vod-module - flavioribeiro/nginx-vod-module-fmp4-hls
* [gitfu/manifesto](https://github.com/gitfu/manifesto) - Manifesto is an HLS tool for creating multiple variants, a master.m3u8 file, and converting 608 captions to segmented webvtt subtitles via ffmpeg. - gitfu/manifesto
* [gkozlenko/node-video-lib](https://github.com/gkozlenko/node-video-lib) - Node.js Video Library / MP4 & FLV parser / MP4 builder / HLS muxer - gkozlenko/node-video-lib
* [globocom/hlsclient](https://github.com/globocom/hlsclient) - Python HLS Client.
* [huzhenjie/m3u8_downloader](https://github.com/huzhenjie/m3u8_downloader) - 基于Python的m3u8下载器.
* [iliya-gr/mediasegmenter](https://github.com/iliya-gr/mediasegmenter) - HLS media segmenter.
* [imsanthosh/HLS-Stream-health-monitoring-tool](https://github.com/imsanthosh/HLS-Stream-health-monitoring-tool) - HLS stream health monitoring utility tool provides an report of live HLS stream. This utility tool checks the all available bitrate streams and generates the report in html file format. HTML file i...
* [jordicenzano/go-ts-segmenter](https://github.com/jordicenzano/go-ts-segmenter) - Live TS segmenter and HLS manifest creation in Go.
* [krad/morsel](https://github.com/krad/morsel) - 📇 Swift library for creating HLS playlists and fragmented mp4 files. Works on Linux and iOS. - krad/morsel
* [lcy0321/m3u8-downloader](https://github.com/lcy0321/m3u8-downloader) - Download the ts files according to the given m3u8 file. - lcy0321/m3u8-downloader
* [majamee/auto-dash-hls](https://github.com/majamee/auto-dash-hls) - Automated toolchain for generating DASH/ HLS compatible files from all videos inside a root folder - majamee/auto-dash-hls
* [mifi/hls-vod](https://github.com/mifi/hls-vod) - HTTP Live Streaming with on-the-fly encoding of any video file for Web/Apple TV/iPhone/iPad/iPod - mifi/hls-vod
* [muxinc/hlstools](https://github.com/muxinc/hlstools) - A tool or resource for hls-tools.
* [nmrony/hlsdownloader](https://github.com/nmrony/hlsdownloader) - Downloads HLS Playlist file and TS chunks.
* [nmrony/hlsdownloader-cli](https://github.com/nmrony/hlsdownloader-cli) - Downloads HLS Playlist file and TS chunks using Terminal - nmrony/hlsdownloader-cli
* [openHPI/nginx-hls-analyzer](https://github.com/openHPI/nginx-hls-analyzer) - Fork of fmsloganalyzer to adapt it for HLS streaming analyzes with nginx - openHPI/nginx-hls-analyzer
* [osklil/hls-fetch](https://github.com/osklil/hls-fetch) - Download and decrypt videos served by the HTTP Live Streaming (HLS) protocol. - osklil/hls-fetch
* [puemos/hls-downloader-chrome-extension](https://github.com/puemos/hls-downloader-chrome-extension) - Google Chrome Extension for sniffing and downloading HTTP Live streams (HLS) - puemos/hls-downloader-chrome-extension
* [qi-shun-wang/HLSDownloader](https://github.com/qi-shun-wang/HLSDownloader) - Download Crypted HLS with server key and play video as local playing on iOS device. - qi-shun-wang/HLSDownloader
* [r-plus/HLSion](https://github.com/r-plus/HLSion) - HTTP Live Streaming (HLS) download manager to offline playback. - r-plus/HLSion
* [rounce/nginx-hls-module](https://github.com/rounce/nginx-hls-module) - Smooth Streaming Module fork.
* [schedules/dl](https://github.com/schedules/dl) - Node.js DASH and HLS downloader.
* [selsta/hlsdl](https://github.com/selsta/hlsdl) - C program to download VoD HLS (.m3u8) files.
* [shrimpgo/video-downloader](https://github.com/shrimpgo/video-downloader) - Helper to download HLS videos.
* [soldiermoth/hlsq](https://github.com/soldiermoth/hlsq) - A CLI for adding some color to your HLS manifests along with some basic filtering
* [tjenkinson/mock-hls-server](https://github.com/tjenkinson/mock-hls-server) - Fake a live/event HLS stream from a VOD one. Useful for testing. - tjenkinson/mock-hls-server
* [tozastation/HLS-Streaming](https://github.com/tozastation/HLS-Streaming) - HLSを使ってみたです..
* [yuhuili-lab/Tide](https://github.com/yuhuili-lab/Tide) - Simple m3u8 and MPEG-DASH MPD video downloader using libcurl - yuhuili-lab/Tide
* [zhaiweiwei/nginx-hls](https://github.com/zhaiweiwei/nginx-hls) - Contribute to zhaiweiwei/nginx-hls development by creating an account on GitHub.

### Low-Latency Streaming Tools
*Tools optimized for low-latency video streaming.*
[back to top](#readme)

* [Low Latency Live Streaming](https://docs.google.com/presentation/d/1ZwqWcweR5SqeMBRmJjSukWaHbpdPy-EPYvJCS23_n3U/edit?usp=sharing) - Low Latency Live Streaming Apple LLHLS / CMAF Kevin Staunton-Lambert Solutions Architect R&D (July 2019) @kevleyski www.switch.tv

## 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](#readme)

* [OpenVisualCloud/Ad-Insertion-Sample](https://github.com/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](https://github.com/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](https://github.com/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](https://docs.google.com/presentation/d/1NAqYWmFOwxJEacZCuPLdX0mRNRFPFgeRbsm22EaxerU/edit?usp=sharing) - Using Tensorflow For Audience Measurement Kevin Staunton-Lambert Solutions Architect R&D @kevleyski www.switch.tv
* [apm1467/videocr](https://github.com/apm1467/videocr) - Extract hardcoded subtitles from videos using machine learning - apm1467/videocr
* [openai/jukebox](https://github.com/openai/jukebox) - Code for the paper "Jukebox: A Generative Model for Music" - openai/jukebox
* [shinobizero/audio_transcriber](https://github.com/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](https://github.com/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](#readme)

* [Audio Loudness | Conversational Actions | Google Developers](https://developers.google.com/assistant/tools/audio-loudness) - A tool or resource for audio-analysis-processing.
* [Audio normalization with ffmpeg using loudnorm (ebur128) filter](https://bytesandbones.wordpress.com/2017/03/16/audio-nomalization-with-ffmpeg-using-loudnorm-ebur128-filter/) - A tool or resource for audio-analysis-processing.
* [Loudness Explained Page | Music Tribe - TC Electronic](https://www.tcelectronic.com/brand/tcelectronic/loudness-explained#googtrans(en|en)) - tcelectronic,
* [bbc/audio-offset-finder: Find the offset of an audio file within another audio file](https://github.com/bbc/audio-offset-finder) - Find the offset of an audio file within another audio file - bbc/audio-offset-finder
* [hybrik/hybrik-samples](https://github.com/hybrik/hybrik-samples/blob/master/Feature%20Examples/Filters/ebu_r128_audio_normalization.json) - Hybrik Samples.
* [normalizing Audio](https://www.learndigitalaudio.com/normalize-audio) - A tool or resource for audio-analysis-processing.
* [slhck/ffmpeg-normalize](https://github.com/slhck/ffmpeg-normalize#examples) - Audio Normalization for Python/ffmpeg.

### Color Science & Histogram Analysis
*Tools for color science and histogram analysis in video.*
[back to top](#readme)

* [IENT/YUView](https://github.com/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](#readme)

* [DolbyLaboratories/AM-Viewer: Audio Metadata Viewer](https://github.com/DolbyLaboratories/AM-Viewer) - Audio Metadata Viewer. Contribute to DolbyLaboratories/AM-Viewer development by creating an account on GitHub.
* [DolbyLaboratories/pmd_tool: pmd_tool is a command line utility that converts between different representations of SMPTE RDD49 metadata](https://github.com/DolbyLaboratories/pmd_tool) - pmd_tool is a command line utility that converts between different representations of SMPTE RDD49 metadata - DolbyLaboratories/pmd_tool
* [Extracting contextual information from video assets](https://medium.com/netflix-techblog/extracting-contextual-information-from-video-assets-ee9da25b6008) - for an improved Netflix user experience
* [Eyevinn/srt-metadata-extractor](https://github.com/Eyevinn/srt-metadata-extractor) - Contribute to Eyevinn/srt-metadata-extractor development by creating an account on GitHub.
* [M2amedia SCTE35 Dump for MPEGTS](https://github.com/m2amedia/scte35dump) - M2A Media's tool for extracting SCTE-35 markers from MPEG-TS streams.
* [MediaArea/MediaInfo](https://github.com/MediaArea/MediaInfo) - Convenient unified display of the most relevant technical and tag data for video and audio files. - MediaArea/MediaInfo
* [VTCLab Media Analyzer](https://media-analyzer.pro) - In-browser tool that helps to analyze the internal structure of MPEG-TS and MP4/MOV files
* [abinashmeher999/voice-data-extract](https://github.com/abinashmeher999/voice-data-extract) - A command line interface to combine text information from subtitles with voice data in the video. Provides a convenient way to generate training data for speech-recognition purposes. - abinashmeher...
* [brendanlong/mpeg-ts-inspector: A command-line tool for inspecting MPEG-TS files](https://github.com/brendanlong/mpeg-ts-inspector) - A command-line tool for inspecting MPEG-TS files. Contribute to brendanlong/mpeg-ts-inspector development by creating an account on GitHub.
* [essential61/mp4analyser](https://github.com/essential61/mp4analyser) - mp4 file analyser written in Python.
* [quodlibet/mutagen](https://github.com/quodlibet/mutagen) - Python module for handling audio metadata.
* [sannies/isoviewer: GUI application to have closer look ISO 14496-12 and other MP4 files.](https://github.com/sannies/isoviewer) - GUI application to have closer look ISO 14496-12 and other MP4 files. - sannies/isoviewer
* [sbraz/pymediainfo: A Python wrapper around the MediaInfo library](https://github.com/sbraz/pymediainfo) - A Python wrapper around the MediaInfo library. Contribute to sbraz/pymediainfo development by creating an account on GitHub.
* [xk media library](https://github.com/chapmanjacobd/library) - Scan millions of files with ffmpeg and access the metadata as a SQLite database. Also, a CLI alternative to media browsers like Plex or Jellyfin

### Quality Analysis & Metrics
*Tools for analyzing and measuring video quality.*
[back to top](#readme)

* [Best Practices for End-to-End Workflow Monitoring | Streaming Video Alliance](https://www.streamingvideoalliance.org/project/best-practices-for-end-to-end-workflow-monitoring/) -
* [Dolby Stream Validator](https://ott.dolby.com/OnDelKits_dev/StreamValidator/Start_Here.html) -
* [Dolby Stream Validator](https://ott.dolby.com/OnDel_tools/validator/Start_Here.html) - Dolby's Stream Validator assesses streaming content for Dolby audio and video standards, ensuring high-quality media delivery.
* [MarcAntoine-Arnaud/wisual](https://github.com/MarcAntoine-Arnaud/wisual) - Web for Visual Quality Assessment.
* [QCTools Documentation](http://bavc.github.io/qctools/) - QCTools (Quality Control Tools for Video Preservation) is a free and open source software tool that helps users analyze and understand their digitized video files through use of audiovisual analytics and filtering. QCTools is funded by the National Endowment for the Humanities and the Knight Foundation, and is developed by the Bay Area Video Coalition.
* [Quality of Experience in Streaming](https://medium.com/@eyevinntechnology/quality-of-experience-in-streaming-5c25355a4111?source=userActivityShare-94bccb50d11-1559724940&_branch_match_id=664741478927428385) - In Eyevinn Technology’s ambition to broader our sharing of knowledge we now expand this with addressing quality. In today’s landscape of…
* [Rolinh/VQMT](https://github.com/Rolinh/VQMT) - VQMT: Video Quality Measurement Tool. Fast implementations of the following objective image quality metrics: PSNR, SSIM, MS-SSIM, VIFp, PSNR-HVS and PSNR-HVS-M. - Rolinh/VQMT
* [Telecommunication-Telemedia-Assessment/AVRate](https://github.com/Telecommunication-Telemedia-Assessment/AVRate) - An open source modular Audio/Visual subjective evaluation test interface - Telecommunication-Telemedia-Assessment/AVRate
* [The Challenge to Maintain and Translate Creative Visual Ideas to Everyone’s Viewing Devices](https://medium.com/@eyevinntechnology/the-challenge-to-maintain-and-translate-creative-visual-ideas-to-everyones-viewing-devices-a88e1a841439) - Many articles have already been posted drawing conclusions on what went wrong with the visual quality of a very popular TV show that was…
* [Toward A Practical Perceptual Video