wpajqz / go-oryx

Focus on real-time live streaming cluster, advanced srs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

go-oryx

GoDoc [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/ossrs/go-oryx?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)

Focus on real-time live streaming cluster, advanced srs.

Usage

For linux/unix-like os:

go get github.com/ossrs/go-oryx &&
cd $GOPATH/src/github.com/ossrs/go-oryx &&
$GOPATH/bin/go-oryx -c conf/oryx.json

Or, for windows:

go get github.com/ossrs/go-oryx &&
cd %GOPATH%\src\github.com\ossrs\go-oryx &&
%GOPATH%\bin\go-oryx.exe -c conf\oryx.json

About how to build and run at current directory:

cd $GOPATH/src/github.com/ossrs/go-oryx &&
go build . && ./go-oryx -c conf/oryx.json

About how to set $GOPATH, read prepare go.

IDE

GO SDK: download

JetBrains IntelliJ IDEA: download

IntelliJ IDEA Golang Plugin: repository, download

SRS vs go-oryx

Why rewrite the SRS to go-oryx:

  1. Coroutine Or Goroutine: SRS base on ST, it’s more important than c/c++ language for streaming server; while golang support goroutine, which is actually what ST do.
  2. Multiple Processes: SRS is single process. It’s too weak for modern server with 16 or 64 CPUs and 2 or 4 10Gbps network. Multiple cpus and network interfaces requires multiple processes server.
  3. New Arch: New arch for HTTP/RTMP/FLV/HLS/RTSP or other protocol, it’s better to support many protocol especially private protocol, which will provides realtime streaming.

Features

  1. v0.1.0 Supports Multiple Processes.
  2. v0.1.0 Supports Linux, Unix-like and Windows.
  3. v0.1.1 Supports JSON style config file.
  4. v0.1.2 Supports Reload config file.
  5. v0.1.3 Standard godoc, gofmt, gotest and TravisCI.
  6. v0.1.4 Support daemon over ossrs/go-daemon(fork from sevlyar/go-daemon).
  7. v0.1.5 Extend JSON with c++ style comments.
  8. v0.1.6 Support heartbeat to report for ARM.
  9. v0.1.7 Use agent(source+channel+sink) to build complex stream river.
  10. v0.1.8 Supports Publish and Play VP6 RTMP stream.
  11. v0.1.9 Supports Delivery VP6/H.264 and Speex/AAC/MP3/Nellymoser codec.
  12. v0.1.10 Supports 10k(8CPUs) for RTMP players.
  13. v0.1.11 Supports 10k(4CPUs) for RTMP players.
  14. v0.1.12 Supports 10k(3CPUs) for RTMP players.
  15. v0.1.13 Supports 10k(2CPUs) for RTMP players.
  16. [dev] Supports gop-cache and drop frame strategy.
  17. [dev] Supports Connection Oriented Traceable log.

Winlin 2015.10

About

Focus on real-time live streaming cluster, advanced srs

License:MIT License


Languages

Language:Go 100.0%