Awesome Broadcasting 
A curated list of amazingly awesome open source resources for
broadcasters.
Clocks & Studio Screens
- 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.
Codecs
- 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.
Companion Screens
- 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.
Connected TVs
- Cross-Platform
Authentication - CPA offers an open standard for associating any
media device with an online identity.
- 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.
Control Systems
- BUG - Broadcast Universal
Gateway - Control a wide range of broadcast and network equipment from
your browser.
- 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.
Documentation
- Kronekeeper
- A web based application for recording and managing Krone frame
records.
DVB & WiFi
- 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.
Animation, Graphics &
Video Playout
- Aurena - A network
distributed media playback system.
- Blender - 3D
creation suite supporting 3D modelling, animation, motion tracking,
video editing, and more.
- 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.
- Studio TV
Player - Simple TV studio player with SDI, NDI and MPEG TS
outputs.
Hybrid Radio
LiveIP
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.
- 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.
Monitoring & Quality
Control
- 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.
- JACK Meterbridge - A
collection of graphical Audio meters for JACK (ballistics may be
incorrect).
- 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.
Multimedia content
processing
- 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.
- rgain - Tools and
Python library to read, write and calculate Replay Gain.
- 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 plattform, 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.
Network & Storage Testing
- 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.
NMOS
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-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
Radio Production
- 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.
Software-defined radio
- 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.
Subtitling
Video Production
- 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.
Streaming
- Owncast -
Selfhosted video streaming plattform (https://owncast.online/)
Resources
Various resources, such as books, websites and articles, for
improving your skills and knowledge.
Blogs
Contributing
Please see CONTRIBUTING
for details.