Awesome Video Awesome

Contents

Introduction

What's video?

  • A short history of video coding - Video coding is an essential component of video streaming, digital TV, video chat and many other technologies. This presentation, an invited lecture to the US …
  • Eyevinn/streaming-onboarding - New to streaming and don't know where to start? This is the place for you! - Eyevinn/streaming-onboarding
  • Video Streaming Cheatsheet - The Video Streaming Cheatsheet is a double sided page, suitable for printing, that contains common terminology used in the video streaming industry in a quick reference format
  • leandromoreira/digital_video_introduction - A hands-on introduction to video technology: image, video, codec (av1, vp9, h265) and more (ffmpeg encoding). - leandromoreira/digital_video_introduction

Learning

An awesome list of learning video streaming resources.

Books

Books on video streaming. NOTE: Books published more than 4-5 years ago may not be up to date on latest streaming tech. back to top

Reading

A list of reading articles, blogs, and newsletters for video streaming. back to top

Talks Presentations Podcasts

Conference talks and pdf presentations and podcasts on streaming video . back to top

HLS

HLS tools, libraries, and resources.

DASH

DASH tools, libraries, and resources.

Kubernetes

Reading & resources, relative to the world of kubernetes leveraged for video devs.

Encoding

Encoding tools, libraries, and resources.

AV1

AV1 libraries, tools, examples, and resources. back to top

HEVC

HEVC (h265) libraries, tools, examples, and resources. back to top

VP9

VP9 libraries, tools, examples, and resources. back to top

Transport

Transport protocols, libraries, and resources.

RIST

Reliable Internet Stream Transport protocol back 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.

RTMP

Real-Time Messaging Protocol back to top

SRT

Secure Reliable Transport protocol back to top

Streaming Server and Storage

*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...
  • Red5/red5-server - Red5 Server core.
  • 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
  • ireader/media-server - RTSP/RTP/RTMP/FLV/HLS/MPEG-TS/MPEG-PS/MPEG-DASH/MP4/fMP4 - ireader/media-server
  • muxinc/stream.new - The repo for https://stream.new.
  • openfun/marsha - :clapper: A self-hosted opensource LTI video provider - openfun/marsha
  • openstack/swift - OpenStack Storage (Swift).
  • 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
  • streamaserver/streama - Self hosted streaming media server. https://docs.streama-project.com/ - streamaserver/streama

Specs and Standards

Latest offical specs and standards related to video streaming.

Industry Forums

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.
  • DASH Industry Forum | Catalyzing the adoption of MPEG-DASH -
  • 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

Players

Client players, libraries, tools, and examples.

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...
  • videolan/vlc-android - VLC for Android, Android TV and ChromeOS.

Chromecast

Chromecast app tools, libraries,and examples. back to top

iOS tvOS

AVPlayer, playback tools, sdks, and examples. back to top

Roku

Roku app tools, libraries,and examples. back to top

Smart TVs

back to top

Web

Web browser player, tools, sdks, and examples. back to top

  • Chimeejs/chimee - a video player framework aims to bring wonderful experience on browser - Chimeejs/chimee
  • Dash JavaScript Player -
  • 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
  • Eyevinn/channel-engine-multiview - A multiview frontend for Eyevinn Channel Engine.
  • Eyevinn/docker-html5player - A Docker containerized HTML5 player based on Shaka Player - Eyevinn/docker-html5player
  • Eyevinn/eyevinn-player - Throttled video player to test video streams.
  • 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 - A collection of video players with vaguely simple GUIs for video engineers. - GeneticGenesis/phils-players
  • MoePlayer/DPlayer - :lollipop: Wow, such a lovely HTML5 danmaku video player - MoePlayer/DPlayer
  • bbc/bigscreen-player - Simplified media playback for bigscreen devices.
  • 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
  • foxford/react-hls - React component for HLS player.
  • 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 - A simple HTML5, YouTube and Vimeo player.
  • video-dev/hls.js - JavaScript HLS client using Media Source Extension - video-dev/hls.js
  • videogular/videogular - The HTML5 video player for AngularJS.
  • videojs/http-streaming - HLS, DASH, and future HTTP streaming protocols library for video.js - videojs/http-streaming
  • videojs/video.js - Video.js - open source HTML5 & Flash video player.
  • vimond/replay - A React video player facilitating adaptive stream playback with custom UI and a React-friendly API. - vimond/replay

FFMPEG

FFMPEG libraries, configs, tools, and examples.

Audio

Audio libraries, tools, and examples.

Subtitles and Captions

Subtitling & Closed Caption libraries, tools, and examples.

Ads

Ads in streaming video related libraries, tools, examples, and resources.

Vendors

Video indurstry's various vendors products and documentations.

Dolby

Dolby specs, libraries, examples, and tools. back to top

QoE

QoE & Analytics tools, libraries, and resources.

Tools

Streaming video tools and resources to make life easier.

DRM

DRM tools, documentations, and resources.

Testing

Video streaming testing tools and helpers.

Community

Video developers community, slack groups, conferences, meetups

Conferences

back to top

Meet ups

back to top

Slack Groups

back to top

CDN

Last mile tools, documentations, and resources.

  • 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.
  • Amazon S3 | Fastly Help Guides -
  • Edge Computing with Fastly CDN and Varnish VCL for Authenticated Requests - Endertech - A brief explanation of how to use Fastly CDN and Varnish with authenticated requests to offload static file serving from the origin and edge caching.
  • How to use DASH and HLS Adaptive Streaming with AWS S3 and Cloudfront - Bitmovin integrates DASH and HLS adaptive streaming seamlessly into your AWS workflows. The Bitmovin encoding service could be configured to use an AWS S3 bucket as input and output for your DASH a...
  • 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.
  • OTT Content Delivery– CDN Alternatives - Introduction

HDR10, HLG, Dolby Vision

HDR tools, learning, documentations, and resources.

Contributing

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