gohls-server

command module
v0.3.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 29, 2023 License: BSD-3-Clause Imports: 1 Imported by: 0

README

Golang HLS Streamer

CircleCI

Simple server that exposes a directory for video streaming via HTTP Live Streaming (HLS). Uses ffmpeg for transcoding.

This project is cobbled together from all kinds of code I had lying around so it's pretty crappy all around. It also has some serious shortcomings.

Running it

Important: You need the ffmpeg and ffprobe binaries in your PATH. The server will not start without them. You can find builds most operating systems at https://ffmpeg.org/download.html.

1. Download the binary for your operating system

You can find the latest release on the releases page https://github.com/admpub/gohls-server/releases or just download a current snapshot:

2. Create a configuration file

The configuration is stored in JSON format. Just call the file gohls-config.json or whatever you like. The format is as follows:

{
	"folders": [
		{
			"path": "~/Videos",
			"title": "My Videos"
		},
		{
			"path": "~/Downloads",
			"title": "My Downloads"
		}
	]
}

This will configure which directories on your system will be made available for streaming. See the screenshot for details:

3. Run the server

Execute the command gohls serve -config <path-to-config> e.g. gohls serve -config gohls-config.json to serve the videos specified by the config file. To make the server listen on another port or address just use the serve command with --listen like so (the example uses port 7000 on all interfaces): gohls serve --listen :7000 -config <path-to-config>

4. Open a web browser

Visit the URL http://127.0.0.1:8080 to access the web interface.

Contributing

Requirements
  • go installed
  • npm installed
  • bash
Initial setup
  1. Clone the repository git@github.com:admpub/gohls-server.git
  2. Build frontend cd ui/ && npm install && cd run build && cd ..
  3. Install go-bindata go install -v -i github.com/jteeuwen/go-bindata/go-bindata
  4. Run go-bindata -pkg api -o ./internal/api/bindata.go -prefix ui/build/ ui/build/...
Running server

To then run the development server execute: ./scripts/run.sh serve

License

See LICENSE.txt

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
internal
api
cmd
hls

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL