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

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.

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

Connected TVs

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

Hybrid Radio

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 with some reactive programming inside, supporting MPEG-DASH and SmoothStreaming transports.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 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.

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

Subtitling

Resources

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

Blogs

Websites

Useful broadcasting related websites.

  • EBU.io - A platform for agile collaboration.

Contributing

Please see CONTRIBUTING for details.