go-oryx

command module
v0.0.0-...-2c58ee7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 30, 2016 License: MIT Imports: 8 Imported by: 0

README

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

Documentation

Overview

The go-oryx project is a go implementation of http://github.com/ossrs/srs. SRS is industrial-strength live streaming cluster, for the best conceptual integrity and the simplest implementation.

Usage

To get and run go-oryx:

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

Please read https://github.com/ossrs/go-oryx#usage

Directories

Path Synopsis
The agent package provides the agent level feature for oryx, for example, the rtmp agent to publish and play.
The agent package provides the agent level feature for oryx, for example, the rtmp agent to publish and play.
The app package provides the application level feature for oryx, for example, the server object and some stream control service.
The app package provides the application level feature for oryx, for example, the server object and some stream control service.
The core package provides public feature for oryx, for example, the config, logger and the utility.
The core package provides public feature for oryx, for example, the config, logger and the utility.
The protocol package provides protocol feature for oryx, for example, the rtmp/flv/264/aac muxer and demuxer.
The protocol package provides protocol feature for oryx, for example, the rtmp/flv/264/aac muxer and demuxer.
research
hls-plus
the HLS+ research is for streaming HLS solution, to finger out use sub m3u8 or 302 redirect to generate id, and how to generate the stream.
the HLS+ research is for streaming HLS solution, to finger out use sub m3u8 or 302 redirect to generate id, and how to generate the stream.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL