A curated list of amazingly awesome open source resources for broadcasters.
- Awesome Broadcasting
- Animation, Graphics & Video Playout
- Clocks & Studio Screens
- Codecs
- Communication
- Companion Screens
- Connected TVs
- Control Systems
- Distributed Media Processing
- Documentation
- DVB & WiFi
- Hybrid Radio
- LiveIP
- Media Players
- Metadata
- Monitoring & Quality Control
- Multimedia content processing
- Network & Storage Testing
- NMOS
- Podcasting
- Radio Production
- Rundown Automation
- SCTE-35
- Software-defined radio
- Streaming
- Subtitling
- Video Production
- Resources
- Contributing
- Aurena - A network distributed media playback system.
- Blender - 3D creation suite supporting 3D modelling, animation, motion tracking, video editing, and more (overview here).
- Bridge - Next generation graphics control software, with extension support.
- CasparCG - A professional graphics and video play-out software, proven in 24/7 broadcasts since 2006.
- ffplayout - Rust and FFmpeg based playout from folder or playlists.
- Macadam - Blackmagic Node.js bindings that support HTML/CSS (via Electron) and SVG (via Sevruga) graphics.
- Nebula - Media asset management and broadcast automation system.
- NodeCG - Broadcast graphics rendered in a browser using Node.js.
- Open Playout Automation - A CasparCG-based MCR play-out system.
- ossia - A free and open-source intermedia sequencer.
- Sofie - TV Automation - MOS-driven automation system for news casts, with many libraries for e.g. device control.
- SPX - Graphics Controller - Graphics control client for live video productions and live streams.
- StreamShapers - Ferryman - Web App to generate HTML-Graphics from Lottie.JSON files / from Adobe AfterEffects.
- Studio TV Player - Simple TV studio player with SDI, NDI and MPEG TS outputs.
- OATIS - Server Based Studio Clock and Tally system, supporting messaging, physical GPI's and OSC triggering.
- OnAirScreen - Cross-platform "OnAir Lamp" solution targeted for use in professional broadcast environments.
- PiClock - Customisable network based displays of clocks, on-air, mic live and other studio indicators.
- PiClock Advanced - Improved version of PiRSClock-Full with changed layout, added timers and network capabilities.
- PiRSClock-Full - Radio Studio Clock with studio indicators for mics, telephones etc.
- FLAC - Free Lossless Audio Coding, used by some broadcasters for audio exchange, storage.
- Lame - A high quality MPEG Audio Layer III (MP3) encoder.
- opencore-amr - Audio codecs extracted from Android Open Source Project, including AAC.
- Opus - A totally open, royalty-free, highly versatile audio codec.
- Turing Codec - An H.265/HEVC open source software encoder designed for fast and efficient video compression.
- TwoLame - An MPEG Audio Layer 2 (MP2) encoder.
- Intercom Manager + Intercom Frontend - Intercom system based on built by Eyevinn for SVT.
- DYI intercom - Hardware + software intercom solution built around Murmur server and headless Mumble clients based on Rasperry Pi.
- dial-discovery-ios - A library for the discovery of devices via the DIAL protocol on the iOS platform.
- dvbcss-synckit-ios - iOS libraries for companion screen applications that are synchronised frame-accurately to a TV.
- dvbcss-synctiming - A system for measuring how accurately a TV or companion are synchronised.
- pydvbcss - Implementation of the DVB Companion Screens and Streams protocols for synchronised media playback.
- CPA Authorization Provider - Reference implementation for linking media devices with online identities (related repos here).
- HbbPlayer - An HbbTV and W3C specifications compliant application that can playback media from a URL.
- TAL - The TV Application Layer (TAL) is an open source library for building applications for Connected TV devices.
- BUG - Broadcast Universal Gateway - Control a wide range of broadcast and network equipment from your browser.
- Bitfocus Companion - Enables the Elgato Streamdeck and other controllers to be a shotbox surface for an increasing amount of broadcast equipment.
- Lawo EmberPlus - Ember Plus - open protocol for interfacing to / from broadcast control systems.
- MIDIMonster - Lightweight adapter tool for common show control protocols.
- StormCV - Apache Storm + OpenCV = large scale distributed image and video analysis.
- Kronekeeper - A web based application for recording and managing Krone frame records.
- DTT 2 IP - Broadcast to IP conversion for Wifi indoor coverage.
- DVB Inspector - An open-source DVB analyzer.
- DVBlast - A simple and powerful MPEG-2/TS demux and streaming application.
- dvbshout - Tool to send DVB audio to a shoutcast server or a RTP stream.
- Opencaster - A free and open source MPEG2 transport stream data generator and packet manipulator.
- Project X - DVB demux tool.
- ts2mpa - Simple tool to extract MPEG Audio from a MPEG Transport Stream (TS).
- TSDuck - Extensible toolkit for MPEG/DVB transport streams testing, monitoring, integration, debugging, and more.
- WiFiBroadcast - Analog-like transmission of live video data.
- RadioDNS for Node.js - Perform RadioDNS resolutions and service lookups in node.js.
- RadioDNS Manager - Platform to manage Hybrid Radio services, e.g. RadioVIS, RadioEPG and Service Following.
- RadioTag.js - RadioTag client library in JavaScript.
- RadioVIS Demo - RadioVIS client application in Python.
- RadioVIS Html Player - RadioVIS Player using WebSocket.
- RadioVIS Stomp Server - RadioVIS STOMP server written in node.js.
Audio/Video over IP & Streaming
- butt - broadcast using this tool (butt) is an easy to use, multi OS streaming tool. It supports SHOUTcast and Icecast.
- Cool Mic - Android audio livestreaming Icecast source client app.
- DarkIce - Live audio streamer that records and encodes from an audio interface and sends to a streaming server.
- EBU LIST - Live IP Software Toolkit to assist EBU members in the implementation of IP based facilities.
- Icecast - Streaming media (audio/video) server which supports Ogg (Vorbis and Theora), Opus, WebM and MP3.
- IRIS Broadcast - A project founded in Sweden to publish Open Source software for professional radio broadcasts.
- Kamailio - Open SIP server, commonly used for Audio contribution over IP using SIP (EBU ACIP).
- See the NMOS list for the AMWA Networked Media Open Specifications and open source implementations and tools.
- OpenOB - Open Outside Broadcast project for radio contribution links and studio-transmitter links based on Opus.
- PJSIP - Open Source multimedia library implementing SIP, SDP, RTP, STUN, TURN, and ICE.
- trx - A simple toolset for broadcasting live audio from Linux.
- VideoIPath-Automation-Tool - A Python package for automating VideoIPath configuration workflows.
- Dash.js - A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.
- GPAC - Multimedia player, packager and tools.
- IDJC - A GTK+ Shoutcast/Icecast client with two main media players.
- Kodi - A software media player and entertainment hub for digital media.
- Media4DPlayer - HTML5 player focused on accessibility.
- MPD - A flexible, powerful, server-side application for playing music.
- mpg123 - A fast console MPEG Audio Player and decoder library.
- Mixxx - A free, open source DJ software.
- Peaks.js - Browser-based audio waveform visualisation.
- rx-player - HTML5/Javascript video player that supports MPEG-DASH and SmoothStreaming.
- VLC - Simple, fast and powerful media player.
- BMXlib - Library and utilities to read and write broadcasting media files. Primarily supports the MXF file format.
- EBUCore - The Github for maintenance of the EBUCore schema.
- jebu-core - Java port of EBU Tech 3293 EBU Core metadata, including the Audio Definition Model.
- libadm - Audio Definition Model (ITU-R BS.2076) handling C++11 library.
- libklvanc - C library for ancillary data extraction from SDI and SMPTE ST 2110-40 (CEA-708, AFD, SCTE-104, etc.).
- MAJ API - Pure Java library for reading and writing MXF and AAF files.
- SDPoker - CLI tool and library for testing SMPTE ST2110 SDP files.
- TV-Anytime - The TV-Anytime schema github maintenance page.
- a_Multiview - A web based multiview for HLS and Youtube links.
- BeaqleJS - A framework to create browser based listening tests for subjective audio quality assessment.
- Jack Meter - Text console based DPM (Digital Peak Meter) for JACK.
- Jmeters - A collection of graphical audio meters for JACK, including VU, PPM and EBU R 128 Loudness meters.
- LTC-tools - A collection of tools to handle Linear Timecode (LTC) and convert to MIDI Timecode (MTC).
- MediaConch - Implementation checker, policy checker, & reporter for Matroska, FFV1, & PCM.
- MediaInfo - A convenient unified display of the most relevant technical and tag data for video and audio files.
- MXF Inspect - A Windows tool to display the internal structure of an MXF (Material eXchange Format) file.
- Pi Audio Monitor - Audio Monitoring for Raspberry Pi, supports S/PDIF, AES3, AES67, Livewire and Ravenna.
- Photon - Implementation of the SMPTE Interoperable Master Format (IMF) standard.
- QCTools - Quality Control tools for video preservation to analyse digitized video files.
- Rotter - Recording of Transmissions / Audio Logger for JACK.
- silan - Audiofile silence analyzer.
- SilentJack - Dead-air / Silence detector for JACK.
- Sonic Visualiser - An application for viewing and analysing the contents of music audio files.
- VMAF - Perceptual video quality assessment based on multi-method fusion.
- Wisual - A web service for Visual Quality Assessment, which supports PSNR, SSIM, VQM, etc.
- AvTranscoder - FFmpeg/LibAV-based high-level API to re-wrap or transcode media, with bindings for Java and Python.
- Beam Coder - Node.js native bindings to FFmpeg, with support for asynchronous processing via promises and streams.
- Bento4 - Full-featured MP4 format and MPEG DASH C++ class library and tools.
- Brave - Basic Real-time AV Editor - lets you preview, mix, and route live audio and video streams on the cloud.
- Codem-isoboxer A small browser-based MPEG-4 (ISOBMFF) parser.
- Dynamorse - IT swiss army knife - a Node-RED media pipeline builder, adding professional media processing nodes.
- EBU ADM Renderer - Reference implementation of the EBU ADM Renderer (EBU Tech 3388)
- FFmbc - FFmpeg customized for broadcast and professional usage.
- FFmpeg - A cross-platform solution to record, convert and stream audio and video. Supports SMPTE ST 2110.
- Flowblade - A multitrack non-linear video editor.
- GStreamer - A library for constructing graphs of media-handling components.
- Kelvinadon - Node.JS pure Javascript module for streaming MXF files to and from JSON.
- KFR - Fast, modern C++ DSP framework, DFT/FFT, Audio resampling, FIR/IIR, Biquad, EBU R 128.
- L-SMASH - A rigidly spec-compliant ISOBMFF library, which has full DASH muxing support.
- LibAV - Open source audio and video processing tools.
- libbw64 – Header-only Broadcast Wave 64 (ITU-R BS.2088) C++11 library.
- libear - A C++11 library to render ADM content according to Recommendation ITU-R BS.2127.
- Libebur128 - A library that implements the EBU R 128 standard for loudness normalisation.
- Loudness Validator - A set of applications to analyse, visualise and correct the loudness.
- MP4Box.js - JavaScript library to process MP4 files in the browser (and in NodeJS).
- MXFLib - A multi-platform C++ library for reading and writing MXF files.
- OBS-Studio - Software for live streaming and screen recording.
- Open Broadcast Encoder - Broadcast encoder built from Open Source components.
- rgain3 - Tools and Python3 library to read, write and calculate Replay Gain - fork of the original by Felix Krull.
- rtmp - Server implementation of Adobe's RTMP 1.0 protocol in Go.
- Snowmix - Live Video Mixer.
- SoX - The Swiss Army knife of sound processing programs.
- SVT Encore - Selfhosted video transcoding platform, built around FFmpeg.
- TuttleOFX - An open source image processing framework based on OpenFX plugin standard.
- UPipe - Primarily designed to be the core of a multimedia player, transcoder or streamer.
- VideoContext - Experimental HTML5/WebGL library for creating interactive and responsive web videos.
- Voctomix - Customizable conference recording/mixing/streaming software based on Python and GStreamer.
- BBC Media Storage Meter - An application for the testing of network attached (professional media) storage.
- Fio - Flexible I/O Tester
- iPerf3 - The TCP, UDP and SCTP network bandwidth measurement tool.
- SMPTE 2110-20 Analyzer - Analyzer to inspect network packets generated in accordance with SMPTE ST 2110.
- Wireshark dissector for TSL UMD protocol V3.1, V4 - Analyzers for TSL UMD (under-monitor display) protocol V3.1 and V4.
- Wireshark dissectors for Video Routers - Analyzers for various video router/matrix protocols.
- Examples of SMPTE ST 2110 pcap files
The Networked Media Open Specifications are themselves open source.
- AMWA NMOS Testing Tool - Automated test suites for the AMWA NMOS family of specifications, as used in the JT-NM Tested programme
- BBC NMOS Joint Reference Implementation - A Vagrant provisioning to build 4 virtual machines, an IS-04/IS-05 Node, IS-04 Registry, BCP-003-02 Authorisation Server, and the NMOS Testing Tool.
- DELTACAST IP Virtual Card NMOS samples - A demonstration of the integration of several NMOS standards with the DELTACAST IP Virtual Card through nmos-cpp.
- Easy-NMOS - A starter kit that allows the user to launch a simple NMOS setup with minimal installation steps, composed of three Docker containers: an NMOS Registry, a virtual NMOS Node, and the AMWA NMOS Testing Tool.
- nmos-cpp - An implementation of the AMWA Networked Media Open Specifications in C++, including an NMOS Registry and a toolkit and example of building an NMOS Node.
- nmos-device-control-mock - A mock device implementation of the NMOS Control & Monitoring suite (IS-12, BCP-008-01, BCP-008-02), written in Typescript and running on the NodeJS stack.
- nmos-js - A simple browser-based NMOS Client/Controller with an IS-04 Registry browser and IS-05 Connection Management.
- NVIDIA NMOS Docker - Docker container with Registry and Controller, IS-04/05/08/07/09, BCP-003-01
- NVIDIA NMOS Library (NvNmos) - A simple-to-use C/C++ library for adding an NMOS Node to your application, with support for IS-04, IS-05, BCP-002-01, BCP-002-02, BCP-004-01, etc.
- AntennaPod - A podcast manager for Android (antennapod.org).
- Anytime Podcast Player - Free and easy to use podcast player for Android and iOS (anytimeplayer.app).
- Castopod - Podcast Hosting and Broadcasting (castopod.org).
- gPodder - Media aggregator and podcast client.
- Podlove Publisher - Podcast Publisher for WordPress (podlove.org).
- Podlove Web Player - Podcast-optimized, HTML5-based video and audio player (podlove.org).
- Ultraschall - Suite of Plugins and UI tweaks to use with the DAW Reaper tailored towards Podcasters (ultraschall.fm)
- Airtime - Radio management application for remote broadcast automation (via web-based schedule).
- Ardour - A digital audio workstation.
- Audacity - Cross-platform software for recording and editing sounds.
- AzuraCast - A self-hosted web radio management suite.
- LibreTime - Radio broadcast & automation platform (fork of Airtime).
- Liquidsoap - A Swiss army knife for multimedia streaming (documentation).
- OpenBroadcaster Open Source LPFM IPTV Broadcast Automation. Server and Player code here.
- RAAR - A ruby application to manage and browse an audio archive.
- Rivendell - Complete radio broadcast automation solution, translated to many languages and used worldwide.
- OnTime - Web based time keeping system for live events with a broadcast clock view.
- SuperConductor - Rundown/playout controller for CasparCG Server, BMD ATEM, OBS Studio, vMix, OSC-compatible devices, HTTP (REST)-compatible devices among others.
- threefive - SCTE-35 Parser and Encoder for MPEGTS.
- x9k3 - Adaptive Bit Rate HLS Segmenter and SCTE-35 Injector.
- GNU Radio - A software development toolkit that provides signal processing blocks to implement software radios.
- Gqrx SDR - An open source software defined radio receiver (SDR).
- ODR-mmbTools - Fork of CRC-mmbTools. Adds live, DAB+, associated data, distributed infrastructure, SFN.
- rtl-sdr - Turns a Realtek RTL2832 based DVB dongle into a SDR receiver.
- welle.io - An open source DAB and DAB+ software defined radio (SDR) with support for airspy and rtlsdr.
- Owncast - Selfhosted video streaming platform (https://owncast.online/)
- PeerTube - ActivityPub-federated video streaming platform using P2P directly in your web browser. (https://joinpeertube.org/)
- CCExtractor - A tool that analyzes video files and produces stand-alone subtitle files.
- EBU-TT-D Subtitling within dash.js - dash.js fork with EBU-TT-D subtitles in HTML/CSS overlay. Later added to dash.js.
- EBU-TT-D W3C XML Schema - Informative EBU-TT-D XML Schema to support the implementation of EBU Tech 3380.
- EBU-TT Live Interoperability Toolkit - Components for generating, testing and distributing EBU-TT Live subtitles.
- GStreamer TTML subtitling package - A means for GStreamer pipelines to parse and render EBU-TT-D (TTML) subtitles.
- imscJS - JavaScript library for rendering IMSC1 Text and Image Profile documents to HTML5.
- IRT EBU-TT-D Application Samples - EBU-TT-D sample files, PNG images and mp4 videos as rendering references.
- Subtitle Edit - An editor for subtitles.
- Subtitling Conversion Framework (SCF) - Modules for converting subtitle formats, incl. EBU STL and EBU-TT files.
- Timed Text Toolkit (ttt) - Tools that support/use the W3C Timed Text Markup Language (TTML).
- AutoMix - Web-based control surface for ATEM vision mixers with automated camera switching, designed for visualised radio.
- MOS-connection - A JavaScript library for connection and MOS messaging either as MOS device or NRCS.
- Open Lighting Architecture (OLA) - Travel adaptor for the lighting industry, for interconnecting DMX-512, IP and USB.
- Q Light Controller+ (QLC+) - Cross-platform control of DMX or analogue lighting systems (heads, dimmers, etc.).
- QPrompt Teleprompter App - Convergent teleprompter software that works with studio teleprompters, tablet teleprompters, webcams, and phones.
- TallyArbiter - Cross-platform Tally interfacer & tally lights for any camera via phones or low-cost hardware.
- vMix-EmberPlus - vMix to EmberPlus gateway. Control vMix from any EmberPlus broadcast controller like Lawo's VSM or EVS's Cerebrum.
Various resources, such as books, websites and articles, for improving your skills and knowledge.
- BBC News Labs - Open Source projects from BBC News Labs.
- BBC R&D - BBC Research and Development. Checkout the weekly notes.
- 3D CineCast - A curation about new media technologies.
- Canal+ - CANAL+ Open Source Community.
- IRT Lab - IRT blog posting developments and demos for all digital audiovisual media technology.
- The Netflix Tech Blog - A Netflix blog focused on technology and technology issues.
Please see CONTRIBUTING for details.