Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wybiral/tube
Personal video streaming server.
https://github.com/wybiral/tube
golang streaming-video tube youtube
Last synced: about 2 months ago
JSON representation
Personal video streaming server.
- Host: GitHub
- URL: https://github.com/wybiral/tube
- Owner: wybiral
- License: mit
- Created: 2019-06-26T17:44:03.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-18T14:41:56.000Z (almost 4 years ago)
- Last Synced: 2024-06-18T20:25:32.281Z (3 months ago)
- Topics: golang, streaming-video, tube, youtube
- Language: Go
- Homepage:
- Size: 1.21 MB
- Stars: 258
- Watchers: 12
- Forks: 75
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tube [![GoDoc](https://godoc.org/github.com/wybiral/tube?status.svg)](https://godoc.org/github.com/wybiral/tube)
This is a Golang project to build a self hosted "tube"-style video player for watching your own video collection over HTTP or hosting your own channel for others to watch.
Some of the key features include:
- Easy to add videos (just move a file into the folder)
- No database (video info pulled from file metadata)
- No JavaScript (the player UI is entirely HTML)
- Easy to customize CSS and HTML template
- Automatically generates RSS feed (at `/feed.xml`)
- Builtin Tor onion service support
- Clean, simple, familiar UICurrently only supports MP4 video files so you may need to re-encode your media to MP4 using something like [ffmpeg](https://ffmpeg.org/).
Since all of the video info comes from metadata it's also useful to have a metadata editor such as [EasyTAG](https://github.com/GNOME/easytag) (which supports attaching images as thumbnails too).
By default the server is configured to run on 127.0.0.1:0 which will assign a random port every time you run it. This is to avoid conflicting with other applications and to ensure privacy. You can configure this to be any specific host:port by editing `config.json` before running the server. You can also change the RSS feed details and library path from `config.json`.
# installation
## from release
1. Download [release](https://github.com/wybiral/tube/releases) for your platform
2. Extract zip archive
3. Run `tube` executable to start server (this will output the URL for accessing from a browser)
4. Move videos to `videos` directory
5. Open the URL from step 3 and enjoy!## from source
1. [Install Golang](https://golang.org/doc/install) if you don't already have it
2. `go get github.com/wybiral/tube`
3. `cd $GOPATH/src/github.com/wybiral/tube`
4. `go run main.go` (this will output the URL for accessing from a browser)
5. Move videos to `$GOPATH/src/github.com/wybiral/tube/videos`
6. Open the URL from step 4 and enjoy!