2019-03-11 22:10:15 +01:00
# MovieNight stream server
2019-03-10 16:42:12 +01:00
2019-03-17 03:34:55 +01:00
[![Build status ](https://api.travis-ci.org/zorchenhimer/MovieNight.svg?branch=master )](https://travis-ci.org/zorchenhimer/MovieNight)
2019-03-17 02:57:41 +01:00
2019-03-11 22:10:15 +01:00
This is a single-instance streaming server with chat. Originally written to
replace Rabbit as the platform for watching movies with a group of people
online.
2019-03-10 16:42:12 +01:00
2019-03-11 22:10:15 +01:00
## Build requirements
2019-03-10 16:42:12 +01:00
2019-03-11 22:10:15 +01:00
- Go 1.12 or newer
- GNU Make
2019-03-10 16:42:12 +01:00
## Install
2019-03-11 22:10:15 +01:00
To just download and run:
2019-03-10 16:42:12 +01:00
```bash
2019-03-16 17:47:14 +01:00
$ go get -u -v github.com/zorchenhimer/MovieNight
2019-03-10 16:42:12 +01:00
2019-03-16 17:47:14 +01:00
$ MovieNight -l :8089 -k longSecurityKey
2019-03-11 22:10:15 +01:00
```
2019-03-10 16:42:12 +01:00
2019-03-11 22:10:15 +01:00
## Usage
2019-03-10 16:42:12 +01:00
2019-03-11 22:10:15 +01:00
Now you can use OBS to push a stream to the server. Set the stream URL to
```text
rtmp://your.domain.host/live
```
and enter the stream key.
2019-03-10 16:42:12 +01:00
2019-03-11 22:10:15 +01:00
Now you can view the stream at
2019-03-10 18:41:06 +01:00
```text
2019-03-10 16:42:12 +01:00
http://your.domain.host:8089/
```
2019-03-17 07:01:13 +01:00
There is a video only version at
```text
http://your.domain.host:8089/video
```
and a chat only version at
```text
http://your.domain.host:8089/chat
```
2019-03-11 22:10:15 +01:00
The default listen port is `:8089` . It can be changed by providing a new port
at startup:
2019-03-10 16:42:12 +01:00
2019-03-10 18:41:06 +01:00
```text
Usage of .\MovieNight.exe:
2019-03-10 16:42:12 +01:00
-k string
Stream key, to protect your stream
-l string
2019-03-10 18:41:06 +01:00
host:port of the MovieNight (default ":8089")
2019-03-11 22:10:15 +01:00
```
2019-03-21 04:45:22 +01:00
## VsCode Setup
For development of this project in VsCode, the wasm has to be handled specially. Since the architecture is `WASM` and the OS is `js` for go wasm files, the tools must have those environment args. This can be solved by adding a `.vscode` folder at `MovieNight\wasm\.vscode` and having the settings below. When doing development in the `MovieNight\wasm` , open the folder in a new vscode instance. This will allow autocomplete to work in the `*_wasm.go` files.
```json
{
"go.toolsEnvVars": {
"GOOS": "js",
"GOARCH": "wasm"
}
}
```