A curated list of amazingly awesome open source resources for broadcasters.
- Awesome Broadcasting
- Audio over IP & Streaming
- Companion Screens
- Connected TVs
- Distributed Media Processing
- DVB & WiFi
- Animation, Graphics & Video Playout
- Hybrid Radio
- Media Players
- Monitoring & Quality Control
- Multimedia content processing
- Network & Storage Testing
- Radio Production
- Software-defined radio
Audio 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 - A live audio streamer that records audio from an audio interface (e.g. sound card), encodes it and sends it to a streaming server.
- Icecast - A streaming media (audio/video) server which supports Ogg (Vorbis and Theora), Opus, WebM and MP3 streams.
- Kamailio - Open SIP server, commonly used for Audio contribution over IP using SIP (EBU ACIP).
- 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. Used in some contribution equipment (dual licensing).
- trx - A simple toolset for broadcasting live audio from Linux.
- 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.
- dial-discovery-ios - A library for the discovery of devices via the DIAL protocol on the iOS platform.
- dvbcss-synckit-ios - A collection of iOS dynamic libraries for building media-based 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 - A library implementing the DVB Companion Screens and Streams protocols for accurately synchronising media playback between TVs and companions.
- Cross-Platform Authentication - CPA offers an open standard for associating any media device with an online identity.
- HbbPlayer - An HbbTV application which can playback media from a URL. Conforms to HbbTV and W3C specifications.
- TAL - The TV Application Layer (TAL) is an open source library for building applications for Connected TV devices.
Distributed Media Processing
- StormCV - Apache Storm + OpenCV = large scale distributed image and video analysis.
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 pipeline—modelling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation.
- CasparCG - A professional graphics and video play-out software, proven in 24/7 broadcasts since 2006.
- i-Score - A free and open-source intermedia sequencer.
- Open Playout Automation - A CasparCG-based MCR play-out system.
- RadioDNS for Node.js - Perform RadioDNS resolutions and service lookups in node.js.
- RadioDNS Manager - A platform to manage Hybrid Radio static services such as RadioVIS, RadioEPG and Service Following.
- RadioVIS Demo - RadioVIS client application in Python.
- RadioVIS Html Player - RadioVIS Player using WebSocket.
- RadioVIS Stomp Server - RadioVIS STOMP server written in node.js.
- 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.
- 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.
- IS-04 - Python implementation of the NMOS IS-04 Registration and Discovery Specification.
- jebu-core - EBUCore XML Schema Java port. Java port of TECH 3293 EBU CORE METADATA SET (EBUCore) SPECIFICATION v. 1.5, including new Audio Definition Model.
- Ledger - Node.js implementation of the NMOS registration and discovery specifications.
- MAJ API - Pure Java library for reading and writing MXF and AAF files.
- NMOS - An NMOS (Networked Media Open Specifications) Registry and Node in C++ (IS-04, IS-05).
- 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.
- LTC-tools - A collection of tools to read, generate and trigger against Linear Timecode (LTC) and convert to MIDI Timecode (MTC) with JACK and to/from standalone files.
- 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.
- 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 - Based on FFmpeg/LibAV libraries to support various video and audio formats, avTranscoder provides the high level API to re-wrap or transcode media easily. It also provide bindings for any usage in Java or Python.
- Bento4 - Full-featured MP4 format and MPEG DASH C++ class library and tools.
- 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 complete, cross-platform solution to record, convert and stream audio and video.
- Flowblade - A multitrack non-linear video editor.
- GStreamer - A library for constructing graphs of media-handling components.
- KFR - Fast, modern C++ DSP framework, DFT/FFT, Audio resampling, FIR/IIR, Biquad.
- L-SMASH - A rigidly spec-compliant ISOBMFF library, which has full DASH muxing support.
- LibAV - Open source audio and video processing tools.
- 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.
- 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 media processing and sequencing library for creating interactive and responsive videos on the web.
- Voctomix - Customizable conference recording and mixing software based on Python and GStreamer with streaming capabilities and Core/GUI separation.
Network & Storage Testing
- BBC Media Storage Meter - An application for the testing of network attached storage, originally assumed to be used for the streaming of professional media.
- Fio - Flexible I/O Tester
- iPerf3 - The TCP, UDP and SCTP network bandwidth measurement tool.
- SMPTE 2110-20 Analyzer - An analyzer to inspect network packets generated in accordance with the SMPTE ST 2110 specification.
- 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.
- 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, continuation of CRC-mmbTools. Adding new features for 24/24 365/365 live operation, DAB+, associated data (slideshow, text), 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.
- CCExtractor - A tool that analyzes video files and produces stand-alone subtitle files.
- EBU-TT-D Subtitling within dash.js - The original fork of dash.js to experiment with XML based subtitles like EBU-TT-D within dash.js. Uses an HTML/CSS overlay. Has since been integrated into 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 - A set of components for generating, testing and distributing subtitle documents in the EBU-TT Live format.
- GStreamer TTML subtitling package - A means for GStreamer pipelines to parse and render EBU-TT-D (TTML) subtitles.
- IRT EBU-TT-D Application Samples - EBU-TT-D sample files, related PNG images and mp4 videos showing how they should be rendered.
- Subtitle Edit - An editor for subtitles.
- Subtitling Conversion Framework (SCF) - A set of modules for converting subtitle formats. Main target is the conversion of EBU STL and EBU-TT subtitle files. Alpha release.
- Timed Text Toolkit (ttt) - A collection of related tools that provide support for or make use of the W3C Timed Text Markup Language (TTML).
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.
- Youtube Engineering and Developers Blog - What's happening with engineering and developers at YouTube.
Useful broadcasting related websites.
- EBU.io - A platform for agile collaboration.
Please see CONTRIBUTING for details.