Streaming

From Things and Stuff Wiki
Revision as of 04:19, 13 January 2024 by Milk (talk | contribs) (→‎Ripping)
Jump to navigation Jump to search


General

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



Audio

  • 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

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


VLC

GNUMP3d

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

trx

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

Geluid

GlassCoder

txproto

  • https://github.com/cyanreg/txproto - 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.

MAST

  • https://github.com/njh/mast - 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

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

DarkIce

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

BUTT

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

AltaCast

jogma

  • https://github.com/wrl/jogma - 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.

ezstream

ShuiCast

  • https://github.com/torteshui/ShuiCast - a plugin for both Winamp and Foobar2000 that provides the ability to broadcast various audio formats to a few of the major broadcasting servers. It is a continuation of the Oddcast/Edcast streaming software that can stream to either Icecast or Shoutcast servers, integrating changes made by the AltaCast and Edcast-Reborn spinoffs. It aims for unifying all the different spinoffs with a better object-oriented design and a clean codebase. It is work in progress (see Status).

streammyaudio

  • https://github.com/schollz/streammyaudio - program/server lets you livestream audio from your computer to a website as easily as possible. How easy? You should be able to just download a release, double-click it, and stream!Use it to play demos for people you know, or make a live podcast, or stream your piano practice, or whatever you'd like.live website: https://streammyaudio.com

ShoutVST

  • https://github.com/Gargaj/ShoutVST - a VST that enables streaming sound into Icecast directly from VST hosts, ideal for streaming live performances directly from applications like Traktor or Ableton without the use of loopback methods.
  • https://github.com/Iunusov/ShoutVST - a VST that enables streaming sound into Icecast/ShoutCast directly from VST hosts, ideal for streaming live performances directly from applications like Traktor or Ableton without the use of loopback methods. Only Windows is supported at the moment.

PipeCast

  • https://github.com/radio0but/PipeCast - a streaming client designed to capture audio and stream it to an Icecast server. The application provides a user-friendly graphical interface that enables users to input the necessary server details and control the streaming process. Leveraging the Qt framework for GUI, PipeWire for audio capture, and libshout, libvorbis, and libogg for encoding and streaming audio data, the app encompasses an adaptive buffer strategy to manage audio data flow efficiently and implements comprehensive error handling to ensure robust operation.

Advanced servers

Shoutcast



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


Icecast



Liquidsoap

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


DeeFuzzer

  • https://github.com/yomguy/DeeFuzzer - 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.


StreamMachine

  • https://github.com/StreamMachine/StreamMachine - 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.


AvCaster

  • https://github.com/bill-auger/av-caster - 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 livecoding.tv, 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

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


ffmpeg-broadcaster

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

txproto

Radio / Playout

  • https://en.wikipedia.org/wiki/Playout - the generation of the source signal of a radio or television channel produced by a broadcaster, coupled with the transmission of this signal for primary distribution or direct-to-audience distribution via any network. Such radio or television distribution networks include terrestrial broadcasting (analogue or digital radio), cable networks, satellites (either for primary distribution intended for cable television headends or for direct reception, DTH / DBS), IPTV, OTT Video, point-to-point transport over managed networks or the public Internet, etc.


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

  • 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

  • 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

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

ARAS

ffplayout

  • ffplayout - the 24/7 cloud ready playout solution. ffplayout is made mostly for Linux, but the engine can run everywhere, where Rust can be compile and ffmpeg run. But outside of Linux you have to use your one startup/daemon solution. The most tested system is Debian, if you have permission problems on systems with Selinux you have to get help from communities how have experience in that area

ffplayout comes in three programs, which are interdependent:

  • ffplayout; this program can run by it self and don’t need the other ones if you don’t need a GUI, then you will be totally fine with it
  • ffplayout-api (ffpapi) the API is the interface between the frontend and the engine, with that you can control the engine
  • ffplayout-frontend the frontend gives you a web based GUI for managing the engine and the media storage

When we talk about the features, we mostly talk about what the ffplayout engine can do. Because this is the heart of the project, and the other ones are only for controlling. The main idea behind ffplayout is, that it works with playlists. Every day has its one playlist, so to have a continuous endless stream every playlist needs to be 24 hours long. When a playlist is not long enough the engine will fill the rest with a filler clip, or with black. Is the playlist longer it will be trimmed. The playlist will be dynamically readed, that mean that you can still edit it, while it is already playing. But you can only change or add clips on a position in the future and next but one clip. In other words: when clip 7 in playlist is currently playing, you can change and add clips after position 9. A second scenario is to, that ffplayout can play clips from a given folder. The engine also monitor this folder for changes. If clips are added; deleted or moved, the engine recognize this and update its file list. the folder mode has two options: 1. it can play in sorted order, or 2. it can play in a random order.

SuperConductor

  • https://github.com/SuperFlyTV/SuperConductor - A playout client for Windows/Linux/macOS that will let you control CasparCG Server, BMD ATEM, OBS Studio, vMix, OSC-compatible devices, HTTP (REST)-compatible devices, and more!

Open Playout Automation

  • https://github.com/jaskie/PlayoutAutomation - television broadcast solution. It is in development in Polish national television broadcaster - TVP (Telewizja Polska) and works as main MCR play-out system in its regional channels. Project uses SVT's CasparCG as clip player. It also intensively uses FFmpeg as media information and transcoding tool. It can be used as a simple (even multi-) channel-in-a-box solution, as well as in much more sophisticated environment (e.g. 2 players and control workstation with additional stuff, as GPI controlled devices).

OpenBroadcaster Multimedia Playout/Server

  • OpenBroadcaster - We provide solutions for Internet radio and IPTV broadcast network specialty channels using open source frameworks. We also provide web television stations, online media libraries, cloud radio automation computing with accessible web tools, and radio automation software and CAP emergency alert systems. Designed to make it easy for Indigenous, First Nations, Metis and Inuit organizations to create television programming in their regional languages and preserve their Indigenous language. Additionally, virtual permissions grid allows organizations to decide how and where their content is shared with their audience.
  • https://github.com/openbroadcaster/obplayer - a stable and secure UNIX-based media streaming playout application that can operate as a standalone player or controlled over a network by a managing OBServer. It can be installed remotely at a transmitter site, in the studio or as multiple virtual headless processes. OBPlayer is built with rules based intelligence to continue broadcasting no matter what happens. It functions by continually syncing with OBServer, looking for updated schedules, media, and priority broadcasts. If there is a blank spot in the schedule, it falls back to a Default Playlist. If that fails, it goes into Fallback Media Mode. If that fails, it plays from the analog input bypass. Finally, it will play a test signal as a last resort. OBPlayer will always play valid CAP (Common Alerting Protocol) Alerts at the highest priority. OBPlayer can be run in a variety of configurations: Headless OBPlayer (CLI Process); LIVE Assist with Mobile HTML5; Touch Screen interface; GTK desktop application for a Digital Display and output to CATV Standalone Emergency Alerting; CAP Player supporting audio, image and video; Support For IPAWS CAP Profile Version 1.0 via Alert-Hub
  • https://github.com/openbroadcaster/observer - One OBServer may manage one or more OBPlayers in a synchronized network configuration or have the server and playout on one device or VM. There is a robust Plugin Module Architecture with many modules extending the core server application. The server has a documented API to enable sharing digital media assets and metadata with revocable secure keys.

CasparCG

  • CasparCG - a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs as a layerbased real-time compositor. It has been in 24/7 broadcast production since 2006. Used by most broadcasters in Europe.
    • https://github.com/CasparCG/server - a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs. It has been in 24/7 broadcast production since 2006. Ready-to-use downloads are available under the Releases tab
    • https://github.com/CasparCG/client - Client software primarily used with the CasparCG Server software for audio and video playout, to control graphics and recording, but it can also be used for other tasks within television broadcast.
  • https://github.com/CasparCG/media-scanner - A service used with CasparCG Server software for scanning media located on the server. Queried with query and thumbnail commands through CasparCG Server using AMCP.

Nebula

  • Nebula - an open-source media asset management (MAM) and broadcast automation system. Powerful and stable enough to run 24/7 multichannel TV or radio broadcast or OTT services, both on-premises or in a shared environment with great emphasis on simplicity, flexibility, and speed.
    • https://github.com/nebulabroadcast/nebula - an open source broadcast automation and media asset management system for television, radio and VOD platforms. Since 2012 Nebula has proven stable and reliable software in 24/7 broadcast environment and it is now used by TV and production companies worldwide. Simple and fast media catalog based on EBU Core includes a description of asset genre, editorial format, atmosphere, rights, relations, and technical metadata, while its very fast search engine makes navigation among media files very easy. A preliminary media analysis and normalization guarantee its standards compliance. This process includes metadata extraction, aspect ratio fixing, crop and rotation detection, smart frame rate and size normalization and EBU R128 loudness correction. Automatic cross-conversion servers transcode files for playout, web, low-res proxies, customer previews, etc. For h.264 and HEVC, Nebula can take advantage of NVIDIA nvenc and leverage the speed of transcoding using GPUs. Firefly client provides a simple and user-friendly way to schedule linear broadcasting. Macro- and micro-scheduling patterns are finished intuitively using drag&drop, including live events.


Conti

  • https://github.com/immstudios/conti - a simple linear video playout server. It enables you to broadcast your video files with minimal configuration and hardware requirements. Conti demo script can be modified to run simple stand-alone channels such as lobby TVs, info channels, community TV stations, and so on. For more complex projects, Nebula broadcast automation system can be used for scheduling and playout control.

Comfy Channel

SPX

  • SPX Graphics - for Professional LIVE Video and Events Production - developed for professional broadcast and streaming video workflows for managing and controlling lower thirds and other dynamic, live, network quality graphics. A pack of customizable graphics comes with the application and more can be installed at any time when needed.
    • https://github.com/TuomoKu/SPX-GC - professional graphics controller for live television productions and web streaming. Browser based GUI can control HTML graphics templates on CasparCG server(s) and/or live stream applications such as OBS, vMix or Wirecast.

Bridge

Loopstream

  • Loopstream - Welcome to the brand new kickass streamdesk. Let's start with a list of what Loopstream can do. Loopstream lets you... DJ using any software that produces sound smoothly lower the music vol. as it turns on your mic to voiceover use a range of supported media players to have tags in your stream ...or add support yourself through the flexible tag reader module

AutoRadio

  • Auto Radio - Radio automation software. Starting from media files manages broadcasting over a radio-station. The main components are: Player, Scheduler and WEB user interface. Developed with Python, Django, Xmms it works in an production environment. Old!

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.

MellowPlayer

  • https://github.com/ColinDuquesnoy/MellowPlayer - 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

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

streamtuner

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

Gradio

Shortwave

Tuner

krudio

QRadioTray

ExclusiveRadio

CLI playback

radio.py

  • radio.py - 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 radio.py is very simple. Record radio streams. Sleep and Wake-Up features. Search Tune-In for new stations.

DRadio

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

pmrp

Curseradio

pyradio

PyRadio


Shelldio

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

radio-active

Web playback

audioplayer


KlangSendWS

Radiolise

Radiocloud

Other playback


Ripping

  • https://github.com/54ac/stream-detector - This is a Firefox addon written in JavaScript which provides an easy way to keep track of URLs to playlists and subtitles used by Apple HLS, Adobe HDS, MPEG-DASH, and Microsoft Smooth Streaming streams as well as download video/audio files directly and monitor any other file extensions and Content-Type headers.

Also assembles readymade yt-dlp/FFmpeg/Streamlink/hlsdl/N_m3u8DL-RE commands which (should) include all of the necessary cookies and headers.

Streamripper

  • Streamripper - GPL application that lets you record streaming mp3 to your hard drive
streamripper "http://107.182.233.214:8004/stream3/" -u "test" -r
  # record a station, change userid as streamripper is blacklisted on some servers, relay the stream to localhost port 8000
Streamtuner
  • http://www.nongnu.org/streamtuner 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 Xiph.org (aka icecast.org, aka Oddsock) directory, Browse the basic.ch 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
  • 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
  • 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.


mightyMixxxTapper

Video

See also Video, Visuals


  • https://en.wikipedia.org/wiki/Switched_video - 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.






Systems

IPTV

  • https://en.wikipedia.org/wiki/IPTV - 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.




  • Megacubo - an intuitive, multi-language and cross-platform IPTV player with support for history, bookmarks and much more. You can add as many IPTV lists you want (M3U format) and record live broadcasts to your PC or device. With Miniplayer mode, you can work or navigate on your PC while watching any broadcast.

RTSP

  • https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol - 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).

SRT

  • https://en.wikipedia.org/wiki/Secure_Reliable_Transport - 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.


Server

Tvheadend

  • 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

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

VLMa

  • 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

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

nginx-rtmp-module

  • 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

libav-RTMP-Streaming

RTMP-Playlist

rtspdump

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

Flumotion

  • 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



  • https://github.com/exeldro/obs-audio-monitor - Plugin for OBS Studio to add Audio Monitor dock and filter. It allows you to put the audio of a OBS source to an audio device by adding the Audio Monitor filter on the Source in OBS Studio.


  • https://github.com/Xaymar/obs-StreamFX - 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




PyLivestream

Theora Streaming Studio

WebcamStudio

Livestreamer

  • 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


videostreamer

  • https://github.com/horgh/videostreamer - 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.

NGINX

Websockets


Streama

UltraGrid

  • https://github.com/CESNET/UltraGrid - 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

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

kimera

ZLMediaKit

Owncast

Boltstream

Music

  • https://github.com/torch2424/live-stream-radio - 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.

P2P

BitTorrent

See also Sharing#BitTorrent




Peer5

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

Fastcast


Ripping

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


Various






  • 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. [9]



  • https://github.com/streamlink/streamlink - 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



  • https://github.com/LordTocs/CastMate - an all-in-one Broadcaster Automation Suite for Twitch. It allows you to build compelling interactive stream setups using without writing any code. It features simple click and drag automations and overlays. Triggers In CastMate you can setup triggers to respond to twitch events like channel point redemptions, bits being cheered, gaining a follower, receiving a sub, chat messages, being raided, hype trains, and more. In response to a trigger you can setup any number of actions using the click and drag UI.

AVTP

  • https://en.wikipedia.org/wiki/Audio_Video_Bridging - 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).

Wifibroadcast




  • https://github.com/rodizio1/EZ-WifiBroadcast - 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.



  • https://github.com/OpenHD/Open.HD - 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.

Services



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


YouTube

Web tools


Desktop player



  • https://github.com/Wojnstup/Pipecat - 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








Reddit


Services






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



SoundCloud


youtube-dl --download-archive completed.txt --add-metadata --write-thumbnail -c -i -r 500K https://soundcloud.com/USERNAME/likes



Spotify

Adverts for free accounts





  • https://github.com/SecUpwN/Spotify-AdKiller - 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!



  • https://github.com/dtcooper/raspotify - a Debian package and associated repository for Debian Stable (Currently Debian 11 "Bullseye") and other Debian Stable based/compatible OS's (your mileage may vary) which thinly wraps a fork of the awesome librespot library by Paul Lietar and others up as a systemd daemon. Raspotify is intended to be used in a headless enviroment. For desktop OS's spotifyd offers similar functionality and is a better choice. If you're looking for a turnkey audio solution for Raspberry Pi's with Spotify Connect support we recommend moOde™ audio player. Librespot, and therefore Raspotify, requires a premium account.




  • https://github.com/librespot-org/librespot - an open source client library for Spotify. It enables applications to use Spotify's service to control and play music via various backends, and to act as a Spotify Connect receiver. It is an alternative to the official and now deprecated closed-source libspotify. Additionally, it will provide extra features which are not available in the official library.
  • https://github.com/kraxarn/spotify-qt - An unofficial Spotify client using Qt as a simpler, lighter alternative to the official client. Please note that you need an actual Spotify client running, for example librespot, which can be configured from within the app.

Atraci

Jamendo

Apps


Downloading

youtube-dl

youtube-dl --list-formats https://www.youtube.com/watch?v=9D05ej8u-gU
  # see formats/quality available for audio and video 
youtube-dl --extract-audio --audio-format mp3 --audio-quality 0 "https://www.youtube.com/watch?v=zr5-50ZEQs4"
  # save video to mp3
mpv --vid=no "https://www.youtube.com/watch?v=bkxP1TLvegE" --ytdl-format="worst"
 # use mpv, discard video, use lowest bitrate audio, for streaming live events


  • https://github.com/JannikHv/gydl - 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.


you-get

  • https://github.com/soimort/you-get - 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.

avideo

  • https://notabug.org/GPast/avideo - 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.

SoundScrape


bandcamp_downloader


bandcamp-dl

bandcamp-collection-downloader

DeezLoader

SMLoadr

  • SMLoadr - A streaming music downloader.

nuclear

audio-scraper

Playback

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



  • https://github.com/Atraci/Atraci - 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.