General Tools
Discover 293 curated general-purpose video development tools and utilities for building, testing, and shipping video applications on Awesome Video.
Subcategories
- API Libraries & SDKs
- Build Scripts & Automation
- Case Studies & Best Practices in DRM
- Command-line Utilities & Wrappers
- Community & Collaboration Platforms
- Cross-Platform Media Tools
- DRM
- DRM Solutions & Implementations
- DRM Testing & Validation Tools
- Docker & Containerization Tools
- Encryption Tools for Streaming
- FFMPEG & Tools
- Independent & Hobbyist Projects
- Logging & Debugging Tools
- Performance & Monitoring Tools
- Research Projects & Academic Resources
- Specialized Utility Scripts
- Test Content & Sample Streams
- Widevine FairPlay PlayReady Integrations
Resources
- timvideos/test-patternsCollection of static and dynamic video test patterns (scripts) for debugging video capture/playback problems.
- video-test-file-linksCurated directory of test-video file sources, including decoder-tripping edge cases and codec/container variety.
- diederickh/video_generatorYUV420P test-video generator for encoder and audio/video-sync testing.
- JVET VVC (H.266) conformance bitstreamsOfficial JVET archive of VVC/H.266 conformance bitstreams (.bit/.md5/.opl packages) for decoder validation.
- AOMedia AV1 test dataAOMedia's public AV1 conformance test-data bucket of reference bitstreams for decoder validation.
- sitkevij/test-mediaShort clipped videos (CC-BY Tears of Steel) for quick media-service and pipeline testing.
- goffmpeg — Go FFmpeg wrapperMaintained Go wrapper for FFmpeg: transcode/stream with progress via channel, filters, watermark, concat, subtitles.
- DRMSense — browser DRM capability testerLocal browser tool testing DRM capabilities (Widevine/PlayReady/FairPlay), supported codecs and HDR; MIT.
- FairPlay-KSM — .NET Core FairPlay Key Security Module.NET Core FairPlay Key Security Module (KSM) with license expeditor and SPC/CKC debugger.
- ksm — Go FairPlay Key Security ModuleGo implementation of an Apple FairPlay Streaming Key Security Module (KSM).
- CTA-WAVE dpctf-deploy — device test suiteCTA-WAVE Streaming Media Test Suite (Devices): MSE/EME/CMAF test content and local content server for device conformance.
- hbbtv-dvbstream — HbbTV test stream builderEBU tool building an MPEG-2 TS carrying a test URL to inject HbbTV applications into a device under test.
- ffmpeg-gui (Haoming02)Lightweight Tauri FFmpeg GUI for batch-processing folders with CRF/bitrate control, progress bar, and interrupt support.
- ffmpeg-gui (puzzithinker)Tauri 2 + Rust + React FFmpeg GUI with visual trim timeline, subtitle burn, and real-time progress; uses the system FFmpeg.
- video-compress (ffmpeg.wasm)React + ffmpeg.wasm in-browser video compression with real-time preview and no server uploads.
- rust-ac-ffmpegSafe minimal Rust bindings to libav with no bindgen dependency, supporting FFmpeg 4–7.
- stainless-ffmpegRust FFmpeg wrapper for building and running media processing graphs efficiently.
- gui-for-ffmpegGo + Fyne cross-platform FFmpeg GUI frontend with multi-language support.
- Video Seal (Meta)Meta's efficient neural video and image forensic watermarking framework with a 256-bit payload model (MIT).
- RivaGANRobust video watermarking with non-differentiable adversaries, recovering payload after redistribution (MIT).
- codec-from-scratch (kevmo314)~120-line Go weekend project building a simple video encoder from scratch (YUV420P → RLE → DEFLATE).
- Rethinking Key Rotation for Scalable Live Sports Streaming (Irdeto)Named-vendor case study on license request storms at DRM key-rotation boundaries during live sports streaming, and sharding mitigation appr…
- Using DRM with Key Rotation (Unified Streaming docs)Official technical reference on CPIX ContentKeyPeriod/ContentKeyPeriodList spec detail and VOD vs live static/dynamic CPIX origin distincti…
- tcCoca — SMPTE/EBU Timecode CalculatorSmall C CLI tool converting/calculating SMPTE/EBU timecodes, supporting drop/non-drop frame and 14 framerates.
- FFmpeg Thumbnail Sprite Sheet Generator (gist)Bash script that loops a video folder, extracts frames via ffmpeg, and builds a vertical thumbnail sprite strip per video.
- Codec Wiki (x266.mov)Community-maintained wiki covering AV1/HEVC/VVC codec internals, encoder settings, and tuning guides.
- jwplayer-thumbnail-preview-generatorSmall PHP CLI generating sprite sheets and VTT files for JW Player scrub-bar thumbnail previews.
- HBBatchBeastHandBrake + FFmpeg/FFprobe batch automation GUI with recursive folder scans, folder watching, and multi-instance encoding across Windows/ma…
- ffui — FFmpeg desktop GUITauri/Rust + Vue3 desktop FFmpeg GUI with batch video/audio/image queue workflow, preset management, quality comparison, and auto-download…
- ffmpeg.audio.wasmAudio-focused FFmpeg WebAssembly build: transcode to wav/mp3/opus, extract audio, pitch-shift and time-stretch via a single-file JS wrapper.
- pyplayreadyPython PlayReady CDM with CLI for device creation/export and license handling, useful for DRM testing and validation.
- openwvOpen reimplementation of the Widevine CDM for browsers, useful for understanding and testing EME content-key handling.
- pywidevinePython implementation of the Widevine CDM with a built-in test command that validates license acquisition against a sample stream; useful f…
- gowidevineGo implementation of the Widevine CDM with license proxy server/client, aimed at DRM integration and testing.
- Axinom DRM Quick StartNode.js sample wiring Widevine + PlayReady + FairPlay license/key services together, with AWS SPEKE and Widevine CENC API support.
- ffmpeg-webWeb + Electron UI built on ffmpeg.wasm for converting video (H264/H265/VP9/VP8/Theora/WMV), audio, and images, with merging and album-art v…
- VideomassCross-platform FFmpeg GUI in Python3/wxPython with multitasking transcoding, running on Linux/macOS/Windows/FreeBSD.
- CodenameGoghNode-based (nodal) graphical interface to the FFmpeg transcoder for visually building conversion pipelines.
- Eyevinn tsgen-svcTransport Stream Generator: an ffmpeg microservice producing MPEG-TS test streams with burned-in timecode and wall-clock for latency measur…
- ffmpeg-dailiesYAML-driven burn-in/slate pipeline using FFmpeg drawtext (timecode, frame number, filename) with OpenColorIO support for generating dailies.
- pssh-box-rs — PSSH box parser/serializer in RustRust library and CLI to parse and serialize DRM PSSH boxes (base64/hex/binary) across Widevine, PlayReady, WisePlay, Irdeto, Marlin, Nagra,…
- pssh-tools — JS PSSH generator for multi-DRMJavaScript/Node library to generate PSSH data and boxes for multi-DRM CENC (Widevine, PlayReady).
- DeCENC — CENC Decryption via EME/MSETool to decrypt MPEG Common Encryption (CENC CTR) files via browser EME+MSE, useful for DRM security research and validation.
- clearkey-test-cases — EME ClearKey Test VectorsCollection of ClearKey EME test cases covering cenc and cbcs schemes for mp4/webm, packaged with shaka-packager.
- videojs-contrib-eme — Video.js EME PluginVideo.js plugin adding Encrypted Media Extensions support to test encrypted playback across Widevine, PlayReady, FairPlay, and ClearKey.
- pssh-box-wasm — PSSH Box Parser/DebuggerWASM tool to parse and print PSSH boxes, showing key IDs, encryption scheme (cenc/cbc1/cens/cbcs), and license URLs; can query Widevine lic…
- cpix_cc — CPIX 2.2 C++ ImplementationGoogle C++ implementation of the DASH-IF CPIX 2.2 spec to create, read, and modify CPIX documents for key/DRM exchange.
- uvg266 VVC Intra Encoder (ACM MM 2024 paper)ACM Multimedia 2024 paper describing uvg266, an open-source VVC intra encoder design and its rate-distortion/speed benchmarks.
- GIViC — Generative Implicit Video Compression (ICCV 2025)ICCV 2025 paper on Generative Implicit Video Compression, using implicit neural representations with generative priors for video coding.
- NVRC — Neural Video Representation Codec (NeurIPS 2024)First INR-based neural video codec to beat VTM (random-access) on long sequences; NeurIPS 2024 code release.
- Convex Hull Prediction Methods: Design, Eval & ComparisonSurvey and benchmark of convex-hull bitrate-ladder prediction methods for per-title encoding (ACM TOMM 2025).
- Xiph.org derf's Test Media CollectionXiph's canonical uncompressed Y4M SD/HD test sequences (akiyo, foreman, CrowdRun, ParkJoy) used across compression research.
- live-demo-cmaf — DASH/HLS/CMAF Demo OriginDocker demo serving DASH, HLS-TS, and HLS-CMAF via shaka/hls.js for streaming testing.
- 240pTestSuite_HCFR — Display Test Patterns240p Test Suite HCFR patterns for geometry, luminance, gamma, latency, and display calibration.
- Kodi Wiki — Sample Media Files (incl. Dolby Vision)Curated sample media files including Dolby Vision HEVC FEL Profile-7 test clips for player testing.
- Microsoft DCVC — Deep Contextual Video CompressionNeural video codec research line from Microsoft Research (DCVC, DCVC-RT), CVPR 2024/2025 papers with open-source code and pretrained checkp…
- REVISION: Roadmap on Adaptive Video Streaming OptimizationSurvey/roadmap of ABR optimization techniques by Tashtarian & Timmerer (Alpen-Adria Universität Klagenfurt, ATHENA group).
- Video Streaming Over QUIC: A Comprehensive StudyAcademic study analyzing QUIC transport protocol for low-latency video streaming performance.
- ByteDance NEVC — Neural Video CodingByteDance's open-source neural video coding implementation (EHVC, ACM MM 2025) with code.
- nginx_rtmp_prometheusPrometheus exporter scraping NGINX-RTMP module's rtmp_stat, exposing stream count, bytes in/out, and bandwidth metrics.
- ffmpeg_exporterPrometheus exporter probing stream URLs directly via ffmpeg, exposing bitrate/fps/connection-state as gauges, server-agnostic.
- streamsurferGo tool that probes HTTP video streams (HLS) for errors in a health-check style, successor to the Python hlsprobe tool.
- video-quality-tools (LCMApps)Node.js tools wrapping ffprobe to detect fps/bitrate drops and GOP structure changes in real time on live streams.
- Improving Video Observability with CMCD and CloudFrontAWS engineering blog on parsing CMCD query-string metrics from CloudFront real-time logs into Timestream with a Grafana dashboard for sessi…
- Bento4 (GitHub)MP4/DASH/HLS/CMAF SDK with mp4encrypt/mp4decrypt CLI tools supporting CENC, CBC1, CENS, CBCS, PIFF, ISMA, and OMA DRM encryption methods.
- widevine-license-proxy-server-nodejsNode/Express reverse proxy for Widevine license acquisition, adding rate limiting, auth, and caching layers.
- alfg/widevine (Go library)Go library for Widevine license/content key operations (GetLicense, GetContentKey), used as a base for building custom proxy/key servers.
- Axinom CPIX (.NET)MIT-licensed .NET library implementing CPIX 2.3 for reading/writing Content Protection Information Exchange documents, available via NuGet.
- DASH Industry Forum CPIX SpecOfficial CPIX (Content Protection Information Exchange) specification source and issue tracker from DASH-IF.
- QUANTEEC Digital Rights ManagementQUANTEEC provides a plugin that enables DRM-protected playback by encrypting video data on the server side and decrypting it on the player…
- Axinom Public Test Vectors - Multi-DRM Test ContentPublic test vectors for adaptive streaming playback and multi-DRM scenarios. Includes working license servers for Widevine, FairPlay, PlayR…
- FaceSwapAn open source deepfake application that provides tools to extract, train, and swap faces in videos. FaceSwap has an active community and s…
- DeepFaceLabThe leading software for creating deepfakes. It's an open source toolkit that allows users to swap faces in videos using machine learning,…
- Common Encryption (CENC) StandardThe ISO/IEC 23001-7 standard for Common Encryption in ISO base media file format files. CENC allows a single video file to be encrypted onc…
- bento4.mp4encryptPart of the Bento4 suite, mp4encrypt is a command-line utility to apply DRM encryption (e.g., Common Encryption) to MP4 files. It's used to…
- Microsoft PlayReady DocumentationMicrosoft's documentation for PlayReady DRM, including whitepapers and implementation guidance for integrating PlayReady content protection.
- Widevine DRM Documentation (Google)Official documentation for Google Widevine DRM, detailing integration of content protection on various platforms and browsers using Widevin…
- Man in the Middle ProxyAn interactive HTTPS proxy that allows inspection, modification, and debugging of network traffic, useful for video streaming analysis.
- Chrome Media InternalsA built-in Chrome tool that provides detailed logs and diagnostics for media playback and streaming issues.
- Axinom DRM DecodersAxinom offers DRM tools for encoding and decoding, ensuring secure streaming media delivery.
- Eyevinn Streaming SamplesA collection of HTTP streaming samples curated by Eyevinn, available for testing and development.
- Bitmovin Test StreamBitmovin's Test Player allows users to experience their HTML5 video player demo, showcasing adaptive streaming capabilities.
- Deploying KeyOS with AWS Elemental Media ServicesIn this post we provide an in-depth first party overview of the complex integration between the KeyOS Platform and the Elemental Media Serv…
- Advanced Encryption Techniques: ContentProtection Tags for MPDs and PSSH Boxes for DASH.In this installment of TheDRMBlog we take an in-depth look at Advanced Encryption Techniques.
- Play Your Own DRM Content on ExoPlayerDigital rights management, or you could just refer to it as DRM, is a way of controlling what users can do with some sort of digital..
- Cpix ValidatorWeb app for validating CPIX documents. Contribute to Axinom/cpix-validator development by creating an account on GitHub.
- Integrate BuyDRM for a Multi-DRM workflowIntegration guide for connecting Bitmovin encoding and playback services with BuyDRM multi-DRM platform.
- EZDRM + Bento4 Open Source DRM GuideGuide for implementing DRM workflows using EZDRM service with Bento4 open-source packaging tools.
- How to Protect Your Content With DRMLock it down. If you're streaming proprietary or premium online video, it's time to take the step up to true digital rights management prot…
- Digital Rights Management (multi - drm) – aameer.GitHub.ioArticle explaining multi-DRM concepts and implementation strategies for cross-platform protected video delivery.
- Binary to base64: Convert between bytes and base64 — CryptiiBase64 encoding schemes are used when binary data needs to be stored or transferred as textual data. Therefore 64 characters are chosen tha…
- BuyDRM_KeyOS_PlatformOverview_FUUGO_062118BuyDRM presentation covering KeyOS content protection implementation in DASH workflows and architecture.
- CENC — The DRM BlogCENC | The DRM Blog - Your New Official Source for Everything DRM.
- Pssh boxPython utility for parsing and generating PSSH boxes used in content protection and multi-DRM workflows.
- AutoConfigShellScriptAutomatically compile and configure FFmpeg, Python 3.7.2(default), PyAV, OpenCV, Keras, TensorFlow(CPU Mode) and other relative environment.
- Springer Free BooksPython script to download all Springer books released for free during the 2020 COVID-19 quarantine
- The Top 656 Video Open Source ProjectsBrowse The Most Popular 656 Video Open Source Projects.
- Video Containers Debugging ToolsA set of command lines to debug video streaming files like mp4 (MPEG-4 Part 14), ts (MPEG-2 Part 1), fmp4 in DASH, HLS, or MSS, with or wit…
- StreamlinkStreamlink is a CLI utility which pipes video streams from various services into a video player
- Content ManagerThe Content Manager is a visual production tool which generates on-the-fly visualisations for DAB slideshow and RadioVIS. Based on the .NET…