A node.js web app to synchronise YouTube videos (and the audio) between different users. Currently designed for audio, this solution does not yet keep users in sync if they manually seek after the video has begun. Everyone should be in sync at the beginning of the video and otherwise if they do not seek their video manually.
Currently in beta: There may still be some rough edges, but please feel free to test it and report any bugs found, or new features that may be beneficial!
- Play a YouTube video in sync across multiple clients.
- Enqueue other YouTube videos to play automatically after the current video.
- Automatically parse YouTube playlists for their videos. (Only up to 100 videos for now due to a bug upstream)
Coming soon:
- Keep the videos in sync if someone seeks.
remote-media can be run with docker using the docker hub, docker-compose
file or just by building a docker image manually from the repo.
Through Docker Hub:
docker pull banksio/remote-media
docker run --publish 3694:3694 --detach --name remotemedia banksio/remote-media:latest
With docker-compose (you can use something other than curl
if you wish):
mkdir remote-media
cd remote-media
curl https://raw.githubusercontent.com/banksio/remote-media/master/docker-compose.yml -o docker-compose.yml
docker-compose up
Building manually:
git clone https://github.com/banksio/remote-media.git
cd remote-media
docker build --tag remote-media:1.0 .
docker run --publish 3694:3694 --detach --name remotemedia remote-media:1.0
And kill with: docker rm --force remotemedia
- Node.js and npm
- Clone or download the repo onto your local machine or server.
- Run
npm install
. - Run
npm start
. - Connect to the web interface on port 3694.
remote-media runs on port 3694 by default.
The root page is the "receiver", and the admin panel is used to control the media playing on the receivers. The admin page is located at /admin
.
If it doesn't work, please submit a bug.
To develop for remote-media, just follow the instructions listed to run the app manually above.