Giter VIP home page Giter VIP logo

krzemienski / awesome-video Goto Github PK

View Code? Open in Web Editor NEW
1.5K 57.0 163.0 2.06 MB

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

Home Page: https://awesome.video

License: Creative Commons Zero v1.0 Universal

Ruby 0.09% JavaScript 0.02% Makefile 0.12% HTML 97.38% CSS 0.53% Python 1.86%
video player hls awesome-list dash encoding ffmpeg streaming hevc mp4

awesome-video's Introduction

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

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

awesome-video's People

Contributors

ablwr avatar allan-nava avatar aminamos avatar arturparkhisenko avatar carlanton avatar christianfeldmann avatar coderjun avatar dependabot[bot] avatar dheitmueller avatar futzu avatar gkatsev avatar kevleyski avatar krzemienski avatar mfkl avatar mgdm avatar mickel8 avatar ottverse avatar palemieux avatar pilotpirxie avatar podborski avatar radiokot avatar readmebot avatar robert-will-brown avatar slhck avatar soldiermoth avatar tiffsequence avatar torerikal avatar vtc-ivanb avatar wangyoucao577 avatar yscsandy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-video's Issues

Subtitle and closed caption link

Hi, this looks like it could be a really useful resource, thanks for making it!

Should be an easy issue to fix - the TOC link to Subtitles and Closed Captions doesn't work.

New Category Suggestions

Would like to add some links but before would like to recommend new categories so I can add them.

  1. Add a category for CMCD so I can add links to the spec and also to libraries and articles I've seen.
  2. Add a category for accessibility so I can roll captions, subtitles, and add some audio description links. I think it would be good to group them together.

I'd be happy to open a PR up with them in them but reading the contribution guidelines mentions recommending them via an issue.

Recategorization

So as the list now reaches close to 800 links I think its time to revisit how things are categorized! I would love any input and or thoughts based on the current list of categories.

My notes to date are:

  • ffmpeg and encoding tend to blend into each other a bit, probably cause ffmpeg is an encoder...
  • separate reading sub category per category
  • need to figure out how to make a "media" category for things like mp4 editing
  • language break down of resources?
  • server / storage was just my "doesnt really fit" in my other categories at the time. I think we can break out storage to its own, but there still is this concept of a full system thats not really a tool or an encoder
  • if a tool is an hls tool? but also transcoding based where does it live?
  • packaging should be its own category and maybe hls and dash and drm as its subcategories?
  • video procuction as its own category
  • broadcasting as its own categorized

Failing CI

Hi,
it looks like the CI is constantly failing and new versions of this website are not published :(

The README file in this repo has some bad links

The README file in this repo has some bad links

Status code [404:NotFound] - Link: https://bitbucket.org/multicoreware/x265/wiki/Home
Status code [404:NotFound] - Link: https://x265.readthedocs.io/en/default/
Status code [404:NotFound] - Link: https://github.com/masterjk/ios-avplayer-http-capture
Status code [404:NotFound] - Link: https://github.com/djstava/manifesto
Status code [404:NotFound] - Link: https://www.dolby.com/us/en/technologies/dolby-professional-loudness-solutions.pdf
Status code [404:NotFound] - Link: https://www.dolby.com/us/en/technologies/dolby-vision/dolby-vision-streams-within-the-http-live-streaming-format-v2.0.pdf
Status code [404:NotFound] - Link: https://www.smpte.org/sites/default/files/users/user27446/HDR%20SMPTE%20Presentation%20March%2021%2C%202017%20V2.compressed.pdf

This was found by an new experimental hobby project that I have just created: https://github.com/MrCull/GitHub-Repo-ReadMe-Dead-Link-Finder
If this has been in any way helpful then please consider giving the above Repo a Star.

Some links for the subtitles and closed captions list

Hi, I'm not sure what your policy is about adding new stuff, but here's some handyness for subtitles and captions, especially in the IMSC and EBU-TT spaces:

IMSC.js: https://github.com/sandflow/imscJS/
IMSC renderer: http://sandflow.com/imsc1proc/index.html
IMSC validator: https://apps.sandflow.com/imscV/
IRT/BaseX IMSC validator: https://subcheck.io/#/
IMSC Specification: https://www.w3.org/TR/ttml-imsc1.1/
EBU-TT Live Interoperability Toolkit: http://ebu.github.io/ebu-tt-live-toolkit/
IMSC 1.0.1 Text test content: https://github.com/w3c/IMSC-1.0.1_Text_TestContent/
IMSC 1.1 Text test content: https://github.com/w3c/IMSC-1.1_Text_TestContent/
IMSC 1.1 Image test content: https://github.com/w3c/IMSC-1.1_Image_TestContent/

Copying in @palemieux and @TairT for info.

Move PMD Tool From Dolby Vision to Dolby section

I see you've added AM Viewer to the Dolby section which is great. This is a viewer tool that requires a metadata authoring solution which is also on Github at PMD Tool. This is listed in the Dolby Vision section at the end but PMD Tool has nothing to do with Dolby Vision at the moment. Please can the PMD Tool entry be moved to be placed next to AM Viewer so it is clear these two go together. Thanks.

[Question] How to Protect Streaming Content from "Downloader"?

Hi @krzemienski:

I have an m3u8 manifest file that enables the general AES-128 protection. Basically, it follows the same guideline here (https://www.theoplayer.com/blog/content-protection-for-hls-with-aes-128-encryption).

However, I realize that a simple youtube-dl can easily download the whole stream files and merge them back to the mp4 file. Is there a way to protect content from Downloader? And in terms of stream protection, what would you recommend? I remember when I still worked at the same company with you, we used Dash stream and I remember it had a more sophisticated way to protect the stream files.

Introduction link not working for README.md and website

Hi,

Thank you for your work on this project!

I came across 1 tiny little issue that might not even worth bothering about:
The anchor tag of Introduction section is not working currently both at README.md and the static site.

I believe it's due to the mismatch of href and id.
The former one is #intro while the latter is #introduction.

I think this will be a trivial fix.
However I do not understand how the static site is generated so might not be able to help fix it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.