Streaming

From Things and Stuff Wiki
Revision as of 03:25, 12 November 2019 by Milk (talk | contribs) (→‎trx)
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

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

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

Radio

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.

ARAS

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



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.

streamtuner2

  • streamtuner2 is an internet radio browser. It looks up the categorized music stations from various directory services

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.

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

Web playback

Other playback

Ripping

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.

Services






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


  • Tizonia - A music player and audio streaming client/server for Linux with support for Spotify, Google Play Music (including Unlimited), SoundCloud and Dirble, with a multimedia framework based on OpenMAX IL 1.2 provisional specification.




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!

Atraci

Jamendo

Apps

Video

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




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.



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

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

  • OBS Studio - Free and open source software for video recording and live streaming. Download and start streaming quickly and easily on Windows, Mac or Linux.

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.

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.

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


to sort







Reddit

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. [12]



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




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

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

DeezLoader

SMLoadr

  • SMLoadr - A streaming music downloader.

nuclear

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.