backend

command module
v0.0.0-...-2493c12 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2024 License: MIT Imports: 25 Imported by: 0

README

Streaming test backend server

This is a simple backend server to test the TCP video streaming tools.

Note: Do not use for production. This is only meant for local testing.

Compilation

In order to install dependencies, type:

go get .

To compile the code type:

go build

The build command will create a binary in the current directory, called backend, or backend.exe if you are using Windows.

Usage

In order to run the server, run the binary without arguments.

./backend

Configuration

You can configure the server with environment variables.

Variable Name Description
HTTP_PORT HTTP listening port. Default is 80
BIND_ADDRESS Bind address for RTMP and RTMPS. By default it binds to all network interfaces.
FRONTEND_LOCATION Path to the frontend, in order to serve it.
CONTROL_SERVER_BASE_URL Base URL of the control server, to send commands. Example: http://localhost:8080
DB_PATH Path to store the JSON database. By default it will store it in the current working directory
CORS_INSECURE_MODE_ENABLED Set it to YES to allow insecure CORS requests (for development purposes)
HLS_FILESYSTEM_PATH Path where the HLS files will be stored. It may be a remote or distributed file system.
RTMP_BASE_URL Base URL of the RTMP server, in order to show to the users for them to publish
WSS_BASE_URL Websocket streaming server base URL, in order to publish from the browser
HLS_WS_CDN_URL Url of the HLS websocket CDN server to pull the streams
HLS_WS_CDN_PULL_SECRET Secret to sign the tokens to pull streams from the CDN
Key verification

This test app provides a key verification callback in the path /callbacks/key_verification

In order to test the different kinds of authorization, you can set the following options (Set for the KEY_VERIFICATION_AUTH environment variable):

  • Basic - Basic HTTP authorization. Set KEY_VERIFICATION_AUTH_USER and KEY_VERIFICATION_PASSWORD environment variables.
  • Bearer - Bearer token authorization. Set KEY_VERIFICATION_AUTH_TOKEN environment variable.
  • Custom - Custom authorization header. Set KEY_VERIFICATION_AUTH_CUSTOM environment variable.
Streaming events handler

This test app provides an event handler callback in the path /callbacks/events

In order to test the different kinds of authorization, you can set the following options (Set for the EVENT_CALLBACK_AUTH environment variable):

  • Basic - Basic HTTP authorization. Set EVENT_CALLBACK_AUTH_USER and EVENT_CALLBACK_PASSWORD environment variables.
  • Bearer - Bearer token authorization. Set EVENT_CALLBACK_AUTH_TOKEN environment variable.
  • Custom - Custom authorization header. Set EVENT_CALLBACK_AUTH_CUSTOM environment variable.
Streaming commands

You must set the authorization method for sending streaming commands to the coordinator. Set for the STREAMING_COMMANDS_AUTH environment variable:

  • Basic - Basic HTTP authorization. Set STREAMING_COMMANDS_AUTH_USER and STREAMING_COMMANDS_PASSWORD environment variables.
  • Bearer - Bearer token authorization. Set STREAMING_COMMANDS_AUTH_TOKEN environment variable.
  • Custom - Custom authorization header. Set STREAMING_COMMANDS_AUTH_CUSTOM environment variable.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

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