Skip to content

ossrs/httpx-static

This branch is 367 commits ahead of, 173 commits behind develop.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4f1ce62 · Jul 7, 2016
Feb 1, 2016
Feb 22, 2016
Apr 21, 2016
Jul 7, 2016
May 20, 2016
Mar 2, 2016
Jan 31, 2016
Jan 18, 2016
Feb 1, 2016
Jan 16, 2016
Feb 1, 2016
Apr 22, 2016
Feb 1, 2016
Feb 1, 2016
Feb 1, 2016

Repository files navigation

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)

The go-oryx is SRS++, focus on real-time live streaming cluster.

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 #41 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 #37 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. v0.1.15 Supports LOG+, the connection-based tracable log.
  18. v0.1.16 Supports debug rtmp recv by config debug.rtmp_dump_recv.
  19. v0.1.17 Supports force to realtime mode by config vhost.min_latency.
  20. [dev] Supports gop-cache and drop frame strategy.
  21. [plan] #45 HLS: Support audio only HLS stream.
  22. [plan] #44 DASH: Support remux stream to MPEG-DASH
  23. [plan] #43 RTSP: Support push RTSP to server.
  24. [plan] #42 UDP: Support push MPEG-TS over UDP to server.
  25. [plan] #40 HDS: Support remux stream to HDS.
  26. [plan] #39 API: Support HTTP callbacks
  27. [plan] #38 API: Support HTTP API for client to access.
  28. [plan] #36 FLV: Remux stream to HTTP-FLV streaming.
  29. [plan] #35 HLS: Support HLS+ Edge Cluster.
  30. [plan] #24 RTMP: Support standard uri like http.
  31. [plan] #46 Codec: Support encode the audio and video device to stream.
  32. [plan] #47 System: Support copy stream to another vhost.

Winlin 2015.10