v3_EN_Docs - liufeihong/simple-rtmp-server GitHub Wiki

Welcome to the simple-rtmp-server wiki!

How To Ask Questions

To ask questions or file bug reports, please see HowToAskQuestion

SRS Product

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

Product Comparison

For a comparison of SRS and other streaming media servers, please see Product Comparison

SRS Features

The key features of SRS, the implementation, both planned and not planned. Please see: 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 see: SRS Demo Server

Applications

Who is using SRS? What can you use SRS for, for your project and customers? Please see: 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 see: 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 see: 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 see: SRS Log

SRS Architecture

The architecture for all SRS developers。Please see: 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 see: 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 see: 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 see: 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 see: RTMP Delivery

HLS Delivery

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

HDS Delivery

How to convert RTMP to be delivered as HDS? What is HDS? How to configure HDS in SRS? Please see: 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 see: 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 see: Embedded HTTP Server

[DVR record live stream] (v2_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 see: [DVR record live stream] (v2_EN_DVR)

[DRM] (v1_EN_DRM)

Does SRS support DRM? How to configure referrer DRM? How to implement token DRM? Does SRS support FMS token traversal? Please see: [DRM] (v1_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 see: 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 see: 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 see: 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 see: 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 see: 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 see: 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 see: Forward: Tiny Live 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 see: Security: Allow or Deny Clients

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 see: Performance Benchmark

RaspberryPi Performance Benchmark

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

RaspberryPi Transcoding

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

ServerSide Script

Why doesn't SRS support ServerSide script? How to use HTTP callbacks instead? Please see: 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 see: 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 see: 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 see: 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 see: SRS Bandwidth Test(BandwidthTestTool, BWTC)

RTMP ATC

How to deliver streams with ATC timestamp? How to support HDS/HLS origin server fault-backup? Please see: 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 see: 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 see: 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 see: 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 see: 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 see: GPROF Performance Analysis

Perf Performance Analysis

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

C++ IDE

How to choose a C++ IDE? We recommend the UltimateC++ or Clion. Please see: 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 see: GIT Usage

Usage: RTMP

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

Usage: RTMP Cluster

Usage: How to use SRS to deliver RTMP cluster? Please see: 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 see: Usage: HLS

Usage: Transcode2HLS

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

Usage: FFMPEG

Usage: How to use SRS to transcode streams? How to transcode codecs for HLS? Please see: 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 see: 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 see: Usage: Forward

Usage: Realtime

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

Usage: ARM

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

Usage: HTTP

Usage: How to deliver HLS without an external HTTP server? How to use the embedded HTTP server of SRS? Please see: 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 see: Usage: DEMO

Winlin 2015.5