Files
awesome-awesomeness/html/broadcasting.html
2025-07-18 22:22:32 +02:00

683 lines
33 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-broadcasting-awesome">Awesome Broadcasting <a
href="https://github.com/sindresorhus/awesome"><img
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
alt="Awesome" /></a></h1>
<p>A curated list of amazingly awesome open source resources for
broadcasters.</p>
<ul>
<li><a href="#awesome-broadcasting">Awesome Broadcasting</a>
<ul>
<li><a href="#clocks--studio-screens">Clocks &amp; Studio
Screens</a></li>
<li><a href="#codecs">Codecs</a></li>
<li><a href="#companion-screens">Companion Screens</a></li>
<li><a href="#connected-tvs">Connected TVs</a></li>
<li><a href="#control-systems">Control Systems</a></li>
<li><a href="#distributed-media-processing">Distributed Media
Processing</a></li>
<li><a href="#documentation">Documentation</a></li>
<li><a href="#dvb--wifi">DVB &amp; WiFi</a></li>
<li><a href="#animation-graphics--video-playout">Animation, Graphics
&amp; Video Playout</a></li>
<li><a href="#hybrid-radio">Hybrid Radio</a></li>
<li><a href="#liveip">LiveIP</a></li>
<li><a href="#media-players">Media Players</a></li>
<li><a href="#metadata">Metadata</a></li>
<li><a href="#monitoring--quality-control">Monitoring &amp; Quality
Control</a></li>
<li><a href="#multimedia-content-processing">Multimedia content
processing</a></li>
<li><a href="#network--storage-testing">Network &amp; Storage
Testing</a></li>
<li><a href="#nmos">NMOS</a></li>
<li><a href="#podcasting">Podcasting</a></li>
<li><a href="#radio-production">Radio Production</a></li>
<li><a href="#software-defined-radio">Software-defined radio</a></li>
<li><a href="#subtitling">Subtitling</a></li>
<li><a href="#communication">Communication</a></li>
<li><a href="#video-production">Video Production</a></li>
<li><a href="#streaming">Streaming</a></li>
</ul></li>
<li><a href="#resources">Resources</a>
<ul>
<li><a href="#blogs">Blogs</a></li>
<li><a href="#websites">Websites</a></li>
</ul></li>
<li><a href="#contributing">Contributing</a></li>
</ul>
<h2 id="clocks-studio-screens">Clocks &amp; Studio Screens</h2>
<ul>
<li><a
href="https://github.com/saschaludwig/OnAirScreen">OnAirScreen</a> -
Cross-platform “OnAir Lamp” solution targeted for use in professional
broadcast environments.</li>
<li><a href="https://github.com/simonhyde/PiClock">PiClock</a> -
Customisable network based displays of clocks, on-air, mic live and
other studio indicators.</li>
<li><a href="https://github.com/ael/piclock_advanced">PiClock
Advanced</a> - Improved version of PiRSClock-Full with changed layout,
added timers and network capabilities.</li>
<li><a
href="https://github.com/jdgwarren/pirsclockfull">PiRSClock-Full</a> -
Radio Studio Clock with studio indicators for mics, telephones etc.</li>
</ul>
<h2 id="codecs">Codecs</h2>
<ul>
<li><a href="https://www.xiph.org/flac/">FLAC</a> - Free Lossless Audio
Coding, used by some broadcasters for audio exchange, storage.</li>
<li><a href="https://lame.sourceforge.io/">Lame</a> - A high quality
MPEG Audio Layer III (MP3) encoder.</li>
<li><a
href="https://sourceforge.net/projects/opencore-amr/">opencore-amr</a> -
Audio codecs extracted from Android Open Source Project, including
AAC.</li>
<li><a href="https://www.opus-codec.org/">Opus</a> - A totally open,
royalty-free, highly versatile audio codec.</li>
<li><a href="http://turingcodec.org/">Turing Codec</a> - An H.265/HEVC
open source software encoder designed for fast and efficient video
compression.</li>
<li><a href="https://www.twolame.org/">TwoLame</a> - An MPEG Audio Layer
2 (MP2) encoder.</li>
</ul>
<h2 id="companion-screens">Companion Screens</h2>
<ul>
<li><a
href="https://github.com/bbc/dial-discovery-ios">dial-discovery-ios</a>
- A library for the discovery of devices via the DIAL protocol on the
iOS platform.</li>
<li><a
href="https://github.com/bbc/dvbcss-synckit-ios">dvbcss-synckit-ios</a>
- iOS libraries for companion screen applications that are synchronised
frame-accurately to a TV.</li>
<li><a
href="https://github.com/BBC/dvbcss-synctiming">dvbcss-synctiming</a> -
A system for measuring how accurately a TV or companion are
synchronised.</li>
<li><a href="https://github.com/BBC/pydvbcss">pydvbcss</a> -
Implementation of the DVB Companion Screens and Streams protocols for
synchronised media playback.</li>
</ul>
<h2 id="connected-tvs">Connected TVs</h2>
<ul>
<li><a href="https://ebu.io/project/cpa">Cross-Platform
Authentication</a> - CPA offers an open standard for associating any
media device with an online identity.</li>
<li><a href="https://github.com/Samsung/HbbPlayer">HbbPlayer</a> - An
HbbTV and W3C specifications compliant application that can playback
media from a URL.</li>
<li><a href="http://bbc.github.io/tal/">TAL</a> - The TV Application
Layer (TAL) is an open source library for building applications for
Connected TV devices.</li>
</ul>
<h2 id="control-systems">Control Systems</h2>
<ul>
<li><a href="http://bbc.github.io/bug">BUG</a> - Broadcast Universal
Gateway - Control a wide range of broadcast and network equipment from
your browser.</li>
<li><a href="https://github.com/Lawo/ember-plus">Lawo EmberPlus</a> -
Ember Plus - open protocol for interfacing to / from broadcast control
systems.</li>
<li><a href="https://github.com/cbdevnet/midimonster">MIDIMonster</a> -
Lightweight adapter tool for common show control protocols.</li>
</ul>
<h2 id="distributed-media-processing">Distributed Media Processing</h2>
<ul>
<li><a href="https://github.com/sensorstorm/StormCV">StormCV</a> -
Apache Storm + OpenCV = large scale distributed image and video
analysis.</li>
</ul>
<h2 id="documentation">Documentation</h2>
<ul>
<li><a href="https://github.com/nick-prater/kronekeeper">Kronekeeper</a>
- A web based application for recording and managing Krone frame
records.</li>
</ul>
<h2 id="dvb-wifi">DVB &amp; WiFi</h2>
<ul>
<li><a href="https://github.com/ebu/dtt2ip">DTT 2 IP</a> - Broadcast to
IP conversion for Wifi indoor coverage.</li>
<li><a href="https://sourceforge.net/projects/dvbinspector/">DVB
Inspector</a> - An open-source DVB analyzer.</li>
<li><a href="http://www.videolan.org/projects/dvblast.html">DVBlast</a>
- A simple and powerful MPEG-2/TS demux and streaming application.</li>
<li><a href="https://github.com/njh/dvbshout">dvbshout</a> - Tool to
send DVB audio to a shoutcast server or a RTP stream.</li>
<li><a
href="http://www.avalpa.com/the-key-values/15-free-software/33-opencaster">Opencaster</a>
- A free and open source MPEG2 transport stream data generator and
packet manipulator.</li>
<li><a href="https://sourceforge.net/projects/project-x/">Project X</a>
- DVB demux tool.</li>
<li><a href="https://github.com/njh/ts2mpa">ts2mpa</a> - Simple tool to
extract MPEG Audio from a MPEG Transport Stream (TS).</li>
<li><a href="https://tsduck.github.io/">TSDuck</a> - Extensible toolkit
for MPEG/DVB transport streams testing, monitoring, integration,
debugging, and more.</li>
<li><a
href="https://befinitiv.wordpress.com/wifibroadcast-analog-like-transmission-of-live-video-data/">WiFiBroadcast</a>
- Analog-like transmission of live video data.</li>
</ul>
<h2 id="animation-graphics-video-playout">Animation, Graphics &amp;
Video Playout</h2>
<ul>
<li><a href="https://github.com/thaytan/aurena">Aurena</a> - A network
distributed media playback system.</li>
<li><a href="https://developer.blender.org/diffusion/">Blender</a> - 3D
creation suite supporting 3D modelling, animation, motion tracking,
video editing, and more.</li>
<li><a href="https://github.com/svt/bridge">Bridge</a> - Next generation
graphics control software, with extension support.</li>
<li><a href="http://www.casparcg.com/">CasparCG</a> - A professional
graphics and video play-out software, proven in 24/7 broadcasts since
2006.</li>
<li><a href="https://github.com/ffplayout/ffplayout">ffplayout</a> -
Rust and FFmpeg based playout from folder or playlists.</li>
<li><a href="https://github.com/Streampunk/macadam">Macadam</a> -
Blackmagic Node.js bindings that support HTML/CSS (via <a
href="https://www.electronjs.org/">Electron</a>) and SVG (via <a
href="https://github.com/Streampunk/sevruga">Sevruga</a>) graphics.</li>
<li><a href="https://github.com/nebulabroadcast">Nebula</a> - Media
asset management and broadcast automation system.</li>
<li><a href="https://www.nodecg.dev/">NodeCG</a> - Broadcast graphics
rendered in a browser using Node.js.</li>
<li><a href="https://github.com/jaskie/PlayoutAutomation">Open Playout
Automation</a> - A CasparCG-based MCR play-out system.</li>
<li><a href="https://ossia.io/">ossia</a> - A free and open-source
intermedia sequencer.</li>
<li><a href="https://github.com/nrkno/Sofie-TV-automation">Sofie - TV
Automation</a> - MOS-driven automation system for news casts, with many
libraries for e.g. device control.</li>
<li><a href="https://github.com/TuomoKu/SPX-GC">SPX - Graphics
Controller</a> - Graphics control client for live video productions and
live streams.</li>
<li><a href="https://github.com/jaskie/StudioTVPlayer">Studio TV
Player</a> - Simple TV studio player with SDI, NDI and MPEG TS
outputs.</li>
</ul>
<h2 id="hybrid-radio">Hybrid Radio</h2>
<ul>
<li><a href="https://github.com/bbc/node-radiodns">RadioDNS for
Node.js</a> - Perform RadioDNS resolutions and service lookups in
node.js.</li>
<li><a href="https://github.com/ebu/radiodns-manager">RadioDNS
Manager</a> - Platform to manage Hybrid Radio services, e.g. RadioVIS,
RadioEPG and Service Following.</li>
<li><a href="https://github.com/ebu/radiotag.js">RadioTag.js</a> -
RadioTag client library in JavaScript.</li>
<li><a href="https://github.com/bbc/RadioVisDemo">RadioVIS Demo</a> -
RadioVIS client application in Python.</li>
<li><a href="https://github.com/ebu/radiovis-html5player">RadioVIS Html
Player</a> - RadioVIS Player using WebSocket.</li>
<li><a href="https://github.com/bbc/node-radiovis-stomp-server">RadioVIS
Stomp Server</a> - RadioVIS STOMP server written in node.js.</li>
</ul>
<h2 id="liveip">LiveIP</h2>
<p><em>Audio/Video over IP &amp; Streaming</em></p>
<ul>
<li><a href="https://danielnoethen.de/">butt</a> - broadcast using this
tool (butt) is an easy to use, multi OS streaming tool. It supports
SHOUTcast and Icecast.</li>
<li><a href="https://coolmic.net/">Cool Mic</a> - Android audio
livestreaming Icecast source client app.</li>
<li><a href="http://www.darkice.org/">DarkIce</a> - Live audio streamer
that records and encodes from an audio interface and sends to a
streaming server.</li>
<li><a href="https://github.com/ebu/pi-list">EBU LIST</a> - Live IP
Software Toolkit to assist EBU members in the implementation of IP based
facilities.</li>
<li><a href="https://icecast.org/">Icecast</a> - Streaming media
(audio/video) server which supports Ogg (Vorbis and Theora), Opus, WebM
and MP3.</li>
<li><a
href="https://github.com/IrisBroadcast/irisbroadcast.github.io/">IRIS
Broadcast</a> - A project founded in Sweden to publish Open Source
software for professional radio broadcasts.</li>
<li><a href="http://www.kamailio.org/">Kamailio</a> - Open SIP server,
commonly used for Audio contribution over IP using SIP (EBU ACIP).</li>
<li>See the <a href="#nmos">NMOS</a> list for the AMWA Networked Media
Open Specifications and open source implementations and tools.</li>
<li><a href="https://jamesharrison.github.io/openob/">OpenOB</a> - Open
Outside Broadcast project for radio contribution links and
studio-transmitter links based on Opus.</li>
<li><a href="https://www.pjsip.org/">PJSIP</a> - Open Source multimedia
library implementing SIP, SDP, RTP, STUN, TURN, and ICE.</li>
<li><a href="http://www.pogo.org.uk/~mark/trx/">trx</a> - A simple
toolset for broadcasting live audio from Linux.</li>
</ul>
<h2 id="media-players">Media Players</h2>
<ul>
<li><a href="https://github.com/ebu/dash.js">Dash.js</a> - A reference
client implementation for the playback of MPEG DASH via Javascript and
compliant browsers.</li>
<li><a href="https://gpac.wp.imt.fr/home/">GPAC</a> - Multimedia player,
packager and tools.</li>
<li><a href="http://idjc.sourceforge.net/">IDJC</a> - A GTK+
Shoutcast/Icecast client with two main media players.</li>
<li><a href="https://github.com/xbmc/xbmc">Kodi</a> - A software media
player and entertainment hub for digital media.</li>
<li><a href="">Media4DPlayer</a> - HTML5 player focused on
accessibility.</li>
<li><a href="https://www.musicpd.org/">MPD</a> - A flexible, powerful,
server-side application for playing music.</li>
<li><a href="https://www.mpg123.de/">mpg123</a> - A fast console MPEG
Audio Player and decoder library.</li>
<li><a href="https://www.mixxx.org/">Mixxx</a> - A free, open source DJ
software.</li>
<li><a href="https://waveform.prototyping.bbc.co.uk/">Peaks.js</a> -
Browser-based audio waveform visualisation.</li>
<li><a href="https://github.com/canalplus/rx-player">rx-player</a> -
HTML5/Javascript video player that supports MPEG-DASH and
SmoothStreaming.</li>
<li><a href="http://www.vlc.org">VLC</a> - Simple, fast and powerful
media player.</li>
</ul>
<h2 id="metadata">Metadata</h2>
<ul>
<li><a href="https://sourceforge.net/projects/bmxlib/">BMXlib</a> -
Library and utilities to read and write broadcasting media files.
Primarily supports the MXF file format.</li>
<li><a href="https://github.com/ebu/ebucore">EBUCore</a> - The Github
for maintenance of the <a
href="https://tech.ebu.ch/docs/tech/tech3293.pdf">EBUCore
schema</a>.</li>
<li><a href="https://github.com/mikrosimage/jebu-core">jebu-core</a> -
Java port of <a href="https://tech.ebu.ch/publications/tech3293">EBU
Tech 3293</a> EBU Core metadata, including the <a
href="https://tech.ebu.ch/publications/tech3364">Audio Definition
Model</a>.</li>
<li><a href="https://github.com/irt-open-source/libadm">libadm</a> -
Audio Definition Model (ITU-R BS.2076) handling C++11 library.</li>
<li><a href="https://github.com/stoth68000/libklvanc">libklvanc</a> - C
library for ancillary data extraction from SDI and SMPTE ST 2110-40
(CEA-708, AFD, SCTE-104, etc.).</li>
<li><a href="https://github.com/AMWA-TV/maj">MAJ API</a> - Pure Java
library for reading and writing MXF and AAF files.</li>
<li><a href="https://github.com/AMWA-TV/sdpoker">SDPoker</a> - CLI tool
and library for testing SMPTE ST2110 SDP files.</li>
<li><a href="https://github.com/ebu/tvanytime">TV-Anytime</a> - The
TV-Anytime schema github maintenance page.</li>
</ul>
<h2 id="monitoring-quality-control">Monitoring &amp; Quality
Control</h2>
<ul>
<li><a href="https://github.com/HSU-ANT/beaqlejs">BeaqleJS</a> - A
framework to create browser based listening tests for subjective audio
quality assessment.</li>
<li><a href="https://github.com/njh/jackmeter">Jack Meter</a> - Text
console based DPM (Digital Peak Meter) for JACK.</li>
<li><a href="http://plugin.org.uk/meterbridge/">JACK Meterbridge</a> - A
collection of graphical Audio meters for JACK (ballistics may be
incorrect).</li>
<li><a
href="http://kokkinizita.linuxaudio.org/linuxaudio/downloads/index.html">Jmeters</a>
- A collection of graphical audio meters for JACK, including VU, PPM and
<a href="https://tech.ebu.ch/publications/r128">EBU R 128</a> Loudness
meters.</li>
<li><a href="https://github.com/x42/ltc-tools">LTC-tools</a> - A
collection of tools to handle Linear Timecode (LTC) and convert to MIDI
Timecode (MTC).</li>
<li><a href="https://mediaarea.net/MediaConch">MediaConch</a> -
Implementation checker, policy checker, &amp; reporter for Matroska,
FFV1, &amp; PCM.</li>
<li><a href="https://mediaarea.net/en/MediaInfo">MediaInfo</a> - A
convenient unified display of the most relevant technical and tag data
for video and audio files.</li>
<li><a href="https://github.com/Myriadbits/MXFInspect">MXF Inspect</a> -
A Windows tool to display the internal structure of an MXF (Material
eXchange Format) file.</li>
<li><a href="https://github.com/martim01/pam">Pi Audio Monitor</a> -
Audio Monitoring for Raspberry Pi, supports S/PDIF, AES3, AES67,
Livewire and Ravenna.</li>
<li><a href="https://github.com/Netflix/photon">Photon</a> -
Implementation of the SMPTE Interoperable Master Format (IMF)
standard.</li>
<li><a href="https://github.com/bavc/qctools">QCTools</a> - Quality
Control tools for video preservation to analyse digitized video
files.</li>
<li><a href="https://github.com/njh/rotter">Rotter</a> - Recording of
Transmissions / Audio Logger for JACK.</li>
<li><a href="https://github.com/x42/silan">silan</a> - Audiofile silence
analyzer.</li>
<li><a href="https://github.com/njh/silentjack">SilentJack</a> -
Dead-air / Silence detector for JACK.</li>
<li><a href="https://www.sonicvisualiser.org/">Sonic Visualiser</a> - An
application for viewing and analysing the contents of music audio
files.</li>
<li><a href="https://github.com/Netflix/vmaf">VMAF</a> - Perceptual
video quality assessment based on multi-method fusion.</li>
<li><a href="https://github.com/MarcAntoine-Arnaud/wisual">Wisual</a> -
A web service for Visual Quality Assessment, which supports PSNR, SSIM,
VQM, etc.</li>
</ul>
<h2 id="multimedia-content-processing">Multimedia content
processing</h2>
<ul>
<li><a
href="https://github.com/avTranscoder/avTranscoder">AvTranscoder</a> -
FFmpeg/LibAV-based high-level API to re-wrap or transcode media, with
bindings for Java and Python.</li>
<li><a href="https://github.com/Streampunk/beamcoder">Beam Coder</a> -
Node.js native bindings to FFmpeg, with support for asynchronous
processing via promises and streams.</li>
<li><a href="https://github.com/axiomatic-systems/Bento4">Bento4</a> -
Full-featured MP4 format and MPEG DASH C++ class library and tools.</li>
<li><a href="https://github.com/bbc/brave">Brave</a> - Basic Real-time
AV Editor - lets you preview, mix, and route live audio and video
streams on the cloud.</li>
<li><a
href="https://github.com/madebyhiro/codem-isoboxer">Codem-isoboxer</a> A
small browser-based MPEG-4 (ISOBMFF) parser.</li>
<li><a
href="https://github.com/Streampunk/node-red-contrib-dynamorse-core">Dynamorse</a>
- IT swiss army knife - a Node-RED media pipeline builder, adding
professional media processing nodes.</li>
<li><a href="https://github.com/ebu/ebu_adm_renderer">EBU ADM
Renderer</a> - Reference implementation of the EBU ADM Renderer (<a
href="https://tech.ebu.ch/publications/tech3388">EBU Tech 3388</a>)</li>
<li><a href="https://github.com/bcoudurier/FFmbc">FFmbc</a> - FFmpeg
customized for broadcast and professional usage.</li>
<li><a href="http://ffmpeg.org">FFmpeg</a> - A cross-platform solution
to record, convert and stream audio and video. Supports SMPTE ST
2110.</li>
<li><a href="https://github.com/jliljebl/flowblade">Flowblade</a> - A
multitrack non-linear video editor.</li>
<li><a href="https://gstreamer.freedesktop.org/">GStreamer</a> - A
library for constructing graphs of media-handling components.</li>
<li><a href="https://github.com/Streampunk/kelvinadon">Kelvinadon</a> -
Node.JS pure Javascript module for streaming MXF files to and from
JSON.</li>
<li><a href="https://www.kfrlib.com/">KFR</a> - Fast, modern C++ DSP
framework, DFT/FFT, Audio resampling, FIR/IIR, Biquad, EBU R 128.</li>
<li><a href="https://github.com/l-smash/l-smash/">L-SMASH</a> - A
rigidly spec-compliant ISOBMFF library, which has full DASH muxing
support.</li>
<li><a href="https://libav.org/">LibAV</a> - Open source audio and video
processing tools.</li>
<li><a href="https://github.com/irt-open-source/libbw64">libbw64</a>
 Header-only Broadcast Wave 64 (ITU-R BS.2088) C++11 library.</li>
<li><a href="https://github.com/ebu/libear">libear</a> - A C++11 library
to render ADM content according to Recommendation ITU-R BS.2127.</li>
<li><a href="https://github.com/jiixyj/libebur128">Libebur128</a> - A
library that implements the EBU R 128 standard for loudness
normalisation.</li>
<li><a href="https://github.com/mikrosimage/loudness_validator">Loudness
Validator</a> - A set of applications to analyse, visualise and correct
the loudness.</li>
<li><a href="https://github.com/gpac/mp4box.js">MP4Box.js</a> -
JavaScript library to process MP4 files in the browser (and in
NodeJS).</li>
<li><a href="https://sourceforge.net/projects/mxflib/">MXFLib</a> - A
multi-platform C++ library for reading and writing MXF files.</li>
<li><a href="https://github.com/obsproject/obs-studio">OBS-Studio</a> -
Software for live streaming and screen recording.</li>
<li><a href="https://github.com/ob-encoder">Open Broadcast Encoder</a> -
Broadcast encoder built from Open Source components.</li>
<li><a href="https://bitbucket.org/fk/rgain">rgain</a> - Tools and
Python library to read, write and calculate Replay Gain.</li>
<li><a href="https://github.com/c-bata/rtmp">rtmp</a> - Server
implementation of Adobes RTMP 1.0 protocol in Go.</li>
<li><a href="https://sourceforge.net/projects/snowmix/">Snowmix</a> -
Live Video Mixer.</li>
<li><a href="http://sox.sourceforge.net/">SoX</a> - The Swiss Army knife
of sound processing programs.</li>
<li><a href="https://github.com/svt/encore">SVT Encore</a> - Selfhosted
video transcoding plattform, built around FFmpeg.</li>
<li><a href="https://github.com/tuttleofx/TuttleOFX">TuttleOFX</a> - An
open source image processing framework based on OpenFX plugin
standard.</li>
<li><a href="https://github.com/cmassiot/upipe/">UPipe</a> - Primarily
designed to be the core of a multimedia player, transcoder or
streamer.</li>
<li><a href="https://github.com/bbc/videocontext">VideoContext</a> -
Experimental HTML5/WebGL library for creating interactive and responsive
web videos.</li>
<li><a href="https://github.com/voc/voctomix">Voctomix</a> -
Customizable conference recording/mixing/streaming software based on
Python and GStreamer.</li>
</ul>
<h2 id="network-storage-testing">Network &amp; Storage Testing</h2>
<ul>
<li><a href="https://sourceforge.net/projects/msmeter/">BBC Media
Storage Meter</a> - An application for the testing of network attached
(professional media) storage.</li>
<li><a href="https://github.com/axboe/fio">Fio</a> - Flexible I/O
Tester</li>
<li><a href="https://iperf.fr/">iPerf3</a> - The TCP, UDP and SCTP
network bandwidth measurement tool.</li>
<li><a href="https://github.com/ebu/smpte2110-analyzer">SMPTE 2110-20
Analyzer</a> - Analyzer to inspect network packets generated in
accordance with SMPTE ST 2110.</li>
<li><a href="https://github.com/roddypratt/tslumd-wireshark">Wireshark
dissector for TSL UMD protocol V3.1, V4</a> - Analyzers for TSL UMD
(under-monitor display) protocol V3.1 and V4.</li>
<li><a href="https://github.com/roddypratt/router_dissectors">Wireshark
dissectors for Video Routers</a> - Analyzers for various video
router/matrix protocols.</li>
<li><a
href="https://github.com/NEOAdvancedTechnology/ST2110_pcap_zoo">Examples
of SMPTE ST 2110 pcap files</a></li>
</ul>
<h2 id="nmos">NMOS</h2>
<p>The <a href="https://specs.amwa.tv/nmos">Networked Media Open
Specifications</a> are themselves open source.</p>
<ul>
<li><a href="https://specs.amwa.tv/nmos-testing">AMWA NMOS Testing
Tool</a> - Automated test suites for the AMWA NMOS family of
specifications, as used in the <a
href="https://jt-nm.org/jt-nm_tested/">JT-NM Tested</a> programme</li>
<li><a href="https://github.com/bbc/nmos-joint-ri">BBC NMOS Joint
Reference Implementation</a> - 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.</li>
<li><a href="https://github.com/deltacasttv/nmos-ipvc-samples">DELTACAST
IP Virtual Card NMOS samples</a> - A demonstration of the integration of
several NMOS standards with the DELTACAST IP Virtual Card through <a
href="https://github.com/sony/nmos-cpp">nmos-cpp</a>.</li>
<li><a href="https://github.com/rhastie/easy-nmos">Easy-NMOS</a> - 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.</li>
<li><a href="https://github.com/sony/nmos-cpp">nmos-cpp</a> - 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.</li>
<li><a href="https://github.com/sony/nmos-js">nmos-js</a> - A simple
browser-based NMOS Client/Controller with an IS-04 Registry browser and
IS-05 Connection Management.</li>
<li><a href="https://hub.docker.com/r/rhastie/nmos-cpp">NVIDIA NMOS
Docker</a> - Docker container with Registry and Controller,
IS-04/05/08/07/09, BCP-003-01</li>
<li><a href="https://github.com/NVIDIA/nvnmos">NVIDIA NMOS Library</a>
(NvNmos) - A simple-to-use C/C++ library for adding an NMOS Node to your
application, with support for IS-04, IS-05, BCP-002-01, BCP-002-02,
BCP-004-01, etc.</li>
</ul>
<h2 id="podcasting">Podcasting</h2>
<ul>
<li><a href="https://github.com/AntennaPod/AntennaPod">AntennaPod</a> -
A podcast manager for Android (<a
href="https://antennapod.org/">antennapod.org</a>).</li>
<li><a
href="https://github.com/amugofjava/anytime_podcast_player">Anytime
Podcast Player</a> - Free and easy to use podcast player for Android and
iOS (<a href="https://anytimeplayer.app/">anytimeplayer.app</a>).</li>
<li><a href="https://github.com/ad-aures/castopod">Castopod</a> -
Podcast Hosting and Broadcasting (<a
href="https://castopod.org/">castopod.org</a>).</li>
<li><a href="https://github.com/gpodder/gpodder">gPodder</a> - Media
aggregator and podcast client (<a
href="https://gpodder.org/">gpodder.org</a>).</li>
<li><a href="https://github.com/podlove/podlove-publisher">Podlove
Publisher</a> - Podcast Publisher for WordPress (<a
href="https://podlove.org/podlove-podcast-publisher">podlove.org</a>).</li>
<li><a href="https://github.com/podlove/podlove-ui">Podlove Web
Player</a> - Podcast-optimized, HTML5-based video and audio player (<a
href="https://podlove.org/podlove-web-player">podlove.org</a>).</li>
<li><a href="https://github.com/Ultraschall">Ultraschall</a> - Suite of
Plugins and UI tweaks to use with the DAW <a
href="https://www.reaper.fm/">Reaper</a> tailored towards Podcasters (<a
href="https://ultraschall.fm/">ultraschall.fm</a>)</li>
</ul>
<h2 id="radio-production">Radio Production</h2>
<ul>
<li><a href="https://github.com/sourcefabric/airtime">Airtime</a> -
Radio management application for remote broadcast automation (via
web-based schedule).</li>
<li><a href="https://ardour.org/">Ardour</a> - A digital audio
workstation.</li>
<li><a href="https://www.audacityteam.org/">Audacity</a> -
Cross-platform software for recording and editing sounds.</li>
<li><a href="https://github.com/AzuraCast/AzuraCast">AzuraCast</a> - A
self-hosted web radio management suite.</li>
<li><a href="https://libretime.org/">LibreTime</a> - Radio broadcast
&amp; automation platform (fork of Airtime).</li>
<li><a href="https://github.com/savonet/liquidsoap">Liquidsoap</a> - A
Swiss army knife for multimedia streaming (<a
href="https://www.liquidsoap.info/doc.html">documentation</a>).</li>
<li><a href="https://openbroadcaster.com/">OpenBroadcaster</a> Open
Source LPFM IPTV Broadcast Automation. <a
href="https://github.com/openbroadcaster">Server and Player code
here</a>.</li>
<li><a href="https://github.com/radiorabe/raar">RAAR</a> - A ruby
application to manage and browse an audio archive.</li>
<li><a href="https://github.com/ElvishArtisan/rivendell">Rivendell</a> -
Complete radio broadcast automation solution, translated to many
languages and used worldwide.</li>
</ul>
<h2 id="rundown-automation">Rundown automation</h2>
<ul>
<li><a href="https://github.com/cpvalente/ontime">OnTime</a> - Web based
time keeping system for live events with a broadcast clock view.</li>
<li><a
href="https://github.com/SuperFlyTV/SuperConductor">SuperConductor</a> -
Rundown/playout controller for CasparCG Server, BMD ATEM, OBS Studio,
vMix, OSC-compatible devices, HTTP (REST)-compatible devices among
others.</li>
</ul>
<h2 id="software-defined-radio">Software-defined radio</h2>
<ul>
<li><a href="https://www.gnuradio.org/">GNU Radio</a> - A software
development toolkit that provides signal processing blocks to implement
software radios.</li>
<li><a href="https://gqrx.dk/">Gqrx SDR</a> - An open source software
defined radio receiver (SDR).</li>
<li><a href="https://www.opendigitalradio.org">ODR-mmbTools</a> - Fork
of CRC-mmbTools. Adds live, DAB+, associated data, distributed
infrastructure, SFN.</li>
<li><a
href="https://osmocom.org/projects/rtl-sdr/wiki/rtl-sdr">rtl-sdr</a> -
Turns a Realtek RTL2832 based DVB dongle into a SDR receiver.</li>
<li><a href="https://www.welle.io/">welle.io</a> - An open source DAB
and DAB+ software defined radio (SDR) with support for airspy and
rtlsdr.</li>
</ul>
<h2 id="subtitling">Subtitling</h2>
<ul>
<li><a
href="http://ccextractor.sourceforge.net/about-ccextractor.html">CCExtractor</a>
- A tool that analyzes video files and produces stand-alone subtitle
files.</li>
<li><a
href="https://github.com/ebu/dash.js/tree/ebu-subtitling-dev">EBU-TT-D
Subtitling within dash.js</a> - dash.js fork with EBU-TT-D subtitles in
HTML/CSS overlay. Later added to <a
href="https://github.com/ebu/dash.js">dash.js</a>.</li>
<li><a href="https://github.com/ebu/ebu-tt-d-xsd/">EBU-TT-D W3C XML
Schema</a> - Informative EBU-TT-D XML Schema to support the
implementation of EBU Tech 3380.</li>
<li><a href="https://github.com/ebu/ebu-tt-live-toolkit">EBU-TT Live
Interoperability Toolkit</a> - Components for generating, testing and
distributing <a href="https://tech.ebu.ch/publications/tech3370">EBU-TT
Live</a> subtitles.</li>
<li><a href="https://github.com/bbc/gst-ttml-subtitles">GStreamer TTML
subtitling package</a> - A means for GStreamer pipelines to parse and
render EBU-TT-D (TTML) subtitles.</li>
<li><a href="https://github.com/sandflow/imscJS">imscJS</a> - JavaScript
library for rendering IMSC1 Text and Image Profile documents to
HTML5.</li>
<li><a
href="https://github.com/IRT-Open-Source/irt-ebu-tt-d-application-samples">IRT
EBU-TT-D Application Samples</a> - EBU-TT-D sample files, PNG images and
mp4 videos as rendering references.</li>
<li><a href="https://www.nikse.dk/SubtitleEdit">Subtitle Edit</a> - An
editor for subtitles.</li>
<li><a href="https://github.com/Irt-Open-Source/scf">Subtitling
Conversion Framework (SCF)</a> - Modules for converting subtitle
formats, incl. EBU STL and EBU-TT files.</li>
<li><a href="https://github.com/skynav/ttt">Timed Text Toolkit (ttt)</a>
- Tools that support/use the W3C Timed Text Markup Language (TTML).</li>
</ul>
<h2 id="communication">Communication</h2>
<ul>
<li><a href="https://github.com/Eyevinn/intercom-manager">Intercom
Manager</a> + <a
href="https://github.com/Eyevinn/intercom-frontend">Intercom
Frontend</a> - Intercom system based on built by Eyevinn for SVT.</li>
<li><a href="https://github.com/matiaspl/intercom">DYI intercom</a> -
Hardware + software intercom solution built around Murmur server and
headless Mumble clients based on Rasperry Pi.</li>
</ul>
<h2 id="video-production">Video Production</h2>
<ul>
<li><a href="https://github.com/InsanityRadio/automix/">AutoMix</a> -
Web-based control surface for ATEM vision mixers with automated camera
switching, designed for visualised radio.</li>
<li><a
href="https://github.com/nrkno/tv-automation-mos-connection">MOS-connection</a>
- A JavaScript library for connection and MOS messaging either as MOS
device or NRCS.</li>
<li><a href="https://www.openlighting.org/ola/">Open Lighting
Architecture (OLA)</a> - Travel adaptor for the lighting industry, for
interconnecting DMX-512, IP and USB.</li>
<li><a href="https://www.qlcplus.org/">Q Light Controller+ (QLC+)</a> -
Cross-platform control of DMX or analogue lighting systems (heads,
dimmers, etc.).</li>
<li><a href="https://qprompt.app">QPrompt Teleprompter App</a> -
Convergent teleprompter software that works with studio teleprompters,
tablet teleprompters, webcams, and phones.</li>
<li><a href="http://tallyarbiter.com/">TallyArbiter</a> - Cross-platform
Tally interfacer &amp; tally lights for any camera via phones or
low-cost hardware.</li>
<li><a
href="https://github.com/mattlamb99/vMix-EmberPlus">vMix-EmberPlus</a> -
vMix to EmberPlus gateway. Control vMix from any EmberPlus broadcast
controller like Lawos VSM or EVSs Cerebrum.</li>
</ul>
<h2 id="streaming">Streaming</h2>
<ul>
<li><a href="https://github.com/owncast/owncast">Owncast</a> -
Selfhosted video streaming plattform (https://owncast.online/)</li>
<li><a href="https://github.com/Chocobozzz/PeerTube">PeerTube</a> -
ActivityPub-federated video streaming platform using P2P directly in
your web browser. (https://joinpeertube.org/)</li>
</ul>
<h1 id="resources">Resources</h1>
<p>Various resources, such as books, websites and articles, for
improving your skills and knowledge.</p>
<h2 id="blogs">Blogs</h2>
<ul>
<li><a href="https://github.com/BBC-News-Labs">BBC News Labs</a> - Open
Source projects from BBC News Labs.</li>
<li><a href="https://www.bbc.co.uk/rd">BBC R&amp;D</a> - BBC Research
and Development. Checkout the weekly notes.</li>
<li><a href="http://3dcinecast.blogspot.com/">3D CineCast</a> - A
curation about new media technologies.</li>
<li><a href="https://developers.canal-plus.com/">Canal+</a> - CANAL+
Open Source Community.</li>
<li><a
href="https://web.archive.org/web/20210830075332/https://lab.irt.de/">IRT
Lab</a> - IRT blog posting developments and demos for all digital
audiovisual media technology.</li>
<li><a href="http://techblog.netflix.com/">The Netflix Tech Blog</a> - A
Netflix blog focused on technology and technology issues.</li>
<li><a href="https://youtube-eng.googleblog.com/">Youtube Engineering
and Developers Blog</a> - Whats happening with engineering and
developers at YouTube.</li>
</ul>
<h1 id="contributing">Contributing</h1>
<p>Please see <a
href="https://github.com/ebu/awesome-broadcasting/blob/master/CONTRIBUTING.md">CONTRIBUTING</a>
for details.</p>
<p><a href="https://github.com/ebu/awesome-broadcasting">broadcasting.md
Github</a></p>