v3_EN_Docs - toryl/srs GitHub Wiki

Welcome to the simple-rtmp-server wiki!

How To Ask Questions

To ask questions or file bug reports. Please read HowToAskQuestion

SRS Product

What's the product plan of SRS? What are the key features? Please read [SRS Product] (v1_EN_Product)

Product Comparison

For a comparison of SRS and other streaming media servers. Please read Product Comparison

SRS Features

The key features of SRS, the implementation, both planned and not planned. Please read SRS Features

SRS Demo Server

Is there a public server for an SRS demo? I provide a server with public ip and name (ossrs.net) for all users to publish and play, it's free but it's only for testing. Please read SRS Demo Server

Applications

Who is using SRS? What can you use SRS for, for your project and customers? Please read Applications

Build SRS

How to build SRS? How to enable or disable the feature of SRS? How to build and start the demo pages of SRS? Please read Build SRS

SRS Init.d Script

How to use init.d script to start SRS as a system service? How to run SRS as a daemon? How to auto start SRS when the system restarts? How to start SRS demo pages (including the players, encoders and video meeting demo)? Please read SRS Init.d Script

SRS Log

How to get the SRS logs? How to trace logs to console? How to get less verbose logs because the log files are too large? How to get more detailed log levels? How to get warning level log only? Please read SRS Log

SRS Architecture

The architecture for all SRS developers。Please read SRS Architecture

RTMP URL & Vhost

What is the vhost or app or stream of RTMP? How to pass the authentication params to the server in the RTMP URL? Please read RTMP URL & Vhost

RTMP Handshake

Why build openssl for RTMP server? What are the simple and complex handshakes of RTMP? Which scenarios should use simple handshake? Please read RTMP Handshake

FFMPEG Live Transcoding

How to use SRS to transcode live streams? How to transcode audio only? How to passthrough audio or video? How to add a logo to a stream? What are the transcode params and the sequence for FFPMEG? Please read FFMPEG Live Transcoding

RTMP Delivery

How to support RTMP streaming with SRS? How to configure SRS to support RTMP? What is the benefit of RTMP? Please read RTMP Delivery

HLS Delivery

How to convert RTMP to be delivered as HLS? What is HLS? How to configure HLS in SRS? Please read HLS Delivery

HDS Delivery

How to convert RTMP to be delivered as HDS? What is HDS? How to configure HDS in SRS? Please read HDS Delivery

HTTP Stream Delivery

How to deliver FLV VOD stream, or to support xxx.flv?start=offset? How to deliver FLV live stream, or to remux RTMP to FLV? How to deliver HTTP AAC stream? How to deliver HTTP TS stream? How to deliver HTTP MP3 stream? Please read HTTP Stream Delivery

RTMP PK HLS

How to choose a delivery protocol? What about RTMP? What about HTTP? What about HLS? The history and use scenarios of RTMP, HTTP and HLS. Please read RTMP PK HLS

Embedded HTTP Server

Can SRS support HTTP? How to deliver files over HTTP with SRS? Why does SRS support an embedded HTTP server? Can you use an external HTTP Server? Please read Embedded HTTP Server

[DVR record live stream] (v3_EN_DVR)

How to record a live stream to an FLV file? How to record to pieces of files which start from keyframes with similar duration? What is the DVR plan, for example, segment and session plan? How to specify the path and filename? Please read [DVR record live stream] (v3_EN_DVR)

[DRM] (v3_EN_DRM)

How to support hotlink denial? Does SRS support DRM? How to configure referrer DRM? How to implement token DRM? Does SRS support FMS token traversal? Please read [DRM] (v3_EN_DRM)

Reload

How to reload SRS? How to add new vhosts without restarting the server? How to change the configuration without restarting the server? Please read Reload

Low Latency

How to use SRS in pseudo realtime? What is the latency? What is the minimum latency of SRS in a commercial scenario, for example, CDN networks? Please read Low Latency

HTTP Callback

About the HttpCallback or HttpHooks. How to authenticate the client? How to make callbacks to external HTTP APIs when clients publish a stream? How to notify your system when clients connect or disconnect? How to hook into the DVR? Please read HTTP Callback

HTTP Management API

How to manage the server via the HTTP management API? How to manage the server, for example, to get server status in HTML pages? How can PHP/python management systems manage SRS? Please read HTTP Management API

Ingest

How does SRS pull specified RTMP/RTSP/HTTP streams and deliver them? How to deliver your RTSP stream from your ancient RTSP camera to RTMP, then deliver it to CDNs as RTMP or HLS? How to encode the signals from a device to output to SRS and then deliver them to the Internet? Please read Ingest

Stream Cast Service

How to push RTSP to SRS? How does SRS accept RTSP streams? How to push MPEG-TS over UDP to SRS? How does SRS accept streams over other protocols? Read Streamer

Edge: Huge Live Cluster

How to use SRS with CDNs? Does SRS support the key features for CDN: vhost, edge, reload, HTTP API and MIT source code? Why forwarding and ingesting is not okay for huge live clusters? Does SRS support FMS edge mode? Please read Edge: Huge Live Cluster

Forward: Tiny Live Cluster

How to use SRS for a small number of streams and server cluster? How to build origin fault backup with only one stream? Please read Forward: Tiny Live Cluster

Kafka/Spark Cluster

SRS how to report to Kafka/Spark big-data system? How to analysis and manage the big SRS clusters? Please read Kafka/Spark Cluster

Security: Allow or Deny Clients

How to apply a security strategy? How to deny all publishing and allow all playback? How to deny clients by specified IP addresses? Please read Security: Allow or Deny Clients

Exec: Fork external program

How to support exec or exec_publish like nginx-rtmp? Please read Exec: Fork external program

Performance Benchmark

How many concurrent connections can SRS serve? What about the performance of SRS? We compare the high performance server nginx-rtmp and SRS, and provide some benchmarks for server performance checks. Please read Performance Benchmark

RaspberryPi Performance Benchmark

What about the performance benchmark on arm (raspberrypi)? How many concurrent connections are supported on arm for SRS? Please read RaspberryPi Performance Benchmark

RaspberryPi Transcoding

How do you transcode live streams on a raspberrypi? How do you deliver HLS on raspberrypi? Please read RaspberryPi Transcoding

ServerSide Script

Why doesn't SRS support ServerSide script? How to use HTTP callbacks instead? Please read ServerSide Script

Flash/Android/IOS P2P

How does SRS support Flash/Android/IOS P2P? Please read Flash/Android/IOS P2P

SRS-librtmp

Why does SRS provide a client RTMP library? How to use srs-librtmp? How to modify the amf0 metadata to use srs-librtmp? How to get server debug info from srs-librtmp? Please read SRS-librtmp

SRS for linux-arm

How to use SRS on linux-arm devices to deliver RTMP? What is the performance of SRS on linux-arm? Please read SRS for linux-arm

SRS Windows Branch

What is the status of the SRS Windows branch? Why is the SRS Windows branch experimental and not recommended for use? What about the srs-librtmp Windows branch? Why is srs-librtmp Windows branch okay for Windows? Please read SRS windows Branch

SRS Bandwidth Test

What is the bandwidth between the player and the SRS server? SRS provides c (in srs-librtmp), javascript and flash SDKs to test the bandwidth. Please read SRS Bandwidth Test(BandwidthTestTool, BWTC)

RTMP ATC

How to deliver streams with ATC timestamp? How to support HDS/HLS origin server fault-backup? Please read RTMP ATC

TimeJitter Timestamp Correct

How does SRS correct the timestamps of streams? How to correct the time jitter? How to ensure the timestamp of RTMP to increase monotonically? Please read TimeJitter Timestamp Correct

Heartbeat

SRS can report status to external HTTP servers by POSTing to an HTTP URL. For example, SRS on arm can report its data to a management server. Please read Heartbeat

FLV VOD stream

Does SRS support VOD? What about the FLV VOD stream? How to support time-shift for live streams? How to deliver DVR files as VOD streams? Please read FLV VOD stream

GPERF Memory and Performance Analysis

How to figure out memory leaks? Why use gmc? Why isn't valgrind supported by SRS? How to figure out performance bottlenecks? Please read GPERF Memory and Performance Analysis

GPROF Performance Analysis

How to figure out the performance issues of SRS? How to use gprof? How to draw performance graphs using dot? Please read GPROF Performance Analysis

Perf Performance Analysis

How to use the kernel performance tool perf to figure out the performance issues of SRS? Please read Perf Performance Analysis

C++ IDE

How to choose a C++ IDE? We recommend the UltimateC++ or Clion. Please read C++ IDE

GIT Usage

How to get the stable release of SRS? How to merge master with your branch? How to use CSDN mirror in China? Please read GIT Usage

Usage: RTMP

Usage: How to use SRS to deliver RTMP? Please read Usage: RTMP

Usage: RTMP Cluster

Usage: How to use SRS to deliver RTMP cluster? Please read Usage: RTMP Cluster

Usage: HTTP FLV

Usage: How to use SRS to deliver HTTP FLV live streaming? Please read Usage: HTTP FLV

Usage: HTTP FLV Cluster

Usage: How to use SRS to deliver HTTP FLV live streaming cluster? Please read Usage: HTTP FLV Cluster

Usage: HLS

Usage: How to use SRS to deliver HLS? Please read Usage: HLS

Usage: Transcode2HLS

Usage: How to use SRS to transcode stream (non H.264+AAC) to deliver HLS? Please read Usage: Transcode2HLS

Usage: FFMPEG

Usage: How to use SRS to transcode streams? How to transcode codecs for HLS? Please read Usage: FFMPEG

Usage: Ingest

Usage: How to ingest files to live stream? How to ingest existing streams to SRS? How to use SRS for virtual live streaming? How to ingest RTSP to SRS? Please read Usage: Ingest

Usage: Forward

Usage: How to use SRS to build tiny clusters? How to build an origin backup cluster when you only have one stream? How to forward streams to other servers from SRS? How to forward streams to a backup server from SRS? Please read Usage: Forward

Usage: Realtime

Usage: How to decrease the latency to <1s? How to configure SRS in minimum latency mode? Please read Usage: Realtime

Usage: ARM

Usage: How to run SRS on ARM linux? Please read Usage: ARM

Usage: HTTP

Usage: How to deliver HLS without an external HTTP server? How to use the embedded HTTP server of SRS? Please read Usage: HTTP

Usage: DEMO

Usage: How to deploy the demo of SRS? The SRS demo provides players, flash encoders, live meeting demo, flash HLS player, and transcoding. Please read Usage: DEMO

Winlin 2015.5