mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
70 lines
3.4 KiB
Markdown
70 lines
3.4 KiB
Markdown
# Server (WIP)
|
|
Server for n.eko, as of right now this will *only* work on Linux systems, only tested on Debian based distros.
|
|
|
|
## Configuration
|
|
------
|
|
```
|
|
--debug // (bool) enable debug mode
|
|
--logs // (bool) save logs to file
|
|
--config "" // (string) configuration file path
|
|
--bind "127.0.0.1:8080" // (string) address/port/socket to serve neko
|
|
--cert "" // (string) path to the SSL cert used to secure the neko server
|
|
--key "" // (string) path to the SSL key used to secure the neko server
|
|
--static "./www" // (string) path to neko client files to serve
|
|
--device "auto_null.monitor" // (string) audio device to capture
|
|
--display ":99.0" // (string) XDisplay to capture
|
|
--audio "" // (string) audio codec parameters to use for streaming (unused)
|
|
--video "" // (string) video codec parameters to use for streaming (unused)
|
|
--screen "1280x720@30" // (string) default screen resolution and framerate
|
|
--epr "59000-59100" // (string) limits the pool of ephemeral ports that ICE UDP connections can allocate from
|
|
--vp8 // (bool) use VP8 video codec
|
|
--vp9 // (bool) use VP9 video codec
|
|
--h264 // (bool) use H264 video codec
|
|
--opus // (bool) use Opus audio codec
|
|
--g722 // (bool) use G722 audio codec
|
|
--pcmu // (bool) use PCMU audio codec
|
|
--pcma // (bool) use PCMA audio codec
|
|
--nat1to1 // ([]string) sets a list of external IP addresses of 1:1 (D)NAT and a candidate type for which the external IP address is used
|
|
--icelite // (bool) configures whether or not the ice agent should be a lite agent
|
|
--iceserver "stun:stun.l.google.com:19302" // ([]string) describes a single STUN and TURN server that can be used by the ICEAgent to establish a connection with a peer
|
|
--password "neko" // (string) password for connecting to stream
|
|
--password_admin "admin" // (string) admin password for connecting to stream
|
|
```
|
|
|
|
Config can be set via environment variables with the prefix `NEKO_` (I.E. NEKO_BIND="127.0.0.1:8080")
|
|
|
|
## Requirements
|
|
------
|
|
Runtime:
|
|
```
|
|
gstreamer1.0-plugins-base // opus plugin
|
|
gstreamer1.0-plugins-good // pulseaudio, ximagesrc & vpx plugins
|
|
gstreamer1.0-plugins-bad // openh264 plugin (build from source)
|
|
gstreamer1.0-plugins-ugly // x264 plugin
|
|
gstreamer1.0-pulseaudio // pulseaudio plugin
|
|
xclip // clipboard sync
|
|
libxtst6 // keyboard and mouse input
|
|
```
|
|
|
|
Development:
|
|
```
|
|
libxtst-dev
|
|
```
|
|
|
|
## Testing
|
|
------
|
|
located in `.docker` folder
|
|
```
|
|
./test firefox // creates an x server, puleseaudio server add firefox instance
|
|
./test chromium // creates an x server, puleseaudio server add chromium instance
|
|
```
|
|
|
|
## Building
|
|
------
|
|
located in `.docker` folder
|
|
```
|
|
./build gst // builds the required gst packages in `.build/gst/`
|
|
./build docker // builds the docker images
|
|
./build push // pushes the images to docker hub
|
|
```
|