/awesome-broadcasting

A curated list of amazingly awesome open source resources related to broadcast technologies

OtherNOASSERTION

Awesome Broadcasting Awesome

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.

Distributed Media Processing

  • 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.
  • 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

  • AMWA NMOS Testing Tool - Automated test suites for the AMWA NMOS family of specifications, as used in the JT-NM Tested programme
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.

Media Players

  • 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.

Metadata

  • 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.
  • AMWA IS-04 and IS-05 - NMOS Registration & Discovery and Device Connection Management in Python.
  • 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.
  • 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 (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.

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

Resources

Various resources, such as books, websites and articles, for improving your skills and knowledge.

Blogs

Contributing

Please see CONTRIBUTING for details.