No description
Find a file
2020-03-22 18:37:29 +10:00
app Remove direct library add after upload as Rename(s) are not atomic on some file systems 2020-03-22 18:31:24 +10:00
media Log errors for failure to generate thumbnails 2020-03-22 18:37:29 +10:00
static Added basic upload support 2020-03-21 20:34:37 +10:00
templates Add support for transcoding 2020-03-22 18:01:27 +10:00
tools Migrate to Go111Modules, Add Dockerfile and GoRelaser support 2020-03-21 08:20:16 +10:00
uploads Refactor video uploading in preparation for async transcoding 2020-03-21 22:58:14 +10:00
utils Add support for transcoding 2020-03-22 18:01:27 +10:00
videos import code 2019-06-26 14:02:31 -05:00
.gitignore Refactor video uploading in preparation for async transcoding 2020-03-21 22:58:14 +10:00
.goreleaser.yml Migrate to Go111Modules, Add Dockerfile and GoRelaser support 2020-03-21 08:20:16 +10:00
.yamllint.yml Migrate to Go111Modules, Add Dockerfile and GoRelaser support 2020-03-21 08:20:16 +10:00
config.json Add support for transcoding 2020-03-22 18:01:27 +10:00
Dockerfile Added ffmpeg to Docker image 2020-03-22 18:22:36 +10:00
go.mod Add support for transcoding 2020-03-22 18:01:27 +10:00
go.sum Add support for transcoding 2020-03-22 18:01:27 +10:00
LICENSE Initial commit 2019-06-26 12:44:04 -05:00
main.go Refactor video uploading in preparation for async transcoding 2020-03-21 22:58:14 +10:00
Makefile Fixed docker image 2020-03-21 11:03:00 +10:00
README.md Restructured source code layout, Added rice support for templates and static assets 2020-03-21 09:55:06 +10:00
version.go Migrate to Go111Modules, Add Dockerfile and GoRelaser support 2020-03-21 08:20:16 +10:00

tube GoDoc

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)
  • Clean, simple, familiar UI

Currently only supports MP4 video files so you may need to re-encode your media to MP4 using something like ffmpeg.

Since all of the video info comes from metadata it's also useful to have a metadata editor such as 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 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 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!