Quick Start
Install and Run​
There are several ways to install xiu:
- Using binary files directly
- Install with Docker image
- Install with cargo
- Build from source
Using binary files directly​
Xiu compiles and generates binary files for common platforms in each release, which are placed on the GitHub release page. These files can be run directly on the corresponding platforms. Download Link: v0.12.4.
Install with Docker image​
For each release, xiu also builds Docker images for common platforms, and the download links: Docker Image Download.
Use the follow command to pull the docker image and run :
docker run -d -it --net=host --name xiu --privileged=true harlancn/xiu:latest /app/start.sh /app/config.toml
After the service starts, log files will be saved to the following directory defaultly:
/app/logs
You can mount this folder to the host machine for easier viewing logs. If you need , use the following command (replace $your_own_local_full_path with your own directory):
docker run -d -it --net=host --name xiu --privileged=true -v $your_own_local_full_path:/app/logs harlancn/xiu:latest /app/start.sh /app/config.toml
And if you need to modify the configurations, enter the Docker container, edit config.toml, and restart Docker for the changes to take effect. To enter the Docker container:
docker exec -it xiu bash
Use the following command to restart Docker :
docker restart xiu
Docker-related commands, reference: Basic Docker Commands
Install with cargo​
Issue the following command to install xiu:
cargo install xiu
Issue the following command to view help information:
xiu -h
Print the following information:
A secure and easy to use live media server, hope you love it!!!
Usage: xiu [OPTIONS]
Options:
-c, --config <path> Specify the xiu server configuration file path.
-r, --rtmp <port> Specify the RTMP listening port(e.g.:1935).
-t, --rtsp <port> Specify the rtsp listening port.(e.g.:554).
-w, --webrtc <port> Specify the whip/whep listening port.(e.g.:8900).
-f, --httpflv <port> Specify the HTTP-FLV listening port(e.g.:8080).
-s, --hls <port> Specify the HLS listening port(e.g.:8081).
-l, --log <level> Specify the log level. [possible values: trace, debug, info, warn, error, debug]
-h, --help Print help
-V, --version Print version
Build from source​
Clone Xiu​
git clone https://github.com/harlanc/xiu.git
checkout the latest code:
git checkout tags/<tag_name> -b <branch_name>
Compile​
Currently, the master branch uses locally referenced project files by default and can be compiled directly:
make build
or
cargo build
For the convenience of compilation, the cargo-related compilation commands are encapsulated into makeflie, and the locally referenced project files and online project files are backed up.
Issue the following command to apply the local project files:
make local && make build
Run​
cd ./xiu/target/release or ./xiu/target/debug
./xiu -h