Home
Softono

Awesome Video

Open source Shell
416
Stars
48
Forks
0
Issues
16
Watchers
3 months
Last Commit

 About Awesome Video

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

Platforms

Web Self-hosted

Languages

Shell

Links

Need Help Installing Awesome Video?

We provide expert installation service for this software. Our team will install, configure, and secure Awesome Video on your server. plans start at just $30.

Awesome Video

View on GitHub

Awesome Video Resources

build GitHub Repo stars GitHub forks 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.
  • plot-av - Plot Audio/Video streams for better insights.
  • 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.

AR/VR/360

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

Captions and Subtitles

  • Aegisub - Cross-platform advanced subtitle editor.
  • ccextractor - Tool to extract closed captions from video streams.
  • suba - Automatically sync VTT or SRT subtitles with video.
  • Subtitle Edit - Free and open source editor for video subtitles.
  • vtt.js - A JavaScript implementation of the WebVTT specification.
  • WebVTT - WebVTT W3C 'Web Video Text Tracks Format' specification.

Codecs and Encoders

  • aom - AV1 reference encoder and decoder from the Alliance for Open Media.
  • dav1d - Fast and small AV1 decoder written in assembly and C.
  • kvazaar - Open-source HEVC encoder.
  • libvpx - VP8/VP9 codec SDK.
  • openh264 - Open source H.264 codec.
  • rav1e - The fastest and safest AV1 encoder written in Rust.
  • x264 - Free software library for encoding H.264/AVC video streams.
  • x265 - Free software library for encoding H.265/HEVC video streams.

Conferences

  • Demuxed - The conference and community for developers working with video.
  • IBC - International Broadcasting Convention, annual trade show for media and entertainment.
  • Mile High Video - Conference focused on video streaming and encoding.
  • NAB Show - National Association of Broadcasters annual convention.

Conferencing

  • BigBlueButton - Open source web conferencing system for online learning.
  • Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
  • OpenVidu - Easy video calls in your web or mobile app.

Container Formats and Muxing

  • gpac - Modular multimedia framework for packaging, streaming and playback (includes MP4Box).
  • l-smash - MP4 muxer and demuxer library.
  • matroska - Open standard free container format for video and audio.
  • MKVToolNix - Set of tools to create, alter and inspect Matroska files.
  • mp4v2 - Library and tools to read, create, and modify MP4 files.

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.
  • dash.js - JavaScript DASH client using Media Source Extension (MSE).
  • 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).
  • 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

Android/Kotlin

  • android-gpuimage - Android filters based on OpenGL for image and video processing.
  • CameraX - Jetpack library for camera and video capture on Android.
  • FFmpegKit - FFmpeg for Android, iOS, Linux, macOS, tvOS, and Flutter.
  • LiTr - Lightweight video/audio transformation library for Android.
  • Media3 - Jetpack Media3 library including ExoPlayer for Android media playback.

C/C++

  • libav - Collection of libraries and tools to process multimedia content.
  • live555 - C++ libraries for multimedia streaming using open standard protocols.

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.
  • ffmpeg.js - Javascript FFmpeg bindings, port of FFmpeg with Emscripten.
  • jMuxer - A simple javascript mp4 muxer for non-standard streaming communications protocol.
  • 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.
  • 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.
  • goffmpeg - FFMPEG wrapper written in GO.
  • 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.
  • snickers - An open source alternative to the video cloud encoding services.
  • v4l - Video capture library for Linux, written in Go.

Rust

  • av-scenechange - Scene change detection library for video encoding.
  • mp4parse-rust - Parser for ISO Base Media Format aka video/mp4 written in Rust.
  • rust-av - Multimedia toolkit written in pure Rust.

Metadata

  • ExifTool - Read, write and edit meta information in a wide variety of files including video.
  • MediaInfo - Convenient unified display of the most relevant technical and tag data for video and audio files.
  • mpi - Rust-based MPEG-4 box inspector with TOML output.
  • photon - Java implementation of the SMPTE standard, Interoperable Master Format (IMF).

Media Processing

  • Av1an - 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.
  • FastlyConvert - Free online video converter and compressor. Supports MKV to MP4, video compression, video to GIF. Browser-based, no installation required.
  • 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.
  • GStreamer - Pipeline-based multimedia framework for audio and video processing.
  • HandBrake - Open source video transcoder with presets for common output formats.
  • hlstools - Tools for analyzing and processing hls streams.
  • Kdenlive - Free and open source video editor by KDE.
  • lossless-cut - Cross platform GUI tool for lossless trimming / cutting of video and audio files using ffmpeg.
  • MLT - MLT Multimedia Framework.
  • 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.
  • Olive - Free non-linear video editor.
  • 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.
    • remove-audio.com — Free browser-based tool to remove audio from video files. Local processing via WebAssembly, no uploads, no signup. Supports MP4, MOV, MKV, AVI, WEBM. Batch up to 20 clips.
  • 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.
  • Shotcut - Free, open source, cross-platform video editor.
  • SVT-AV1 - Scalable Video Technology AV1 encoder.
  • SVT-HEVC - Scalable Video Technology HEVC encoder.
  • SVT-VP9 - Scalable Video Technology VP9 encoder.
  • tomcast - A simple http2multicast daemon designed to work 24/7.
  • video-thumbnail-generator - Generate thumbnail sprites from videos.
  • video-transcoding-api - Agnostic API to transcode media assets across different cloud services.
  • vpp - Video++, a C++14 high performance video and image processing library.

Streaming Protocols

  • aiortc - WebRTC and ORTC implementation for Python using asyncio.
  • gortc - Modern WebRTC stack written in Go.
  • Janus - WebRTC Server with support for video, audio, data channels, and recording.
  • Kurento - WebRTC media server for building video applications with advanced media processing capabilities.
  • livego - Live streaming server written in Go, supporting RTMP, HLS, HTTP-FLV, and WebSocket-FLV protocols.
  • mediasoup - Cutting-edge WebRTC SFU server and client libraries for Node.js and browsers.
  • medooze - High performance Node.js media server for WebRTC, RTSP, RTMP, and RTP.
  • Pion WebRTC - Pure Go implementation of the WebRTC API.
  • RTSPtoWebRTC - RTSP to WebRTC streaming server.
  • SRT - Secure Reliable Transport protocol for low latency video streaming over unreliable networks.
  • wrtc - WebRTC implementation for Node.js.

Video AI/ML

  • deoldify - Deep learning based project for colorizing and restoring old images and video.
  • OpenCV - Open source computer vision and machine learning software library with extensive video processing capabilities.
  • PySceneDetect - Python library for detecting scene changes in videos using computer vision.
  • tensorflow-io - TensorFlow I/O library for reading and writing video files and working with video datasets.
  • Video-Summarization - PyTorch implementation of video summarization using reinforcement learning.
  • yolov5 - Real-time object detection in video streams using YOLOv5.

Video Capture and Recording

  • libcamera - Open source camera stack for Linux.
  • OBS Studio - Free and open source software for video recording and live streaming.
  • SimpleScreenRecorder - Screen recorder for Linux with video encoding support.
  • v4l-utils - Collection of command line utilities for Video4Linux devices.
  • v4l2loopback - Virtual video loopback device for Linux, allowing video streaming between applications.