Giter VIP home page Giter VIP logo

go-oryx's Introduction

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. v0.1.14 Supports SRS style config file.
  17. [dev] Supports gop-cache and drop frame strategy.
  18. [dev] Supports Connection Oriented Traceable log.

Winlin 2015.10

go-oryx's People

Contributors

winlinvip avatar darkpassion avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.