Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
 
Your New SJW Waifu 8c7fd512ac Merge remote-tracking branch 'upstream/master' pirms 1 mēnesi
common colors: remove colors that aren't AA accessible pirms 5 mēnešiem
docker added docker-compose file pirms 8 mēnešiem
installation Add working dir pirms 7 mēnešiem
static Fixed aspect ratio for video element on mobile pirms 1 mēnesi
wasm Don't wrap name highlights with colons pirms 7 mēnešiem
.dockerignore add dockerignore file pirms 5 mēnešiem
.gitignore Use system wasm_exec.js pirms 8 mēnešiem
.travis.yml Enable module support for Travis pirms 1 gada
Dockerfile added Dockerfile pirms 8 mēnešiem
Makefile Use system wasm_exec.js pirms 8 mēnešiem
chatclient.go Fix name highlighting breaking emotes pirms 1 gada
chatclient_test.go Fix name highlighting breaking emotes pirms 1 gada
chatcommands.go Prepend @ symbol to names shown in user list, so they highlight pirms 6 mēnešiem
chatroom.go add new setting to suppress join/leave announcements pirms 5 mēnešiem
connection.go Add some logging pirms 1 gada
emotes.go emotes: send OAuth secret token to Twitch when fetching emotes pirms 5 mēnešiem
errors.go Add more information to error output pirms 1 gada
favicon.png Replace favicon with something else pirms 1 gada
go.mod Removed dependency of dennwc\dom\js pirms 1 gada
go.sum commiting so zorch can do my work pirms 1 gada
handlers.go allow customization of <title> pirms 5 mēnešiem
license.md Add MIT license pirms 4 mēnešiem
main.go Add option to change the RTMP listen address pirms 5 mēnešiem
notes.txt Initial commit pirms 1 gada
readme.md Update go alt-version link in the readme pirms 2 mēnešiem
settings.go Changed settings.go to allow disabling the ratelimits. pirms 3 mēnešiem
settings_example.json Add option to change the RTMP listen address pirms 5 mēnešiem
stats.go Add some more stats pirms 1 gada

readme.md

Table of Contents

MovieNight stream server

Build status

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.

Build requirements

  • Go 1.13 or newer
  • GNU Make

Older Go Versions

You can install a newer version of Go alongside your OS’s distribution by following the guide here: https://golang.org/doc/manage-install

Once you have that setup add an enviromnent variable named GO_VERSION and set it to the version you installed (eg, 1.14.1). The Makefile will now use the newer version.

Compile and install

To just download and run:

$ git clone https://github.com/zorchenhimer/MovieNight
$ cd MovieNight
$ make
$ ./MovieNight

Docker build

MovieNight provides a Dockerfile and a docker-compose file to run MovieNight using Docker.

Building the Container

Install Docker, clone the repository and build:

docker build -t movienight .

Running the Container

Run the image once it’s built:

docker run -d -p 8089:8089 -p 1935:1935 [-v ./settings.json:/config/settings.json] movienight

Explanation:

  • -d runs the container in the background.
  • -p 8089:8089 maps the MovieNight web interface to port 8089 on the server.
  • -p 1935:1935 maps the RTMP port for OBS to port 1935 (default RTMP port) on the server.
  • -v ./settings.json:/config/settings.json maps the file settings.json into the container. [OPTIONAL]

docker-compose

docker-compose will automatically build the image, no need to build it manually.

Install Docker and docker-compose, clone the repository and change into the directory ./docker. Then run:

docker-compose up -d

This docker-compose file will create a volume called movienight-config and automatically add the standard settings.json file to it. It also maps port 8089 and 1935 to the same ports of the host.

Notes for Running Using docker-compose

The container needs to be restarted to apply any changes you make to settings.json.

Usage

Now you can use OBS to push a stream to the server. Set the stream URL to

rtmp://your.domain.host/live

and enter the stream key.

Now you can view the stream at

http://your.domain.host:8089/

There is a video only version at

http://your.domain.host:8089/video

and a chat only version at

http://your.domain.host:8089/chat

The default listen port is :8089. It can be changed by providing a new port at startup:

Usage of .\MovieNight.exe:
  -e bool
        Whether or not to download approved emotes on startup (default "false")
  -k string
        Stream key, to protect your stream (default: "")
  -l string
        host:port of the MovieNight (default ":8089")
  -r string
        host:port of the RTMP server (default ":1935")

Configuration

MovieNight’s configuration is controlled by settings.json:

  • AdminPassword: users can enter /auth <value> into chat to grant themselves admin privileges. This value is automatically regenerated unless RegenAdminPass is false.
  • ApprovedEmotes: list of Twitch users whose emotes can be imported into MovieNight. Using /addemotes <username> in chat will add to this list.
  • Bans: list of banned users.
  • LetThemLurk: if false, announces when a user enters and leaves chat.
  • ListenAddress: the port that MovieNight listens on, formatted as :8089.
  • LogFile: the path of the MovieNight logfile, relative to the executable.
  • LogLevel: the log level, defaults to debug.
  • MaxMessageCount: the number of messages displayed in the chat window.
  • NewPin: if true, regenerates RoomAccessPin when the server starts.
  • PageTitle: The base string used in the <title> element of the page. When the stream title is set with /playing, it is appended; e.g., Movie Night | The Man Who Killed Hitler and Then the Bigfoot
  • RegenAdminPass: if true, regenerates AdminPassword when the server starts.
  • RoomAccess: the access policy of the chat room; this is managed by the application and should not be edited manually.
  • RoomAccessPin: if set, serves as the password required to enter the chatroom.
  • SessionKey: key used for storing session data (cookies etc.)
  • StreamKey: the key that OBS will use to connect to MovieNight.
  • StreamStats: if true, prints statistics for the stream on server shutdown.
  • TitleLength: the maximum allowed length for the stream title (set with /playing).
  • TwitchClientID: OAuth client ID for the Twitch API, used for fetching emotes
  • TwitchClientSecret: OAuth client secret for the Twitch API; can be generated locally with curl.
  • WrappedEmotesOnly: if true, requires that emote codes be wrapped in colons or brackets; e.g., :PogChamp:
  • RateLimitChat: the number of seconds between each message a non-privileged user can post in chat.
  • RateLimitNick: the number of seconds before a user can change their nick again.
  • RakeLimitColor: the number of seconds before a user can change their color again.
  • RateLimitAuth: the number of seconds between each allowed auth attempt
  • RateLimitDuplicate: the numeber of seconds before a user can post a duplicate message.
  • NoCache: if true, set Cache-Control: no-cache, must-revalidate in the HTTP header, to prevent caching responses.

License

flv.js is Licensed under the Apache 2.0 license. This project is licened under the MIT license.