From Things and Stuff Wiki
Jump to navigation Jump to search


See also Audio streams, HTTP, Networking, Playback, Sharing#Streaming, VoIP (voice/video/text/file in browser), Distros#Media


  • BS1770GAIN - a loudness scanner compliant with ITU-R BS.1770 and its flavors EBU R128, ATSC A/85, and ReplayGain 2.0. It helps normalizing the loudness of audio and video files to the same level.

Basic servers

ssh [user]@[host] "ogg123 -" < [podcast].ogg

ssh [user]@[address] "mpg321 -" < [file].mp3

rtl_fm -f 90.4e6 -W -s 110k -r 48k - | sox -traw -r48k -es -b16 -c1 -V1 - -tmp3 - | socat -u - TCP-LISTEN:8080
This is the command I use to listen in Ubuntu: netcat 192.168... 8080 | play -t mp3 -
  # doesn't work?
sox -traw -r180k -es -b16 -c1 -V1 - -t flac - | cvlc - --sout ‘#standard{access=http,mux=ogg,dst=localhost:8080/audio.ogg}’
  # doesn't work?


ffmpeg -i <input> -c:a libopus -b:a bitrate <output>
ffmpeg … -f matroska - | process
  # pipe output to another program

modprobe snd-aloop pcm_substreams=1



  • GNUMP3d - a streaming server for MP3s, OGG vorbis files, movies and other media formats.


  • trx - a simple toolset for broadcasting live audio from Linux. It sends and receives encoded audio over IP networks, via a soundcard or audio interface. It can be used for point-to-point audio links or multicast, eg. private transmitter links for a radio station or other live audio distribution. In contrast to traditional streaming, high quality wideband audio (such as music) can be sent with low-latency, typically as low as a few milliseconds, and incredibly fast recovery from dropouts. It works favourable as a replacement for traditional ISDN lines and hardware ISDN codecs. Features include: Very simple to set up, Low latency with fast recovery from dropouts, Full control over latency and buffers, Supports IPv4 and IPv6, including multicast. Unlike TCP streaming such as Icecast, trx uses RTP/UDP with handling of dropped packets and network congestion that is more appropriate to live or realtime audio. Much of this comes courtesy of the brilliant Opus audio codec. The result is an incredibly graceful handling of network loss or dropouts.




  • - Records and streams. Think of it as a bloatless, NIH-less OBS. Configuration is currently done via src/txproto_main.c, at the very end of the file. Toggle the if 0/1 flags to enable/disable features like mixing and filtering. Change the encoder to h264_vaapi to enable hardware encoding. Change the source via the _target parameters of the capture context structures. All available sources are listed on capture system init.There's currently a single command line argument used - the destination URL. If there's http in the name, the muxer is switched to dash. If rtmp is present, the flv protocol is used.


  • - set of command line tools for working with multicast Audio over IP streams that use the Real Time Protocol (RTP). It can be used to interoperate with audio streams that are compatible with the AES67 standard.

Source clients


  • IceS - a source client for the Icecast streaming server. The purpose of this client is to provide an audio stream to Icecast, so that one or more listeners can access the stream. With this layout, the source client can be situated remotely from the Icecast server.The primary example of a streaming server used is Icecast 2, although others could be used if certain conditions are met.IceS 2.x supports sending an Ogg Vorbis stream to an Icecast server.For MP3 support you may want to take a look at IceS 0.x.


  • DarkSnow - GUI for DarkIce. The Revolution Will Be Streamed.


  • butt - broadcast using this tool, an easy to use, multi OS streaming tool. It supports SHOUTcast and Icecast and runs on Linux, Mac OS X and Windows. The main purpose of butt is to stream live audio data from your computers Mic or Line input to an Shoutcast or Icecast server. Recording is also possible. It is NOT intended to be a server by itself or automatically stream a set of audio files.



  • - a program that streams OggFLAC data to an Icecast 2.4.0 server from JACK. it does not do anything else. just OggFLAC, just Iceast 2.4.0, and just JACK.


Advanced servers


  • ShoutCastProxy - When you're in a building where more then one user in different rooms is listening to the same ShoutCast audio-stream, bandwidth is wasted: that's where ShoutCastProxy comes in.You can run ShoutCastProxy on a central server. It'll connect to a certain server if any client is connecting and automatically disconnects if no clients are listening.You can, of course, also chain multiple proxies.



  • Liquidsoap - a powerful and flexible language for describing your streams. It offers a rich collection of operators that you can combine at will, giving you more power than you need for creating or transforming streams. But liquidsoap is still very light and easy to use, in the Unix tradition of simple strong components working together. A swiss-army knife for multimedia streaming, notably used for netradios and webtvs. It has tons of features, it's free and it's open-source!


  • - a light and instant application for streaming audio and video over internet. It is dedicated to communities who wants to easily create web radios, web TVs, live multimedia relays or personal home radios, with metadata management and cool features.


  • - an open-source streaming audio server aimed at pushing innovation for radio stations that have spent too many years running old technology like Shoutcast and Icecast. The project has two goals: emulating the traditional streaming experience and building support for new features that push the radio listening experience forward. Currently StreamMachine supports traditional Shoutcast-style streaming and HTTP Live Streaming.


  • - built upon the JUCE framework, utilizing gStreamer as the media backend and libircclient as the chat backend. It is currently capable of recording to file or streaming to an RTMP server with screen capture (full-screen), webcam (full-screen or overlay), and audio (mono or stereo). It is moderately configurable, with preset configurations for streaming via popular servers such as, and allows custom user-defined configurations to be stored as additional presets. This initial target is GNU/Linux, but it has been designed for portability and includes starter projects for AndroidStudio, CodeBlocks, VisualStudio, and xCode IDEs. Let us know if it would interest you to see AvCaster ported to another platform (e.g. Windows, Mac, mobile) by leaving a note on the relevant Cross-platform Milestone issue. Feel free to open issues for other platforms if they are not yet listed.


  • AzuraCast - a self-hosted, all-in-one web radio management kit. Using its easy installer and powerful but intuitive web interface, you can start up a fully working web radio station in a few quick minutes. AzuraCast works for web radio stations of all types and sizes, and is built to run on even the most affordable VPS web hosts.


  • - two analogous shell scripts for broadcasting liveany of desktop screen capture, webcam, audio, static images, text overlaythrough RTMP/flash/wowza servers such as and ffmpeg implementation - full-featured and works quite well. gstreamer implementetion - work in progress


Internet DJ Console

  • Internet DJ Console is a project started in March 2005 to provide a powerful yet easy to use source-client for individuals interested in streaming live radio shows over the Internet using Shoutcast or Icecast servers. Because of the large number of streaming applications that already existed but did little more than stream a pair of audio channels or a fixed playlist, it was decided that IDJC would be the opposite and simulate audio hardware to cut down the expense of creating a home studio.


  • Rivendell - a complete radio broadcast automation solution, with facilities for the acquisition, management, scheduling and playout of audio content. It has all of the features one would expect in a modern, fully-fledged radio automation system, including support for both PCM and MPEG audio encoding, full voicetracking and log customization as well as support for a wide variety of third party software and hardware. As a robust, functionally complete digital audio system for broadcast radio applications, Rivendell uses industry standard components like the GNU/Linux Operating System, the AudioScience HPI Driver Architecture and the MySQL Database Engine. Rivendell is available under the GNU Public License.


  • Airtime - online radio has never been easier. Airtime's intuitive interface lets you drag and drop shows for simple programming. Organise and collaborate with producers, DJs and programmers, wherever they are. Stream direct to Icecast or SHOUTcast, and show what's playing with widgets.


  • LibreTime - an open source radio automation and broadcasting solution helping communities get on-air with ease.The platform can be easily deployed on dedicated hardware and VMs, on-prem or in the cloud, “free as in freedom” free. An open source radio automation and broadcasting solution helping communities get online or terrestrial radio stations on-air with ease. It is a community managed fork of the AirTime project. It is managed by a friendly inclusive community of stations from around the globe that use, document and improve LibreTime. The platform can be easily deployed on dedicated hardware and VMs, on-prem or in the cloud, “free as in freedom” free.


GUI playback

Radio Tray

  • RadioTray - a simple music streaming player that lives on the system tray. By clicking on the RadioTray icon, you'll be presented with a list of pre-configured online radios. By selecting one of those radios, it will start playing.

Right now, Radio Tray bundles with pre-configured radios. But you can and should add more manually. Adding online radios to the list is very simple. By right-clicking the RadioTray icon and selecting "Config radios...", you may add the name and URL of an online radio. This version allows you to add direct URLs (to media streams or files) and URLs pointing at playlist formats (pls, m3u, asx, wax, wvx). RadioTray was written in Python and uses gtk and gstreamer libraries (you'll need these to run RadioTray).

Radio Tray NG

Radio Tray Lite

Great Little Radio Player

  • Great Little Radio Player - A robust internet radio station streamer for various Linux distributions. It connects to web sites offering radio streaming and lets you play radio stations directly from that locations.

Nuvola Player

  • Nuvola Player is a runtime for web-based music streaming services providing more native user experience and integration with Linux desktop environments than usual web browsers can offer. It tries to feel and look like a native application as possible.


  • - a free, open source and cross-platform desktop application that runs web-based music streaming services in its own window and provides integration with your desktop (hotkeys, multimedia keys, system tray, notifications and more). MellowPlayer is a Qt based alternative to NuvolaPlayer initially crafted for KaOS. MellowPlayer is written in C++ and QML.


  • piwadio - Web Radio Player ( python websockets server / Mplayer - HTML5 client )


  • streamtuner - a stream directory browser. Through the use of a plugin system, it offers an intuitive GTK+ 2.0 interface to Internet radio directories such as SHOUTcast and Live365.







CLI playback

  • - a command-line frontend for mplayer designed to make listening to online radio easy. Features: Allows you to easily play your favorite online radio stations. Adding new stations to is very simple. Record radio streams. Sleep and Wake-Up features. Search Tune-In for new stations.


  • DRadio - a Danmarks Radio netradio, podcast, and TV player. It is a terminal based frontend to MPlayer that collects the available channels/podcasts for convenient browsing.






  • - Ένα απλό shell script για να παίζετε στο Linux, macOS και BSD τερματικό, τους αγαπημένους σας online ραδιοφωνικούς σταθμούς


Web playback




Other playback



  • Streamripper - GPL application that lets you record streaming mp3 to your hard drive
streamripper "" -u "test" -r
  # record a station, change userid as streamripper is blacklisted on some servers, relay the stream to localhost port 8000
  • streamtuner - a stream directory browser. Through the use of a plugin system, it offers an intuitive GTK+ 2.0 interface to Internet radio directories such as SHOUTcast and Live365. With streamtuner, you can: Browse the SHOUTcast Yellow Pages, Browse the Live365 directory, Browse the (aka, aka Oddsock) directory, Browse the DJ mixes, Manage your local music collection, with full support for ID3 and Vorbis metadata editing, Listen to streams, browse their web page, or record them using programs such as Streamripper,

Implement new directory handlers as tiny Python scripts or as dynamically loadable modules written in C, Retain your favourite streams by bookmarking them, Manually add streams to your collection.

  • TunaPie - a directory browser for Internet radio and TV streams. In theory it should work on any UNIX-based system. It has been tested on Linux and Max OS X. As of 0.9.6, it is compatible with the Icecast directory as well as the Shoutcast (winamp) stream directory service. Tunapie allows you to search for streams and then launch your audio player (XMMS) or NSV viewer (Mplayer) of choice. It also allows recording of audio and video streams using streamripper.
  • KStreamRipper - (formaly KRadioRipper) is a GUI program for recording Internet radios and other streams which comes with a stream catalog. It can split the stream and create an own file for each track - with corresponding metadata.


  • 8tracks - internet radio created by people, not algorithms.


youtube-dl --download-archive completed.txt --add-metadata --write-thumbnail -c -i -r 500K


Adverts for free accounts

  • - We all love Spotify, but sometimes people (like us) want to throw a party without having to listen to interrupting ads before having bought Spotify Premium. Well, with this killer project, now you can! This is for testing purposes ONLY! Spotify is a fantastic service and worth every penny. This script is NOT meant to circumvent buying premium! Please do consider switching to premium to support Spotify - especially if you're going to use it on mobile. If the script does not work for you, help us improve it!





  • - or switched digital video (SDV), sometimes referred to as switched broadcast (SWB), is a telecommunications industry term for a network scheme for distributing digital video via a cable. Switched video sends the digital video in a more efficient manner so that additional uses may be made of the freed up bandwidth. The scheme applies to digital video distribution both on typical cable TV systems using QAM channels, or on IPTV systems. Users of analog video transmitted on the cable are unaffected.



  • - the delivery of television content over Internet Protocol (IP) networks. This is in contrast to delivery through traditional terrestrial, satellite, and cable television formats. Unlike downloaded media, IPTV offers the ability to stream the source media continuously. As a result, a client media player can begin playing the content (such as a TV channel) almost immediately. This is known as streaming media.


  • - a network control protocol designed for use in entertainment and communications systems to control streaming media servers. The protocol is used for establishing and controlling media sessions between end points. Clients of media servers issue VHS-style commands, such as play, record and pause, to facilitate real-time control of the media streaming from the server to a client (Video On Demand) or from a client to the server (Voice Recording). The transmission of streaming data itself is not a task of RTSP. Most RTSP servers use the Real-time Transport Protocol (RTP) in conjunction with Real-time Control Protocol (RTCP) for media stream delivery. However, some vendors implement proprietary transport protocols. The RTSP server software from RealNetworks, for example, also used RealNetworks' proprietary Real Data Transport (RDT).


  • - an open source video transport protocol developed originally by Haivision. According to SRT Alliance, an organisation that promotes the technology, it optimises streaming performance across unpredictable networks, such as the Internet, by dynamically adapting to the real-time network conditions between transport endpoints. This helps minimise effects of jitter and bandwidth changes, while error-correction mechanisms help minimise packet loss. SRT supports end-to-end encryption with AES.[1] When performing retransmissions, SRT only attempts to retransmit packets for a limited amount of time based on the latency as configured by the application.



  • Tvheadend - a TV streaming server and recorder for Linux, FreeBSD and Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T, IPTV, SAT>IP and HDHomeRun as input sources. Tvheadend offers the HTTP (VLC, MPlayer), HTSP (Kodi, Movian) and SAT>IP streaming. Multiple EPG sources are supported (over-the-air DVB and ATSC including OpenTV DVB extensions, XMLTV, PyXML). The Analog video (V4L) is supported directly up to version 3.4. In recent version, the pipe:// source (in IPTV network) might be used to obtain the MPEG-TS stream generated by ffmpeg/libav from a V4L device.


  • DVBlast - a simple and powerful MPEG-2/TS demux and streaming application.


  • VLMa - an application to manage broadcasts of TV channels, received through digital terrestrial or satellite ways. Its interface is provided as a web-site written in Java. It is also capable of streaming audio and video files. VLMa consists of a deamon (called VLMad) and a web interface (called VLMaw).


  • Multicat - Simple and efficient multicast and transport stream manipulation.


  • Streaming with nginx-rtmp-module - provides HLS and MPEG-DASH live streaming capabilities for those who want a lightweight solution based on the HTTP protocol. The stream is published in the MPEG-TS format over HTTP. This makes it possible to use all the power and flexibility of nginx HTTP configurations including SSL, access control, logging, request limiting etc. MPEG-TS is a widely adopted, well known and well documented streaming format.

C++ RTMP Server




  • rtspdump - a Windows program which downloads multimedia stream (such as live broadcasts) from a Microsoft WMServer.


  • Flumotion - a streaming media server created with the backing of Fluendo. It features intuitive graphical administration tools, making the task of setting up and manipulating audio and video streams easy for even novice system administrators. Flumotion is released under the LGPL.

OBS Studio

  • - plugin for OBS® Studio which adds many new effects, filters, sources, transitions and encoders - all for free! Be it 3D Transform, Blur, complex Masking, or even custom shaders


Theora Streaming Studio



  • Livestreamer - a command-line utility that pipes video streams from various services into a video player, such as VLC. The main purpose of Livestreamer is to allow the user to avoid buggy and CPU heavy flash plugins but still be able to enjoy various streamed content.

Afrostream Media Servers


  • - provides a way to stream video from an input source to HTTP. It remuxes a video input into an MP4 container which it streams to connecting clients. This provides the ability to stream an input source that may have limited connections (it opens at most one connection to the input), is not accessible via HTTP, or is not easily embeddable in a website.





  • - UltraGrid brought by CESNET's Laboratory of Advanced Networking Technologies (Sitola) is a software implementation of high-quality low-latency video and audio transmissions using commodity PC and Mac hardware. Supported resolutions range through HD (1920x1080) up to 4K (4096x2160) with up to 60 frames per second. The high-quality is achieved either by using uncompressed streams or streams with very low compression ratio. End-to-end transmission latency (i.e., all the way from the camera to the display) is about 100ms, but it varies based on camera and capture cards being used. UltraGrid was originally a research project used to demonstrate the possibilities of 10Gbps networks and to study multi-point data distribution in such environments. Recent advances in the field of GPU-accelerated low-latency codecs extend its usability also to Gigabit networks. UltraGrid is supported on PCs with Linux operating system and Macs with MacOS X.


  • Plumi - enables you to create your own sophisticated video-sharing site. It includes a beautiful adaptive skin using Diazo, server-side transcoding of most video formats, upload progress bar, thumbnail extraction, HTML5 video playback and embedding, subtitles using Amara, large file uploading via FTP, social media integration, threaded commenting and user feedback forms, customised user profiles and a range of other useful features.






  • - a 24/7 live stream video radio station video_camera radio CLI built with Node.js and powered by FFmpeg. Meaning, This will allow for live streaming a video of music, playing over a video/gif, with the music information, and other overlay items framed_picture. Music and video are chosen from their respective folders in a defined config.json that can be generated using the CLI. Generated projects come included with some songs and videos to get up and running quickly! Also, this project has a REST HTTP JSON Api, to allow for interfacing with your stream using a frontend woman_technologist.



See also Sharing#BitTorrent


  • Peer5 - a peer-to-peer Content Delivery Network (P2P CDN) for massively-scaled HLS & MPEG-DASH streaming. We dynamically construct an elastic mesh network consisting of viewers that integrates seamlessly with the existing edge server infrastructure and dramatically improves its performance, creating the ultimate Multi-CDN.



  • yuptude! - a tiny bookmarklet that you can use to speed up or slow down videos in your browser.With yuptude, you can control videos on Netflix, YouTube and many other sites that use HTML5 video.And it works in popular browsers on both Windows & Mac computers.


Web tools

Desktop player

  • - A command line Youtube music player written in python. It's an app written for Linux. It also supports offline playlists that are stored in a playlists.db file.

Streaming tools

to sort



  • GMiMMS - a frontend to MiMMS (Multimedia Stream ripper). It uses GTK+-2.x for the graphical userinterface. It is mainly written for Linux but should also be able to be compiled for Windows®. It is very easy to be used. You just specify the Multimedia-Stream URL and the output file and GMiMMS runs MiMMS in an other thread. You can also specify the mms-method and the length of the recording in minutes.

  • Wazzuf Ripper - a shell script (bash) to rip various media as DVD (Digital Versatile Disc) and BD (Blu-ray Disc) to .mkv file(s) (Matroska container).


  • Ingex is a branded technology from BBC Research & Development It is a suite of open source software applications designed for low-cost flexible tapeless recording in: AV Production, and Archiving Facilites

  • Stremio is an app that helps you organize and instantly watch your favorite videos, movies, TV series and TV channels. [15]

  • - a CLI utility that pipes flash videos from online streaming services to a variety of video players such as VLC, or alternatively, a browser. The main purpose of streamlink is to convert CPU-heavy flash plugins to a less CPU-intensive format. Streamlink is a fork of the Livestreamer project.

  • tube - a Youtube-like (without censorship and features you don't need!) Video Sharing App written in Go which also supports automatic transcoding to MP4 H.265 AAC, multiple collections and RSS feed


  • - a common name for the set of technical standards developed by the Institute of Electrical and Electronics Engineers (IEEE) Audio Video Bridging Task Group of the IEEE 802.1 standards committee. This task group was renamed to Time-Sensitive Networking Task Group in November 2012 to reflect the expanded scope of work. The charter of this organization is to "provide the specifications that will allow time-synchronized low latency streaming services through IEEE 802 networks". These consist of: IEEE 802.1BA: Audio Video Bridging (AVB) Systems; IEEE 802.1AS: Timing and Synchronization for Time-Sensitive Applications (gPTP); IEEE 802.1Qat: Stream Reservation Protocol (SRP); and IEEE 802.1Qav: Forwarding and Queuing for Time-Sensitive Streams (FQTSS).


  • - a radically simple digital data transmission system. A bidirectional data link is established using commercial off-the-shelf hardware like WiFi modules and a pair of Raspberry Pi computers. Coupled with special software this unique system allowes transmission of low latency HD video, telemetry and control data between endpoints. In comparison to a classical wireless connection Ez-WifiBroadcast tries to imitate the famous properties of an analog link like graceful signal degradation and no association between the endpoints.EZ-WifiBroadcast system is based on Befinitiv's Wifibroadcast project but since then has signicantly evolved and matured thanks to the active support from open source community members.

  • - This project uses ordinary Wi-Fi in a way that replicates the good characteristics of analog radio. We are transmitting and receiving HD video, telemetry, audio, and control data all in one solution. Our primary user group is FPV UAV users. As such the display/receiver side also includes a very full featured OSD. This is also augmented by an optional android app that connects to the system and facilitates settings changes.

  • Long-distance Video Streaming · PX4 Developer Guide - This page shows how to set up a companion computer with a camera (Logitech C920 or RaspberryPi camera) such that the video stream is transferred from the UAV to a ground computer and displayed in QGroundControl. The mechanism also provide a bidirectional telemetry link (i.e. like SiK radio). This setup uses WiFi in unconnected (broadcast) mode and software from the Wifibroadcast project.



youtube-dl --list-formats
  # see formats/quality available for audio and video 
youtube-dl --extract-audio --audio-format mp3 --audio-quality 0 ""
  # save video to mp3
mpv --vid=no "" --ytdl-format="worst"
 # use mpv, discard video, use lowest bitrate audio, for streaming live events

  • - Gydl (Graphical Youtube-dl) is a GUI wrapper around the already existing youtube-dl program. It's developed with a dialog driven experience in mind. This provides a quick and easy video or audio downloads without disturbances.


  • - a tiny command-line utility to download media contents (videos, audios, images) from the Web, in case there is no other handy way to do it.


  • - a powerful, 100% libre video and audio downloader for GNU/Linux. With your freedom and privacy a #\1 priority, avideo offers you peace of mind in watching everything from world news and documentaries to the latest cat videos.






  • SMLoadr - A streaming music downloader.



  • Streamlink - a command-line utility that pipes video streams from various services into a video player, such as VLC. The main purpose of Streamlink is to allow the user to avoid buggy and CPU heavy flash plugins but still be able to enjoy various streamed content. There is also an API available for developers who want access to the video stream data. This project was forked from Livestreamer, which is no longer maintained.
  • Livestreamer - a command-line utility that pipes video streams from various services into a video player, such as VLC. The main purpose of Livestreamer is to allow the user to avoid buggy and CPU heavy flash plugins but still be able to enjoy various streamed content. There is also an API available for developers who want access to the video stream data.

  • - a streaming application for Windows, Mac and Linux that lets you listen instantly to more than 60 million songs (way more than iTunes's 26 million). It requires no sign up, displays no ads and is 100% safe.