No description
Find a file
2020-03-23 16:58:37 +10:00
app Try to improve the style and position of the Upload button 2020-03-22 23:40:13 +10:00
media Skip blanks in screenshot capture and allow more time 2020-03-22 21:42:37 +10:00
static Try to improve the style and position of the Upload button 2020-03-22 23:40:13 +10:00
templates Try to improve the style and position of the Upload button 2020-03-22 23:40:13 +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 Don't generate new thumbnails if they already exist 2020-03-22 18:42:35 +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.yml Set theme jekyll-theme-architect 2020-03-23 11:16:49 +10:00
config.json Refactored upload handler 2020-03-22 21:41:26 +10:00
docker-compose.yml Added docker-compose reference stack using Traefik as LB 2020-03-23 16:58:37 +10:00
Dockerfile Added ffmpeg to Docker image 2020-03-22 18:22:36 +10:00
go.mod Refactored upload handler 2020-03-22 21:41:26 +10:00
go.sum Refactored upload handler 2020-03-22 21:41:26 +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!