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.
-
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
-
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 -
Python 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.
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.
-
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.
-
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
-
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.).
-
TallyArbiter - Cross-platform
Tally interfacer & tally lights for any camera via phones or
low-cost hardware.
-
Teleprompter
- Web browser and standalone Electron app prompter.
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.