All Projects → connor-brooks → Play_stdin.sh

connor-brooks / Play_stdin.sh

Licence: gpl-2.0
A set of lightweight scripts to stream audio between two *nix machines. Perfect for use with a Raspberry Pi

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Play stdin.sh

Magicalexoplayer
The Easiest Way To Play/Stream Video And Audio Using Google ExoPlayer In Your Android Application
Stars: ✭ 171 (+205.36%)
Mutual labels:  stream, audio
Lms
Lightweight Music Server. Access your self-hosted music using a web interface.
Stars: ✭ 315 (+462.5%)
Mutual labels:  raspberry-pi, audio
Audioplayer
Audio Player for Nextcloud and ownCloud
Stars: ✭ 179 (+219.64%)
Mutual labels:  stream, audio
Otto
Sampler, Sequencer, Multi-engine synth and effects - in a box! [WIP]
Stars: ✭ 2,390 (+4167.86%)
Mutual labels:  raspberry-pi, audio
Homebridge Camera Ffmpeg
Homebridge Plugin Providing FFmpeg-based Camera Support
Stars: ✭ 726 (+1196.43%)
Mutual labels:  stream, audio
Mt32 Pi
🎹🎶 A baremetal kernel that turns your Raspberry Pi 3 or later into a Roland MT-32 emulator and SoundFont synthesizer based on Circle, Munt, and FluidSynth.
Stars: ✭ 231 (+312.5%)
Mutual labels:  raspberry-pi, audio
Facebook Live Reactions
The easiest way to create interactive Facebook live streams. Displays reaction count and live shoutouts :)
Stars: ✭ 284 (+407.14%)
Mutual labels:  stream, audio
Fas
C Pixels-based graphical audio synthesizer implemented as a WebSocket server
Stars: ✭ 100 (+78.57%)
Mutual labels:  raspberry-pi, audio
Rpi Audio Receiver
Raspberry Pi Audio Receiver with Bluetooth A2DP, AirPlay, UPnP and Spotify Connect
Stars: ✭ 650 (+1060.71%)
Mutual labels:  raspberry-pi, audio
Ustreamer
µStreamer - Lightweight and fast MJPG-HTTP streamer
Stars: ✭ 533 (+851.79%)
Mutual labels:  stream, raspberry-pi
Multi Room Audio Centralized Audio For Home
🎵 This Github Repository provides details on setting up a centralized audio system for your home using nothing but Raspberry Pi's and Old Speakers.
Stars: ✭ 189 (+237.5%)
Mutual labels:  raspberry-pi, audio
Rsoundio
Rust binding for libsound.io
Stars: ✭ 40 (-28.57%)
Mutual labels:  stream, audio
Dtln
Tensorflow 2.x implementation of the DTLN real time speech denoising model. With TF-lite, ONNX and real-time audio processing support.
Stars: ✭ 147 (+162.5%)
Mutual labels:  raspberry-pi, audio
App Media
Elements for accessing data from media input devices and visualizing that data for users
Stars: ✭ 60 (+7.14%)
Mutual labels:  stream, audio
Amplipi
Whole House Audio System 🔊
Stars: ✭ 125 (+123.21%)
Mutual labels:  raspberry-pi, audio
Render Media
Intelligently render media files in the browser
Stars: ✭ 181 (+223.21%)
Mutual labels:  stream, audio
Balena Sound
Build a single or multi-room streamer for an existing audio device using a Raspberry Pi! Supports Bluetooth, Airplay and Spotify Connect
Stars: ✭ 1,306 (+2232.14%)
Mutual labels:  raspberry-pi, audio
Processing Sound
Audio library for Processing built with JSyn
Stars: ✭ 94 (+67.86%)
Mutual labels:  raspberry-pi, audio
Libjitsi
Advanced Java media library for secure real-time audio/video communication.
Stars: ✭ 536 (+857.14%)
Mutual labels:  stream, audio
Mmm Rtspstream
MagicMirror² module for streaming an RTSP video stream from a security camera to your MagicMirror.
Stars: ✭ 40 (-28.57%)
Mutual labels:  stream, raspberry-pi

play_stdin.sh

Stream audio via UNIX pipes

This simple set of scripts allows streaming audio between two Linux machines, for example, a laptop and a Raspberry Pi. No audio backends such as Pulseaudio or JACK are required, the list of dependencies is very small.

Requirements (server)

  • ncat (from nmap)
  • ffplay

Requirements (client)

  • netcat (any)

Instructions

Server

Get the script

SSH into your server, and download the scripts via git:

git clone https://github.com/connor-brooks/play_stdin.sh.git

Install dependancies

If you're using a Raspberry Pi:

sudo apt-get install ffplay nmap

Configure (optional)

With the text editor of you choice, edit line 2 of play_stdin_server.sh and change the CONTROLLER_PORT variable to whatever port you want, for example run:

nano play_stdin_server.sh

Change the port number, and save.

Run the server

To start the server, run the following command: ./play_stdin_server.sh &

You can now disconnect from the Raspberry Pi, but before you do, make sure to take note of your servers IP address, buy running the following:

sudo ifconfig

Generally your ip address will be in the format of 192.168.xxx.xxx

Client

Get the script

git clone https://github.com/connor-brooks/play_stdin.sh.git

Configure:

Using the text editor of your choice, edit line 2 and 3 of play_stdin.sh to match the port and IP of your server.

Play some music

cat music.mp3 | ./play_stdin.sh &

Where music.mp3 is the song you'd like to play.

Play and pause

To pause from your client:

./play_stdin.sh TOGGLE

Or to stop the stream:

./play_stdin.sh STOP

Notes

  • You can easily bind the toggle and stop commands using xbindkeys for a more seamless experience
  • It is possible to stream any audio format supported by FFmpeg
  • If you are using netcat-traditional or netcat-openbsd on your server you may run into some issues, it is recommended to use ncat from the nmap package
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].