A short history of video coding - Video coding is an essential component of video streaming, digital TV, video chat and many other technologies. This presentation, an invited lecture to the US …
Eyevinn/streaming-onboarding - New to streaming and don't know where to start? This is the place for you! - Eyevinn/streaming-onboarding
Video Streaming Cheatsheet - The Video Streaming Cheatsheet is a double sided page, suitable for printing, that contains common terminology used in the video streaming industry in a quick reference format
leandromoreira/digital_video_introduction - A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding). - leandromoreira/digital_video_introduction
Learning
An awesome list of learning video streaming resources.
FFmpeg and how to use it wrong - I’ve been in the streaming media industry since 2008 and have seen a lot of misinformation regarding both FFmpeg and libx264. In this post I hope to help shed some light on what does and does…
Guide to Mobile Video Streaming with HLS - HTTP Live Streaming, also known as HLS, is the most common format used today for streaming video. If you're building a video streaming application today, you should probably use HLS. Apple created the HLS standard in 2009, and it is the required streaming format for iOS devices. Since then, Android
Server-less Video Backend - In this blog post by Jonas Rydholm Birmé he describes how a completely server-less video backend on AWS would look like.
The structure of an MPEG-DASH MPD - The MPEG-DASH Media Presentation Description (MPD) is an XML document containing information about media segments, their relationships and information necessary to choose between them, and other metadata that may be needed by clients. In this post, I describe the most important pieces of the MPD, starting from the top level (Periods) and going to the bottom (Segments).
leandromoreira/video-containers-debugging-tools - A set of command lines to debug video streaming files like mp4 (MPEG-4 Part 14), ts (MPEG-2 Part 1), fmp4 in Dash, HLS, or MSS, with or without DRM. - leandromoreira/video-containers-debugging-tools
matmoi/create-DASH-HLS - A tutorial to generate fMp4 files compatible with dash and HLS - matmoi/create-DASH-HLS
matmoi/create-DASH-HLS - A tutorial to generate fMp4 files compatible with dash and HLS - matmoi/create-DASH-HLS
mofo7777/Stackoverflow - All source codes I've provided on stackoverflow as an answer, usually under tag ms-media-foundation. Mediafoundation, audio, video, 3D, decoder, encoder. - mofo7777/Stackoverflow
About Frame Rates or Why 29.97? - I recently remembered this popular post from my old blog. Since that blog no longer exists, I thought I would repost it here. Since I wrote this post about a decade ago, many others of done a much better job describing this in detail. I highly recommend the following two videos by Alec Watson fro
Demystifying HTML5 Video Player - In this post we will go under the hood of a HTML video player for video streaming. With the exception of Apple and their browser Safari, no…
FFmpeg Threads Command: How it Affects Quality and Performance - So, I received an email from an acquaintance that read, “I was curious if there is actually any benefit to a “threads=” type custom command in x264. Specifically many streamers are buying 8 core/16 thread CPUs to encode as a standalone client capturing information from a video capture device.” I had an article on FFmpeg…
Inside MPEG's Ambitious Plan to Launch 3 Video Codecs in 2020 - The pace of innovation is getting faster and the demands on video codecs are getting greater. MPEG's three-part plan answers questions of royalties, licensing, and computational efficiency. Meet VVC, MPEG-5 Part 1 (EVC), and MPEG-5 Part 2 (LCEVC).
Pushing video bitrate to the limit - When you subscribe to a VOD service, you expect the best visual quality possible. For our customers across Sub-Saharan Africa, it’s no different...
Quantifying packaging overhead - 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”
Saving on Encoding and Streaming: Deploy Capped CRF – Streaming Learning Center - This is the second in a five-part series on how to cut your encoding and streaming costs. The first article was Saving on Encoding: Adjust Encoding Configuration to Increase Capacity. Article summary: Capped CRF encoding is a single-pass encoding method that can save encoding costs compared to two-pass VBR. Capped CRF is also a simple per-title…
Streaming Live From the Battlefield: Military Video in 2019 - Metadata and low-latency video create a tactical advantage in intelligence-gathering and decision making. Discover why HEVC is gaining momentum in the armed forces, and Android is preferred over iOS.
The H.264 Sequence Parameter Set - [vc_row][vc_column][vc_column_text]This is a follow-up to my World’s Smallest H.264 Encoder post. I’ve received several emails asking about precise details of things in two entities in the H.264 bitstream: the Sequence Parameter Set (SPS) and the Picture Parameter Set (PPS). Both entities contain information that an H.264 decoder needs to decode the video data, for example,…
Demuxed | Heavybit - Demuxed is a podcast made for and by engineers working with video. Brought to you by Heavybit.
From Sys Admin to Netflix SRE - Talk by Jonah Horowitz, Albert Tobey What does it take to be a Netflix SRE? With tens of thousands of Linux instances in a distributed system architecture, a...
HLS and Fragmented MP4 - At WWDC 2016, Apple announced support for fragmented MP4 (fMP4) as an alternative to MPEG-TS, which prior to their announcement was the only supported format. So why use fragmented MP4 files? Well,…
SoulMelody/hls-get - An asynchronous terminal-based hls video stream (m3u8) downloader & combiner, with AES-128 decryption support. - SoulMelody/hls-get
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
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
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 - A swift 3 implementation for downloading HLS content and play it back using native AVPlayer - dhairav/URLSessionHLSDownload
fcanas/HLSCore - A collection of Swift packages for working with HLS - fcanas/HLSCore
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
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...
krad/morsel - 📇 Swift library for creating HLS playlists and fragmented mp4 files. Works on Linux and iOS. - krad/morsel
lcy0321/m3u8-downloader - Download the ts files according to the given m3u8 file. - lcy0321/m3u8-downloader
majamee/arch-ffmpeg-gpac - A ready-prepared video transcoding pipeline to create DASH/ HLS compatible video files & playlists - majamee/arch-ffmpeg-gpac
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
nmrony/hlsdownloader-cli - Downloads HLS Playlist file and TS chunks using Terminal - nmrony/hlsdownloader-cli
openHPI/nginx-hls-analyzer - Fork of fmsloganalyzer to adapt it for HLS streaming analyzes with nginx - openHPI/nginx-hls-analyzer
osklil/hls-fetch - Download and decrypt videos served by the HTTP Live Streaming (HLS) protocol. - osklil/hls-fetch
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 - Download Crypted HLS with server key and play video as local playing on iOS device. - qi-shun-wang/HLSDownloader
r-plus/HLSion - HTTP Live Streaming (HLS) download manager to offline playback. - r-plus/HLSion
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/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 - A collection of tools for analyzing, handling, and creating media and media containers - Dash-Industry-Forum/media-tools
ClearSlide/Fantastic-Transcoder - Fantastic transcoder is a video transcoder which utilizes massively parallel compute to achieve ludicrous conversion speeds. - ClearSlide/Fantastic-Transcoder
Ponyboy47/TranscodeVideo - A Swift wrapper around the transcode-video command - Ponyboy47/TranscodeVideo
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
davidbt/djmediastreamer - A Django project that allows you to catalog and stream your videos (using FFmpeg to add subtitles and transcode). - davidbt/djmediastreamer
escaped/django-video-encoding - django-video-encoding helps to convert your videos into different formats and resolutions. - escaped/django-video-encoding
fluendo/fluster - Testing framework for decoders conformance.
i4tv/gstreamill - encoder with hls output based on gstreamer.
kwodzicki/video_utils - Python package containing many tools useful for converting video files to h264/h265 encoded MP4 or MKV files - kwodzicki/video_utils
monking/transcode-web-video - Quickly transcode a source video to MP4, OGV, and WebM, with scale, bitrate, and screengrab options. - monking/transcode-web-video
natsuite/NatReader-API - NatReader is a cross-platform video decoding API designed for transcoding applications. - natsuite/NatReader-API
ptrandev/swift-encoder - A fire-and-forget shell script that encodes multiple video and audio files with ffmpeg. - ptrandev/swift-encoder
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 - A nodejs encoding system based on ffmpeg and configured to write HLS streaming files to S3 - realeyes-media/demo-encoder
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 - video transcode based on ffmpeg, support H264/HEVC and more. - sambios/ffmpeg_transcoder
voc/voctomix - Full-HD Software Live-Video-Mixer in python.
vt-vl-lab/FGVC - [ECCV 2020] Flow-edge Guided Video Completion .
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
Promising Initial Results with AV1 Testing - Streaming Learning Center - [vc_row margin_top=”30″][vc_column][vc_column_text]I began testing AV1 early this week. Briefly, my tests involve 16 ten-second clips in four genres (movies, sports, animations, gaming) and an “other” category (music video, nature video). I’ve completed the first set of tests with FFmpeg 4.3, benchmarking x264, x265, and the latest version of the Alliance for Open Media AV1 codec,…
Apple Got It Wrong: Encoding Specs for HEVC in HLS - Adding HEVC to your HLS streams is looking like a no brainer, but if you decide to do so, you may not want to take Apple's HEVC encoding recommendations verbatim. You'll deliver noticeably higher quality video if you follow the advice detailed below.
Guide to HEVC/H.265 Encoding and Playback - HEVC's main advantage over H.264 is that it offers roughly double the compression ratio for the same quality. This means that a video file encoded with HEVC can occupy half the space of its H.264 equivalent with no noticeable change in quality, or the same amount of space with improved quality.
HEVC/H.265 Video Coding Standard: Part 1 - Dr. Dan Grois, Benjamin Bross, Dr. Detlev Marpe and Karsten Sühring HEVC/H.265 Video Coding Standart including the Range Extensions Scalable Extensions and M...
HEVC/H.265 Video Coding Standard: Part 2 - Dr. Dan Grois, Benjamin Bross, Dr. Detlev Marpe and Karsten Sühring HEVC/H.265 Video Coding Standart including the Range Extensions Scalable Extensions and M...
The Market Significance of Apple's Adopting HEVC: Here's What I Think - At the recent World Wide Developer's Conference (WWDC), Apple announced that the next versions of Safari, iOS, and tvOS will support HLS with HEVC encoded video. This puts Apple firmly in the HEVC camp, with the Alliance for Open Media camp (Amazon, Cisco, Intel, Google, Microsoft, Mozilla, Netflix,
amaurypm/transcode2H265 - Unattended video transcoder to H265 and ACC codecs, in MKV containers. - amaurypm/transcode2H265
VP9 libraries, tools, examples, and resources.back to top
Transport
Transport protocols, libraries, and resources.
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…
RIST
Reliable Internet Stream Transport protocolback to top
RIST Forum - The RIST forum manage the Reliable Internet Stream Transport (RIST), for transporting live video over unmanaged networks.
librist - A library that can be used to easily add the RIST protocol to your application.
*Packagers, origins (s3, gcs), and data movement for linear and finite playback. *
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...
Roverr/rtsp-stream - Out of box solution for RTSP - HLS live stream transcoding. Makes RTSP easy to play in browsers. - Roverr/rtsp-stream
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
haiwen/seafile - High performance file syncing and sharing, with also Markdown WYSIWYG editing, Wiki, file label and other knowledge management features. - haiwen/seafile
ossrs/srs - SRS is a simple live streaming cluster, a simple joy. - ossrs/srs
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...
rclone/rclone - rsync for cloud storage - Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfiles, Google Cloud Storage, Yandex Files - rclone/rclone
Industry forums relative to video streaming.back to top
CTA | WAVE Project - The WAVE (Web Application Video Ecosystem) Project, hosted by the Consumer Technology Association (CTA)®, aims to improve how internet-delivered commercial video is handled on consumer electronics devices and to make it easier for content creators to distribute video to those devices.
Home | Streaming Video Alliance - Making Streaming Video Better Streaming video is exploding in popularity. Consumers are watching more video online across a myriad of devices. But, the streaming experiences, across providers, can be wildly different from each other which ultimately hurts adoption. The problem is a lack of colla ...
MPEG
*MPEG meetings, standards, and resources. *
back to top
MPEG: What Happened? - At the end of last month, MPEG co-founder Leonardo Chiariglione announced the 'MPEG is closed.' That's not quite true, but it is undergoing a reorganization. So what does that mean for the organization and the new codec standards it is bringing out this year?
Building native video Pins - 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…
IvanoBilenchi/Adaptive-Video-Player - HLS player for iOS that supports manual selection for the quality of adaptive streams - IvanoBilenchi/Adaptive-Video-Player
adrg/libvlc-go - Go bindings for libVLC and high-level media player interface.
davidAgo4g/VideoPlayer-iOS - A library based on FFMPEG to play video files on iOS using OpenGLES and AudioQueue. Build with theos - davidAgo4g/VideoPlayer-iOS
elements/packages/mux-player - <mux-player> is the official Mux-flavored video player web component. The player UI is built on Media Chrome and <mux-video> drives the core video logic used to play Mux Video content.
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
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
vitalets/awesome-smart-tv - :zap:A curated list of awesome resources for building Smart TV apps - vitalets/awesome-smart-tv
Android
Android and fireTV tools, sdks, and examples.back to top
google/ExoPlayer - ExoPlayer is an application level media player for Android.
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...
googlecast/CastReceiver - Reference Receiver: CastReceiver shows how to develop a fully Cast Design Checklist compliant receiver with additional features. - googlecast/CastReceiver
iOS tvOS
AVPlayer, playback tools, sdks, and examples.back to top
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
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
kodlian/TVVLCPlayer - TVVLCPlayer lets you integrate easily a powerfull video player with playback control views to your tvOS apps. - kodlian/TVVLCPlayer
libobjc/SGPlayer - A powerful media play framework for iOS, macOS, and tvOS. - libobjc/SGPlayer
wxxsw/GSPlayer - ⏯ Video player, support for caching, preload, fullscreen transition and custom control view. 视频播放器,支持边下边播、预加载、全屏转场和自定义控制层 - wxxsw/GSPlayer
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 - Based on FFEngine framework, a rtmp video player for apple iOS devices. - xiewei-wayne/rtmp-video-player-for-ios
Roku
Roku app tools, libraries,and examples.back to top
Audio and Video Support - Roku provides the simplest way to stream entertainment to your TV. On your terms. With thousands of available channels to choose from.
Playing Video Examples - Roku provides the simplest way to stream entertainment to your TV. On your terms. With thousands of available channels to choose from.
Roku - Roku provides the simplest way to stream entertainment to your TV. On your terms. With thousands of available channels to choose from.
Video Node Docs - Roku provides the simplest way to stream entertainment to your TV. On your terms. With thousands of available channels to choose from.
karimkawambwa/roku-framework - Roku app framework to make app creation easier and structured. Under construction - karimkawambwa/roku-framework
karimkawambwa/roku-framework-example - This is a project to show how the boku-framework by Karim Kawambwa is used - karimkawambwa/roku-framework-example
nod/rokumote - osx app for controlling your roku because sometimes your kids lose the remote - nod/rokumote
rkoshak/sensorReporter - A python based service that receives sensor inputs and publishes them over REST (should work with any API but mainly tested with openHAB) or MQTT. It can also receive commands and perform an action...
bytedance/xgplayer - A HTML5 video player with a parser that saves traffic - bytedance/xgplayer
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
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
FFmpeg/FFV1 - The FFV1 lossless video codec specification.
FFmpeg/FFmpeg - Mirror of git://source.ffmpeg.org/ffmpeg.git.
FallingSnow/h265ize - A node utility utilizing ffmpeg to encode videos with the hevc codec. - FallingSnow/h265ize
Generate MPEG-TS from file with ffmpeg - 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…
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))-1Ktrunc(ld(1)/1K)’,\ drawtext=fontfile=…
Understanding Rate Control Modes (x264, x265, vpx) - What is “rate control”? It’s what a video encoder does when it decides how many bits to spend for a given frame. The goal of (lossy) video encoding is to sav...
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...
bcoudurier/FFmbc - FFmpeg customized for broadcast and professional usage - bcoudurier/FFmbc
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
cash2one/VideoTranscoding-Backend - This application transcode a video that you send on all formats what you want and diferent resolutions. - cash2one/VideoTranscoding-Backend
dschere/industrial-ffmpeg - A high level transcoder using ffmpeg that in addition to transcoding provides real time stats, detection of bad video, integration with nginx for on demand video - dschere/industrial-ffmpeg
ffmprovisr - Cookbook of commonly used FFmpeg recipes with descriptions of how each command works and how to modify it to fit your needs
git-developer/vaapi-video-converter - A docker-based video converter that uses VAAPI-compatible hardware for transcoding - git-developer/vaapi-video-converter
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
markus-perl/ffmpeg-build-script - The FFmpeg build script provides an easy way to build a static FFmpeg on OSX and Linux with non-free codecs included. - markus-perl/ffmpeg-build-script
rdp/ffmpeg-windows-build-helpers - Helper script for cross compiling some media tools for windows, like customizable ffmpeg.exe (with or without non-free components, etc), and some other bonuses like mplayer, mp4box, mxf, etc. - rdp...
scivision/PyLivestream - Pure Python FFmpeg-based live video / audio streaming to YouTube, Facebook, Periscope, Twitch, and more - scivision/PyLivestream
EBU R128 Introduction - Florian Camerer - Florian Camerer gives an introduction to the European Broadcasting Union's R128 Broadcast Standard and speaks in general about perceived loudness, peak norma...
How to Set Audio Levels for Video - Bad sound can easily ruin good footage. Use these tips when it comes time to set audio levels for video and film projects.
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...
Web Video Text Tracks Format (WebVTT) - Web Video Text Tracks Format (WebVTT) is a format for displaying timed text tracks (such as subtitles or captions) using the track element.
abhirooptalasila/AutoSub - AutoSub is a CLI application to generate subtitle file (.srt) for any video file using Mozilla DeepSpeech - abhirooptalasila/AutoSub
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...
apm1467/videocr - Extract hardcoded subtitles from videos using machine learning - apm1467/videocr
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 - Extracts per-sentence subtitles + audio from a subtitle file + video file. - cessen/subs_extract
federicocalendino/pysub-parser - Utility to extract the text and timestamps of a subtitle file (.srt, .ssa, .sub, .txt). - federicocalendino/pysub-parser
glut23/webvtt-py - Read, write and segment WebVTT caption files in Python.
Ads in streaming video related libraries, tools, examples, and resources.
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/vast-info - Parse a VAST or VMAP to show valuable information in a readable format - Eyevinn/vast-info
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...
Understanding Server-Side Dynamic Ad Insertion - In this post we’re explaining the principles behind Server-Side Dynamic Ad Insertion technology. If you are already familiar with video…
Dolby specs, libraries, examples, and tools.back to top
Dolby Vision for Content Creators | Dolby Laboratories - The Dolby Vision integrated workflow gives you the tools needed to efficiently create wide color gamut and high dynamic range content and ensures that the look you create in the color suite stays true when experienced across across a multitude of devices. With Dolby Vision high dynamic range imaging, you get bolder highlights and incredible contrast. That means greater sharpness, depth, and more detailed shadows to expand your storytelling possibilities like never before.
Collection of VMAF Resources - A colleague asked for some resources relating to VMAF. Rather than answer in an email I thought I would create a post around it. Some of these are from Netflix, most from me (Jan Ozer). I’ve broken the items into three groups; Computing VMAF, Using VMAF, and About VMAF. I hope you find this collection useful.…
Netflix/vmaf - Perceptual video quality assessment based on multi-method fusion. - Netflix/vmaf
QCTools Documentation - 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 - 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 - 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
VMAF: The Journey Continues - by Zhi Li, Christos Bampis, Julie Novak, Anne Aaron, Kyle Swanson, Anush Moorthy and Jan De Cock
VQEG Tools and Subjective Labs Setup - Providing the video quality research community with a wide variety of software tools and guidance in order to facilitate research.
Video Quality Assessment - In Eyevinn’s initiative to share our knowledge around quality we continue with addressing video quality assessment; from both a subjective…
cta-wave/R4WG20-QoE-Metrics - Issue tracking repository for the R4-Wg20 QoE Initiative - cta-wave/R4WG20-QoE-Metrics
gdavila/easyVmaf - Python script to easily compute VMAF using FFmpeg. It allows to deinterlace, scale and sync Ref and Distorted video automatically - gdavila/easyVmaf
Tools
Streaming video tools and resources to make life easier.
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
Eyevinn/docker-jit-capture - A Docker container for an open source Just-In-Time Capture Origin - Eyevinn/docker-jit-capture
Eyevinn/docker-serve - A simple Python based HTTP server that sets CORS allow headers. Useful for streaming from files on local computer - Eyevinn/docker-serve
Eyevinn/fmp4-js - A Javascript library to parse ISO Base Media File Format (MPEG-4 Part 12) - Eyevinn/fmp4-js
Eyevinn/pseudo-live-playout - Contribute to Eyevinn/pseudo-live-playout development by creating an account on GitHub.
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...
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
MediaArea/MediaInfo - Convenient unified display of the most relevant technical and tag data for video and audio files. - MediaArea/MediaInfo
Open Broadcaster Software | OBS - 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.
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.
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...
coopernurse/nginx-s3-proxy - nginx compiled with aws-auth support, suitable for S3 reverse proxy usage - coopernurse/nginx-s3-proxy
ebu/content-manager - The Content Manager is a visual production tool which is able to generate on the fly visualisation for DAB slideshow and RadioVIS. .NET framework based, it is developed in C# and is distributed und...
egg-bread/hls-to-mp4 - Download HLS videos as MP4 (WebVTT for caption download optional) - egg-bread/hls-to-mp4
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
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...
Binary to base64: Convert between bytes and base64 — Cryptii - Base64 encoding schemes are used when binary data needs to be stored or transferred as textual data. Therefore 64 characters are chosen that are both members of a subset common to most encodings (ASCII), and also printable.
CrackerCat/video_decrypter - Decrypt video from a streaming site with MPEG-DASH Widevine DRM encryption. - CrackerCat/video_decrypter
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 […]
Deploying KeyOS with AWS Elemental Media Services - In this post we provide an in-depth first party overview of the complex integration between the KeyOS Platform and the Elemental Media Services via the SPEKE API.
HEVC DRM Market Update - Since time eternal, the streaming industry has toiled with and extolled the virtues of CODECs and their key enablement of the entire digital video experience. Now comes the latest candy in the increasingly large bowl, H.265 (MPEG-H Part 2) or as it’s more commonly known. HEVC.
How to Protect Your Content With DRM - Lock it down. If you're streaming proprietary or premium online video, it's time to take the step up to true digital rights management protection. Here's how to get started.
Securing OTT Content — DRM - Written by: Boris Asadanin, Streaming Media Consultant and Partner at Eyevinn Technology
The Hitchhiker's Guide to DRM - A gentle guide to the world of Digital Rights Management. It includes a technology overview of AES, EME, CDM, CENC, Keys, and then explores popular DRM technologies such as Google Widevine, Apple FairPlay, Microsoft PlayReady, and finally, Multi-DRM.
TheDRMBlog | CENC - CENC | The DRM Blog - Your New Official Source for Everything DRM
AWS CloudFront Live failover - 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 - To use AWS Media Services with CloudFront to deliver live content to a global audience, follow the guidance included in this section.
Lambda Edge Tutorial - This tutorial shows you how to get started with Lambda@Edge by helping you create and add a sample Node.js function that runs in CloudFront. The example that we walk through adds HTTP security headers to a response, which can improve security and privacy for a website. (That said, you don’t need a website for this walkthrough; we simply add security headers to a response when CloudFront retrieves a file.)
Lambda@Edge Design Best Practices | Amazon Web Services - Lambda@Edge transforms CloudFront into a highly programmable CDN with serverless compute capabilities closer to your viewers around the world. This blog is the first in a series that explains best practices associated with using Lambda@Edge functions to customize your content delivery.
Please take a quick look at the contribution guidelines first. If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you to all contributors; you rock!!
Open Source Agenda is not affiliated with "Awesome Video" Project. README Source: krzemienski/awesome-video