mirror of
https://github.com/calzoneman/sync.git
synced 2024-09-13 04:32:09 +00:00
Update README.md
This commit is contained in:
parent
fac962795a
commit
179460c5b5
52
README.md
52
README.md
@ -4,36 +4,54 @@ calzoneman/sync
|
|||||||
About
|
About
|
||||||
-----
|
-----
|
||||||
|
|
||||||
Sync is a server/client combination I wrote to synchronize media playback
|
CyTube (formerly Sync) is a server/client combination providing media synchronization, chat,
|
||||||
among clients. It's inspired by Synchtube, but I wanted to make the
|
and administration for an arbitrary number of channels.
|
||||||
interface simpler, add a searchable library for each channel, and it's just
|
I began developing this as a hobby project, and when Synchtube announced their closure, I
|
||||||
a fun challenge.
|
began polishing it and readying it for the public.
|
||||||
|
|
||||||
|
I am hosting a CyTube server at http://cytube.calzoneman.net
|
||||||
|
|
||||||
The serverside is written in JavaScript and runs on Node.JS. It makes use
|
The serverside is written in JavaScript and runs on Node.JS. It makes use
|
||||||
of a MySQL database to store user registrations, cached media metadata, and
|
of a MySQL database to store user registrations, cached media metadata, and
|
||||||
data about each channel.
|
data about each channel.
|
||||||
|
|
||||||
The clientside is written in JavaScript and makes use of Socket.IO and
|
The clientside is written in JavaScript and makes use of Socket.IO and
|
||||||
jQuery. The web interface uses Bootstrap for layout and styling.
|
jQuery as well as the APIs for various media providers.
|
||||||
|
The web interface uses Bootstrap for layout and styling.
|
||||||
|
|
||||||
Sync currently supports YouTube, Soundcloud, Vimeo, Dailymotion, Livestream, and TwitchTV.
|
The following media sources are currently supported:
|
||||||
|
- YouTube (individual videos)
|
||||||
|
- YouTube Playlists
|
||||||
|
- Vimeo
|
||||||
|
- Dailymotion
|
||||||
|
- Soundcloud
|
||||||
|
- Livestream.com
|
||||||
|
- Twitch.tv
|
||||||
|
- RTMP livestreams
|
||||||
|
|
||||||
Installing
|
Installing
|
||||||
----------
|
----------
|
||||||
|
|
||||||
This assumes you have Node.JS installed.
|
This assumes you have Node.JS installed.
|
||||||
I'm using v0.10, please feel free to report which versions do/do not work
|
I'm using v0.10, please feel free to report which versions do/do not work.
|
||||||
|
I recommend using at least v0.8.20 due to a bug in previous versions of node
|
||||||
|
that caused sketchy client connections to crash the server.
|
||||||
|
|
||||||
1. Clone this repository
|
First install MySQL on the server. There are many online tutorials for setting up MySQL on
|
||||||
2. `cd` to the directory containing the source files
|
various operating systems.
|
||||||
3. Install socket.io: `npm install socket.io`
|
I recommend installing phpMyAdmin so that you have a nice database administration interface.
|
||||||
4. Install connect: `npm install connect`
|
Create a new user and database, and make sure the user has full permissions for the database.
|
||||||
5. Install your distribution's `libmysqlclient` package
|
|
||||||
6. Install the libmysql node module: `npm install mysql-libmysqlclient`
|
Then, follow these instructions to install CyTube:
|
||||||
7. Install bcrypt: `npm install bcrypt`
|
|
||||||
8. Install node_hash: `npm install node_hash`
|
1. Clone this repository (`git clone https://github.com/calzoneman/sync`)
|
||||||
9. Edit `config.js` and input your database details and connection port
|
2. cd to the directory containing the source files
|
||||||
10. Edit `www/assets/js/iourl.js` and change the value of `IO_URL` to `yourhostname:port` where `port` is the port defined in `config.js`
|
3. Install dependencies: `npm install socket.io connect mysql-libmysqlclient node_hash bcrypt`
|
||||||
|
4. Edit `config.js` and input your database details and connection port
|
||||||
|
5. Edit `www/assets/js/iourl.js` and change the value of `IO_URL` to `yourhostname:port` where `port` is the port defined in `config.js`
|
||||||
|
|
||||||
|
If you get an error when trying to install `mysql-libmysqlclient`, you need to install your operating system's
|
||||||
|
MySQL client library. On Arch, this package is `libmysqlclient`.
|
||||||
|
|
||||||
Running
|
Running
|
||||||
-------
|
-------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user