683 lines
33 KiB
HTML
683 lines
33 KiB
HTML
<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 & 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 & WiFi</a></li>
|
||
<li><a href="#animation-graphics--video-playout">Animation, Graphics
|
||
& 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 & Quality
|
||
Control</a></li>
|
||
<li><a href="#multimedia-content-processing">Multimedia content
|
||
processing</a></li>
|
||
<li><a href="#network--storage-testing">Network & 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 & 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 & 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 &
|
||
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 & 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 & 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, & reporter for Matroska,
|
||
FFV1, & 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 Adobe’s 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 & 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
|
||
& 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 & 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 Lawo’s VSM or EVS’s 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&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> - What’s 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>
|