Skip to content

A curated list of awesome video frameworks, libraries, specifications and software.

License

Notifications You must be signed in to change notification settings

sitkevij/awesome-video

Repository files navigation

Awesome Video Resources

build Awesome

A curated list of awesome video frameworks, libraries, specifications and software.

Contributing

Please take a look at the contribution guidelines first. Thanks to all contributors.

Analysis tools

  • bitrate-plotter - Plots a graph showing the bitrate every second or the bitrate of every GOP.
  • MpegTsAnalyzer - Analyzer of MPEG2 Transport Stream.
  • QCtools - Quality Control Tools for Video Preservation, helps users to analyze and understand digitized video files.
  • tsduck - MPEG Transport Stream Toolkit.
  • tstools - Display PCR, DTS, PTS, bitrate, jitter of a mpeg TS.
  • videobench - VMAF PSNR Bitrate Analyzer.
  • vivict - In-browser tool for subjective comparison of the visual quality of different encodings.
  • VTCLab Media Analyzer - In-browser tool that helps to analyze the internal structure of MPEG-TS and MP4/MOV files.
  • YUView - The Free and Open Source Cross Platform YUV Viewer with an advanced analytics toolset.
  • plot-av - Plot Audio/Video streams for better insights.

AR/VR/360

  • ARVideoKit - Capture & record ARKit videos, photos, live photos, and GIFs.
  • kaleidoscope - An embeddable, lightweight 360º video/image viewer.

Captions and Subtitles

  • vtt.js - A JavaScript implementation of the WebVTT specification.
  • WebVTT - WebVTT W3C 'Web Video Text Tracks Format' specification.

Conferences

  • Demuxed - The conference and community for developers working with video.

Conferencing

  • Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.

Learning Resources

Players

  • bigscreen-player - Simplify video and audio playback on a wide range of 'bigscreen' devices (TVs, set-top boxes, games consoles, and streaming devices).
  • chimee - A video player framework aims to bring wonderful experience on browser.
  • clappr - An extensible media player for the web.
  • epic-video-comparator - Javascript library which implements a video comparator component: two overlaped and synchronized video players each one playing an independent source.
  • ExoPlayer - An extensible media player for Android.
  • hls.js - JavaScript HLS client using Media Source Extension (MSE).
  • dash.js - JavaScript DASH client using Media Source Extension (MSE).
  • iina - The modern video player for macOS.
  • ijkplayer - Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
  • indigo-player - Highly extensible, modern, JavaScript video player. Handles MPEG-Dash / HLS / MPEG-4 and is built on top of the HTML5 video element.
  • mobileplayer-ios - A powerful and completely customizable media player for iOS.
  • mpv - Video player based on MPlayer/mplayer2.
  • ngx-videogular - The HTML5 video player for Angular 2 and successor to videogular2.
  • openplayerjs - Lightweight HTML5 video/audio player with smooth controls and ability to play VAST/VPAID/VMAP ads.
  • plyr - A simple HTML5, YouTube and Vimeo player.
  • replay - A React video player facilitating adaptive stream playback with custom UI and a React-friendly API.
  • shaka-player - JavaScript player library / DASH client / MSE-EME player.
  • Video.js - open source HTML5 & Flash video player.
  • vlc - VLC media player.

Language and platform specific libraries

iOS Swift

  • FFmpeg-iOS-build - Shell scripts to build FFmpeg for iOS and tvOS.
  • PBJVision - iOS Media Capture – features touch-to-record video, slow motion, and photography.

Javascript

  • channel-engine - VOD to Live Engine Library.
  • jMuxer - A simple javascript mp4 muxer for non-standard streaming communications protocol.
  • ffmpeg.js - Javascript FFmpeg bindings, port of FFmpeg with Emscripten.
  • remotion - Create Videos programmatically with React
  • Revideo - A Typescript framework for programmatic video creation & editing.

Python

  • atvk - Audio/Video toolkit for Python.
  • brave - Basic Real-time AV Editor - allowing you to preview, mix, and route live audio and video streams on the cloud.
  • dash-live-source-simulator - DASH live source simulator providing reference live content.
  • django-video-encoding - django-video-encoding helps to convert your videos into different formats and resolutions.
  • ffmpeg-python - Python bindings for FFmpeg - with complex filtering support.
  • ffmpy - Pythonic interface for FFmpeg/FFprobe command line.
  • hls-analyzer - Analyzer for HTTP Live Streams (HLS) content.
  • hls-relay - Script to pull HLS stream from one origin and push to another origin.
  • hls-to-dash - Open source packager and tools to rewrap live HLS to live MPEG DASH.
  • m3u8 - Python m3u8 Parser for HTTP Live Streaming (HLS) Transmissions.
  • moviepy - Video editing with Python.
  • objective_perceptual_analysis - Objective Perceptual Analysis, Compression Karma Predictor.
  • PyAV - Pythonic bindings for FFmpeg's libraries.
  • pycaption - Python module to read/write popular video caption formats.
  • pychromecast - Library for Python 3 to communicate with the Google Chromecast.
  • PyLivestream - Simple cross-platform FFmpeg-based live streaming to YouTube, Periscope, Twitch, Facebook Live and more.
  • python-video-converter - Python Video Converter (ffmpeg wrapper).
  • vidgear - High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features.
  • vod-to-live - A python library to generate Live HLS from VOD.
  • webm.py - Encode WebM videos.

Go

  • gmf - Go bindings for FFmpeg av* libraries.
  • goffmpeg - FFMPEG wrapper written in GO.
  • go-astisub - Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.).
  • go-astits - Parse and demux MPEG Transport Streams (.ts) natively in GO.
  • goav - Comphrensive Go bindings for FFmpeg.
  • gst - Go bindings for GStreamer.
  • libgosubs - Subtitle format support for go. Supports .srt, .ttml, and .ass.
  • libvlc-go - Go bindings for libVLC 2.X/3.X/4.X and high-level media player interface.
  • v4l - Video capture library for Linux, written in Go.
  • snickers - An open source alternative to the video cloud encoding services.

Rust

  • mp4parse-rust - Parser for ISO Base Media Format aka video/mp4 written in Rust.

Metadata

  • mpi - Rust-based MPEG-4 box inspector with TOML output.
  • photon - Java implementation of the SMPTE standard, Interoperable Master Format (IMF).

Media Processing

  • Av1an - About Cross-platform command-line AV1 / VP9 / HEVC / H264 / VVC encoding framework with per scene quality encoding.
  • Bento4 - Full-featured MP4 format and MPEG DASH library and tools.
  • easyVmaf -Python script to easily compute VMAF using FFmpeg. It allows to deinterlace, scale and sync Ref and Distorted video automatically.
  • FFmpeg - A complete, cross-platform solution to record, convert and stream audio and video.
  • ffmpeg-explorer - Interactive FFMPEG Command Generator.
  • Flowblade - Video editor for Linux.
  • fluster - Testing framework for decoders conformance.
  • gifify - Convert any video file to an optimized animated GIF.
  • hlstools - Tools for analyzing and processing hls streams.
  • lossless-cut - Cross platform GUI tool for lossless trimming / cutting of video and audio files using ffmpeg.
  • MLT - MLT Multimedia Framework.
  • moviepy - Video editing with Python.
  • multistreamer - A webapp for publishing video to multiple streaming services at once.
  • nginx-rtmp-module - NGINX-based Media Streaming Server.
  • nginx-vod-module - NGINX-based MP4 Repackager.
  • ott-packager - OTT streaming packager supporting ABR streaming for DASH and HLS.
  • PHP-FFmpeg-video-streaming - Package media content for online streaming(DASH and HLS) using FFmpeg.
  • QtAV - A cross-platform multimedia framework based on Qt and FFmpeg.
  • qtlmovie - A specialized Qt frontend for FFmpeg and other free media tools.
  • shaka-packager - A media packaging and development framework for VOD and Live DASH and HLS applications, supporting Common Encryption for Widevine and other DRM Systems.
  • SVT-AV1 - Scalable Video Technology AV1 encoder.
  • SVT-HEVC - Scalable Video Technology HEVC encoder.
  • SVT-VP9 - Scalable Video Technology VP9 encoder.
  • vpp - Video++, a C++14 high performance video and image processing library.
  • video-transcoding-api - Agnostic API to transcode media assets across different cloud services.
  • video-thumbnail-generator - Generate thumbnail sprites from videos.

Releases

No releases published

Packages

No packages published

Languages