1# Xiu 2Xiu is a live server written by RUST. 3 4 5## Functionalities 6 7- [x] RTMP 8- [ ] HTTPFLV 9- [ ] HLS 10- ... 11 12## Dev Environment Establish 13 14My dev environment is on MacOS. 15 16#### Install Rust and Cargo 17 18[Document](https://doc.rust-lang.org/cargo/getting-started/installation.html) 19 20#### Clone Xiu 21 22 git clone https://github.com/harlanc/xiu.git 23 24#### Build 25 26 cd ./xiu/application 27 28 cargo build 29 30#### Run 31 32 cd ./xiu/target/debug 33 34 ./application 35 36#### Push 37 38I use OBS to push a live rtmp stream. 39 40 41#### Play 42 43I use ffplay to play rtmp live stream: 44 45 ffplay -i rtmp://localhost:1935/live/test 46 47## Change Logs 48 49[2021-04-16] 50 51- Fix: obs publish-> unpublish->publish ,, ffplay cannot play successfully 52 53[2021-04-15] 54 55- Improve: remove build warnings. 56 57[2021-04-14] 58 59- Fix bug: when shutdown ffplayer ,the OBS publisher will be reconnected automatically. 60 61 62[2021-04-11] 63 64- Impl: add flush\_timeout and read\_timeout functinos. 65- Impl: add some log print configuratinos. 66- Fix bug: Chunk header with the save csid is not saved. 67- Impl: add unsubscribe and unpublish logic in server\_session and channels models. 68 69[2021-04-10] 70 71- Improve: change use libraries format. 72 73[2021-04-09] 74 75- Update README. 76 77[2021-04-08] 78 79- Fix: replace oneshot by mpsc channel,may be improved. 80 81