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
  • 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

MPEG

*MPEG meetings, standards, and resources. * back to top

  • MPEG About -
  • MPEG Meetings -
  • MPEG future -
  • 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?

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...

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.

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!!