https://github.com/spudmashmedia/spudtube
ლ(ಠ益ಠლ) A very very very very very hacky streaming service....that needs some serious work...
https://github.com/spudmashmedia/spudtube
express handlebars nodejs pm2 restify streaming
Last synced: about 2 months ago
JSON representation
ლ(ಠ益ಠლ) A very very very very very hacky streaming service....that needs some serious work...
- Host: GitHub
- URL: https://github.com/spudmashmedia/spudtube
- Owner: spudmashmedia
- License: mit
- Created: 2017-05-30T10:32:26.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-05-30T11:14:12.000Z (almost 8 years ago)
- Last Synced: 2025-01-16T19:52:22.136Z (4 months ago)
- Topics: express, handlebars, nodejs, pm2, restify, streaming
- Language: JavaScript
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# SPUDTUBE - NodeJS version
A very very very very very hacky streaming service....that needs some serious work...ლ(ಠ益ಠლ)
API: built with NodeJS + Restify
Web: built with NodeJS + Express + Handlebars
## Requirements
NodeJS (I prefer using NVM https://github.com/creationix/nvm)
Google Chrome (for the UI)## Installation
Clone the repository
```
git clone [email protected]:spudmashmedia/spudtube.git
```hydrate node_modules
```
cd spudtube
npm install
```### Test Run
fire up PM2 to launch both the API and Web UI
```
npm run start
```this should now start up
WEB (this has the video player) http://localhost:3000/spud.tube
API (streaming service) http://localhost:5000### Viewing Media
[TO FIX] currently, a query string token ?v=[token] is used to map to a correlating video located in the public folder.
right now **token** = filename. The extension is automatically added in.Use Google Chrome to see the byte blocks streamed over. (the API will log which block range is streaming during timeline seeking).
[TODO]
actually have the token map back to a lookup which then maps to a file location in public.### Instrumentation
View PM2 dashboard
```
pm2 dashboard
```### Stopping PM2
To stop PM2
```
npm run stop
```## Test
To run unit test
```
npm run test
```## TODO
- Make the UI look nicer, currently looks like a blah...
- Create a version of the UI with Polymer web components (custom media player)
- Create a version of the UI with React
- Create a version of the UI with Angular
- Add some persistance (maybe a way to upload media and update token->file mapping)## Contributing
1. Fork it!
2. Create your feature branch: `git checkout -b my-new-feature`
3. Commit your changes: `git commit -am 'Add some feature'`
4. Push to the branch: `git push origin my-new-feature`
5. Submit a pull request :D## History
- V1## License
MIT