Initial import: sources, staging packages, build scripts and CI workflow
Build and Publish Debian Packages / Build Packages (push) Failing after 18s
Build and Publish Debian Packages / Publish to eendoe repository (push) Skipped

This commit is contained in:
bart
2026-10-20 21:20:13 +02:00
commit 9cc903b2a4
269 changed files with 73441 additions and 0 deletions
@@ -0,0 +1,53 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 8080;
}
stats {
network 0;
}
rtc_server {
enabled on;
# Listen at udp://8000
listen 8000;
#
# The $CANDIDATE means fetch from env, if not configed, use * as default.
#
# The * means retrieving server IP automatically, from all network interfaces,
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
ingest livestream {
enabled on;
input {
type file;
url ./doc/source.200kbps.768x320.flv;
}
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine {
enabled off;
output rtmp://127.0.0.1:[port]/live/livestream;
}
}
}
@@ -0,0 +1,53 @@
# SRT config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 8080;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
srt_server {
enabled on;
listen 10080;
maxbw 1000000000;
connect_timeout 4000;
peerlatency 0;
recvlatency 0;
latency 0;
tsbpdmode off;
tlpktdrop off;
sendbuf 2000000;
recvbuf 2000000;
}
# @doc https://github.com/ossrs/srs/issues/1147#issuecomment-577607026
vhost __defaultVhost__ {
srt {
enabled on;
srt_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
# For SRT to use vhost.
vhost srs.srt.com.cn {
}
stats {
network 0;
disk sda sdb xvda xvdb;
}
@@ -0,0 +1,66 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 8080;
}
stats {
network 0;
}
rtc_server {
enabled on;
# Listen at udp://8000
listen 8000;
#
# The $CANDIDATE means fetch from env, if not configed, use * as default.
#
# The * means retrieving server IP automatically, from all network interfaces,
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
srt_server {
enabled on;
listen 10080;
maxbw 1000000000;
connect_timeout 4000;
peerlatency 0;
recvlatency 0;
latency 0;
tsbpdmode off;
tlpktdrop off;
sendbuf 2000000;
recvbuf 2000000;
}
vhost __defaultVhost__ {
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
hls {
enabled on;
}
srt {
enabled on;
srt_to_rtmp on;
}
}
@@ -0,0 +1,79 @@
listen 1935;
pid ./objs/srs.pid;
srs_log_tank console;
srs_log_level trace;
max_connections 1000;
daemon off;
http_api {
enabled on;
listen 1985;
crossdomain on;
raw_api {
enabled on;
allow_reload on;
allow_query on;
allow_update on;
}
}
# for SRS1.
http_stream {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
# for SRS1.
http {
enabled on;
mount [vhost]/hls;
dir ./objs/nginx/html/hls;
}
# for SRS1.
refer github.com github.io;
refer_publish github.com github.io;
refer_play github.com github.io;
# for SRS2
publish_1stpkt_timeout 20000;
publish_normal_timeout 7000;
# for SRS2
mr {
enabled off;
latency 350;
}
# for SRS1
mode remote;
origin 127.0.0.1:1935 localhost:1935;
token_traverse off;
vhost same.edge.srs.com;
debug_srs_upnode off;
# for SRS1
forward 127.0.0.1:1936 127.0.0.1:1937;
# for SRS1
time_jitter full;
# for SRS2
mix_correct off;
#for SRS1
atc on;
atc_auto on;
# for SRS2
mw_latency 100;
# for SRS1
gop_cache off;
queue_length 10;
# for SRS2
send_min_interval 10.0;
reduce_sequence_header on;
}
@@ -0,0 +1,37 @@
# no-daemon and write log to console config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
}
@@ -0,0 +1,17 @@
# no-daemon and write log to console config for srs.
# @see full.conf for detail config.
listen 1935 [::]:1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
}
vhost __defaultVhost__ {
}
@@ -0,0 +1,23 @@
# the config for srs to delivery dash
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-dash
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
dash {
enabled on;
dash_fragment 10;
dash_update_period 10;
dash_window_size 3;
dash_path ./objs/nginx/html;
dash_mpd_file [app]/[stream].mpd;
}
}
@@ -0,0 +1,22 @@
# the config for srs demo
# @see full.conf for detail config.
listen 19350;
max_connections 1000;
daemon off;
srs_log_tank console;
pid ./objs/srs.demo.19350.pid;
vhost __defaultVhost__ {
enabled on;
play {
gop_cache on;
}
hls {
enabled on;
hls_path ./objs/nginx/html/forward;
hls_fragment 5;
hls_window 30;
}
}
@@ -0,0 +1,205 @@
# the config for srs demo
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
pid ./objs/srs.demo.pid;
chunk_size 60000;
max_connections 2000;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
enabled on;
gop_cache on;
}
vhost demo.srs.com {
chunk_size 60000;
enabled on;
gop_cache on;
queue_length 30;
forward {
enabled on;
destination 127.0.0.1:19350;
}
hls {
enabled on;
hls_path ./objs/nginx/html;
hls_fragment 5;
hls_window 30;
}
http_hooks {
enabled on;
on_publish http://127.0.0.1:8085/api/v1/streams;
on_unpublish http://127.0.0.1:8085/api/v1/streams;
on_play http://127.0.0.1:8085/api/v1/sessions;
on_stop http://127.0.0.1:8085/api/v1/sessions;
}
transcode {
enabled on;
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine ld {
enabled on;
vfilter {
i ./doc/srs-logo.png;
filter_complex 'overlay=10:10';
}
vcodec libx264;
vbitrate 300;
vfps 20;
vwidth 768;
vheight 320;
vthreads 1;
vprofile baseline;
vpreset superfast;
vparams {
}
acodec libfdk_aac;
abitrate 45;
asample_rate 44100;
achannels 2;
aparams {
}
output rtmp://127.0.0.1:[port]/[app]/[stream]_[engine]?vhost=[vhost];
}
engine sd {
enabled on;
vfilter {
vf 'split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2';
}
vcodec libx264;
vbitrate 500;
vfps 20;
vwidth 768;
vheight 320;
vthreads 1;
vprofile main;
vpreset fast;
vparams {
}
acodec libfdk_aac;
abitrate 40;
asample_rate 44100;
achannels 2;
aparams {
}
output rtmp://127.0.0.1:[port]/[app]/[stream]_[engine]?vhost=[vhost];
}
}
ingest {
enabled on;
input {
type file;
url ./doc/source.200kbps.768x320.flv;
}
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine {
enabled off;
output rtmp://127.0.0.1:[port]/live/livestream?vhost=[vhost];
}
}
}
vhost players {
enabled on;
gop_cache on;
transcode {
enabled on;
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine hls {
enabled on;
vfilter {
i ./doc/srs-logo.png;
filter_complex 'overlay=10:10';
}
vcodec libx264;
vbitrate 300;
vfps 20;
vwidth 768;
vheight 320;
vthreads 1;
vprofile baseline;
vpreset superfast;
vparams {
g 100;
}
acodec libfdk_aac;
abitrate 30;
asample_rate 44100;
achannels 2;
aparams {
}
output rtmp://127.0.0.1:[port]/[app]?vhost=players_pub/[stream];
}
}
ingest {
enabled on;
input {
type file;
url ./doc/source.200kbps.768x320.flv;
}
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine {
enabled off;
output rtmp://127.0.0.1:[port]/live/demo?vhost=[vhost];
}
}
}
vhost players_pub {
hls {
enabled on;
hls_path ./objs/nginx/html;
hls_fragment 5;
hls_window 30;
}
}
vhost players_chat {
gop_cache off;
hls {
enabled off;
}
transcode {
enabled on;
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine chat_hls {
enabled on;
vfilter {
}
vcodec libx264;
vbitrate 150;
vfps 15;
vwidth 576;
vheight 240;
vthreads 1;
vprofile baseline;
vpreset ultrafast;
vparams {
g 30;
}
acodec an;
output rtmp://127.0.0.1:[port]/[app]?vhost=chat_hls/[stream];
}
}
}
vhost chat_hls {
hls {
enabled on;
hls_path ./objs/nginx/html;
hls_fragment 2;
hls_window 10;
}
}
@@ -0,0 +1,40 @@
# docker config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
# For docker, please use docker logs to manage the logs of SRS.
# See https://docs.docker.com/config/containers/logging/
srs_log_tank console;
daemon off;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
rtc_server {
enabled on;
listen 8000;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
}
@@ -0,0 +1,15 @@
# the config for srs to dvr in session mode
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/dvr
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
dvr {
enabled on;
dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].mp4;
dvr_plan session;
}
}
@@ -0,0 +1,18 @@
# the config for srs to dvr in custom path.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/dvr#custom-path
# @see https://ossrs.io/lts/en-us/docs/v4/doc/dvr#custom-path
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
dvr {
enabled on;
dvr_path ./objs/nginx/html/[app]/[stream]/[2006]/[01]/[02]/[15].[04].[05].[999].flv;
dvr_plan segment;
dvr_duration 30;
dvr_wait_keyframe on;
}
}
@@ -0,0 +1,17 @@
# the config for srs to dvr in segment mode
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/dvr
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
dvr {
enabled on;
dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].flv;
dvr_plan segment;
dvr_duration 30;
dvr_wait_keyframe on;
}
}
@@ -0,0 +1,15 @@
# the config for srs to dvr in session mode
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/dvr
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
dvr {
enabled on;
dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].flv;
dvr_plan session;
}
}
@@ -0,0 +1,24 @@
# the config for srs origin-edge cluster
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/edge
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
pid objs/edge.pid;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
cluster {
mode remote;
origin 127.0.0.1:19350;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,15 @@
# the config for srs for token traverse authentication
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/drm
# @see full.conf for detail config.
listen 1935
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
cluster {
mode remote;
origin 127.0.0.1:19350;
token_traverse on;
}
}
@@ -0,0 +1,15 @@
# the config for srs origin-edge cluster
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/edge
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
pid objs/edge2.pid;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
cluster {
mode remote;
origin 127.0.0.1:19350;
}
}
@@ -0,0 +1,14 @@
# the config for srs to support nginx-rtmp exec.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/nginx-exec
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
exec {
enabled on;
publish ./objs/ffmpeg/bin/ffmpeg -f flv -i [url] -c copy -y ./[stream].flv;
}
}
@@ -0,0 +1,29 @@
# the config for srs use ffmpeg to transcode
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-ffmpeg
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
transcode {
enabled on;
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine ff {
enabled on;
vfilter {
}
vcodec libx264;
vthreads 4;
vprofile main;
vpreset medium;
vparams {
}
acodec libfdk_aac;
aparams {
}
output rtmp://127.0.0.1:[port]/[app]/[stream]_[engine]?vhost=[vhost];
}
}
}
@@ -0,0 +1,34 @@
listen 1935;
max_connections 1000;
daemon on; disable_daemon_for_docker off; srs_log_tank file;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc off;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp off;
}
}
@@ -0,0 +1,15 @@
# the config for srs to forward to slave service
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-forward
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
pid ./objs/srs.backend.pid;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
forward {
enabled on;
backend http://127.0.0.1:8085/api/v1/forward;
}
}
@@ -0,0 +1,15 @@
# the config for srs to forward
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-forward
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
pid ./objs/srs.master.pid;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
forward {
enabled on;
destination 127.0.0.1:19350;
}
}
@@ -0,0 +1,11 @@
# the config for srs to forward
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-forward
# @see full.conf for detail config.
listen 19350;
max_connections 1000;
pid ./objs/srs.slave.pid;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,56 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
stream_caster {
enabled on;
caster gb28181;
output rtmp://127.0.0.1/live/[stream];
listen 9000;
sip {
enabled on;
listen 5060;
# @see https://ossrs.net/lts/zh-cn/docs/v5/doc/gb28181#config-candidate
candidate $CANDIDATE;
}
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
hls {
enabled on;
}
}
@@ -0,0 +1,15 @@
# the config for srs origin-edge cluster
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/edge
# @see full.conf for detail config.
listen 19351;
max_connections 1000;
pid objs/edge1.pid;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
cluster {
mode remote;
origin 127.0.0.1:19350;
}
}
@@ -0,0 +1,15 @@
# the config for srs origin-edge cluster
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/edge
# @see full.conf for detail config.
listen 19352;
max_connections 1000;
pid objs/edge2.pid;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
cluster {
mode remote;
origin 127.0.0.1:19350;
}
}
@@ -0,0 +1,16 @@
# the config for srs to delivery hds
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
hds {
enabled on;
hds_fragment 10;
hds_window 60;
hds_path ./objs/nginx/html;
}
}
@@ -0,0 +1,26 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
srt_server {
enabled on;
listen 10080;
}
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
}
vhost __defaultVhost__ {
srt {
enabled on;
srt_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,26 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
srt_server {
enabled on;
listen 10080;
}
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
}
vhost __defaultVhost__ {
srt {
enabled on;
srt_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].ts;
}
}
@@ -0,0 +1,21 @@
# the config for srs to delivery hls
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-hls
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
hls {
enabled on;
hls_path ./objs/nginx/html;
hls_fragment 10;
hls_window 60;
}
}
@@ -0,0 +1,39 @@
# Note that this is for NGINX server, not SRS.
worker_processes 3;
events {
worker_connections 10240;
}
http {
# For Proxy Cache.
proxy_cache_path /tmp/nginx-cache levels=1:2 keys_zone=srs_cache:8m max_size=1000m inactive=600m;
proxy_temp_path /tmp/nginx-cache/tmp;
server {
listen 8081;
# For Proxy Cache.
proxy_cache_valid 404 10s;
proxy_cache_lock on;
proxy_cache_lock_age 300s;
proxy_cache_lock_timeout 300s;
proxy_cache_min_uses 1;
location ~ /.+/.*\.(m3u8)$ {
proxy_pass http://127.0.0.1:8080$request_uri;
# For Proxy Cache.
proxy_cache srs_cache;
proxy_cache_key $scheme$proxy_host$uri$args;
proxy_cache_valid 200 302 10s;
}
location ~ /.+/.*\.(ts)$ {
proxy_pass http://127.0.0.1:8080$request_uri;
# For Proxy Cache.
proxy_cache srs_cache;
proxy_cache_key $scheme$proxy_host$uri;
proxy_cache_valid 200 302 60m;
}
}
}
@@ -0,0 +1,17 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
}
vhost __defaultVhost__ {
hls {
enabled on;
# Note that it will make NGINX edge cache always missed, so never enable HLS streaming if use NGINX edges.
hls_ctx off;
}
}
@@ -0,0 +1,21 @@
# the config for srs to delivery realtime RTMP stream
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-realtime
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
hls {
enabled on;
hls_fragment 0.2;
hls_window 2;
hls_wait_keyframe off;
}
}
@@ -0,0 +1,20 @@
# the config for srs to remux rtmp to aac live stream.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/delivery-http-flv
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
http_remux {
enabled on;
fast_cache 30;
mount [vhost]/[app]/[stream].aac;
}
}
@@ -0,0 +1,21 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 1985;
auth {
enabled on;
username admin;
password admin;
}
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
}
@@ -0,0 +1,38 @@
# main config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc off;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp off;
}
}
@@ -0,0 +1,38 @@
# main config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 8080;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc off;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp off;
}
}
@@ -0,0 +1,50 @@
# main config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 8080;
https {
enabled on;
listen 8088;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
https {
enabled on;
listen 8088;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc off;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp off;
}
}
@@ -0,0 +1,26 @@
# main config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 1985;
raw_api {
enabled on;
allow_reload on;
}
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
stats {
network 0;
disk sda sdb xvda xvdb;
}
vhost __defaultVhost__ {
}
@@ -0,0 +1,19 @@
# the config for srs to remux rtmp to flv live stream.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/delivery-http-flv
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,24 @@
# the config for srs to remux rtmp to flv live stream.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/delivery-http-flv
# @see full.conf for detail config.
listen 19351;
max_connections 1000;
pid objs/srs.flv.19351.pid;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8081;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
cluster {
mode remote;
origin 127.0.0.1;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,24 @@
# the config for srs to remux rtmp to flv live stream.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/delivery-http-flv
# @see full.conf for detail config.
listen 19352;
max_connections 1000;
pid objs/srs.flv.19352.pid;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8082;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
cluster {
mode remote;
origin 127.0.0.1;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,25 @@
# the config for srs http heartbeat, report its info to api-server
# @see full.conf for detail config.
listen 1935
max_connections 1000;
daemon off;
srs_log_tank console;
heartbeat {
enabled on;
interval 9.3;
# for python api-server
url http://127.0.0.1:8085/api/v1/servers;
device_id "my-srs-device";
# for ossrs.net monitor, device_id is the key genereated by bsm.
#url http://www.ossrs.net:1977/api/v1/robots/servers;
#device_id "35c9b402c12a7246868752e2878f7e0e";
# with detail summaries
summaries on;
}
stats {
network 0;
disk sda sdb xvda xvdb;
}
vhost __defaultVhost__ {
}
@@ -0,0 +1,23 @@
# the config for srs to delivery hls
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-hls
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
hls {
enabled on;
hls_fragment 10;
hls_window 60;
hls_path ./objs/nginx/html;
hls_m3u8_file [app]/[stream].m3u8;
hls_ts_file [app]/[stream]-[seq].ts;
}
}
@@ -0,0 +1,16 @@
# http-hooks or http-callbacks config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
http_hooks {
enabled on;
on_publish http://127.0.0.1:8085/api/v1/streams http://localhost:8085/api/v1/streams;
on_unpublish http://127.0.0.1:8085/api/v1/streams http://localhost:8085/api/v1/streams;
on_play http://127.0.0.1:8085/api/v1/sessions http://localhost:8085/api/v1/sessions;
on_stop http://127.0.0.1:8085/api/v1/sessions http://localhost:8085/api/v1/sessions;
}
}
@@ -0,0 +1,20 @@
# the config for srs to remux rtmp to mp3 live stream.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/delivery-http-flv
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
http_remux {
enabled on;
fast_cache 30;
mount [vhost]/[app]/[stream].mp3;
}
}
@@ -0,0 +1,19 @@
# the config for srs to serve as http server
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost ossrs.net {
http_static {
enabled on;
mount [vhost]/;
dir ./objs/nginx/html;
}
}
@@ -0,0 +1,19 @@
# the config for srs to remux rtmp to ts live stream.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/delivery-http-flv
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
http_remux {
enabled on;
mount [vhost]/[app]/[stream].ts;
}
}
@@ -0,0 +1,55 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
https {
enabled on;
listen 8088;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
http_api {
enabled on;
listen 1985;
https {
enabled on;
listen 1990;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc off;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp off;
}
}
@@ -0,0 +1,25 @@
# the config for srs to remux rtmp to flv live stream.
# @see https://github.com/ossrs/srs/issues/1657#issuecomment-722971676
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
https {
enabled on;
listen 8088;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
vhost __defaultVhost__ {
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,29 @@
# the config for srs to delivery hls
# @see https://github.com/ossrs/srs/issues/1657#issuecomment-722971676
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
https {
enabled on;
listen 8088;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
vhost __defaultVhost__ {
hls {
enabled on;
hls_fragment 10;
hls_window 60;
hls_path ./objs/nginx/html;
hls_m3u8_file [app]/[stream].m3u8;
hls_ts_file [app]/[stream]-[seq].ts;
}
}
@@ -0,0 +1,17 @@
# http-hooks or https-callbacks config for srs.
# @see https://github.com/ossrs/srs/issues/1657#issuecomment-720889906
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
http_hooks {
enabled on;
on_publish https://127.0.0.1:443/api/v1/streams;
on_unpublish https://127.0.0.1:443/api/v1/streams;
on_play https://127.0.0.1:443/api/v1/sessions;
on_stop https://127.0.0.1:443/api/v1/sessions;
}
}
@@ -0,0 +1,52 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
https {
enabled on;
listen 8088;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
http_api {
enabled on;
listen 1985;
https {
enabled on;
listen 1990;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc off;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp off;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,52 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
https {
enabled on;
listen 8088;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
http_api {
enabled on;
listen 1985;
https {
enabled on;
listen 1990;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,55 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
https {
enabled on;
listen 8088;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
http_api {
enabled on;
listen 1985;
https {
enabled on;
listen 1990;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc off;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp off;
}
}
@@ -0,0 +1,20 @@
# include directive config for SRS.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
srs_log_tank console;
daemon off;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
include ./conf/include.vhost.conf;
@@ -0,0 +1,9 @@
vhost include.srs.com {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,22 @@
# use ffmpeg to ingest file/stream/device to SRS
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-ingest
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
ingest livestream {
enabled on;
input {
type file;
url ./doc/source.200kbps.768x320.flv;
}
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine {
enabled off;
output rtmp://127.0.0.1:[port]/live/livestream?vhost=[vhost];
}
}
}
@@ -0,0 +1,28 @@
# use ffmpeg to ingest file/stream/device to SRS
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-ingest
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
ingest {
enabled on;
input {
type stream;
url rtsp://admin:12345678@192.168.2.21:554/Streaming/Channels/501?transportmode=unicast;
}
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine {
enabled on;
perfile {
rtsp_transport tcp;
}
vcodec copy;
acodec copy;
output rtmp://127.0.0.1:[port]/live/livestream?vhost=[vhost];
}
}
}
@@ -0,0 +1,28 @@
# Live streaming config for SRS.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
srs_log_tank console;
daemon off;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,39 @@
# main config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
srs_log_tank file;
srs_log_file ./objs/srs.log;
daemon off;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc off;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp off;
}
}
@@ -0,0 +1,19 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
hls {
enabled on;
hls_acodec mp3;
}
}
@@ -0,0 +1,15 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
http_remux {
enabled on;
mount [vhost]/[app]/[stream].mp3;
}
}
@@ -0,0 +1,32 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
hls {
enabled on;
hls_acodec mp3;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
}
@@ -0,0 +1,15 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
http_remux {
enabled on;
mount [vhost]/[app]/[stream].ts;
}
}
@@ -0,0 +1,39 @@
# Note that this is for NGINX server, not SRS.
worker_processes 1;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
server {
listen 80;
listen 443 ssl http2;
server_name _;
ssl_certificate /usr/local/srs/conf/server.crt;
ssl_certificate_key /usr/local/srs/conf/server.key;
# For SRS homepage, console and players
# http://r.ossrs.net/console/
# http://r.ossrs.net/players/
location ~ ^/(console|players)/ {
proxy_pass http://127.0.0.1:8080/$request_uri;
}
# For SRS streaming, for example:
# http://r.ossrs.net/live/livestream.flv
# http://r.ossrs.net/live/livestream.m3u8
location ~ ^/.+/.*\.(flv|m3u8|ts|aac|mp3)$ {
proxy_pass http://127.0.0.1:8080$request_uri;
}
# For SRS backend API for console.
# For SRS WebRTC publish/play API.
location ~ ^/(api|rtc)/ {
proxy_pass http://127.0.0.1:1985$request_uri;
}
}
}
@@ -0,0 +1,24 @@
# no-daemon and write log to console config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
}
vhost __defaultVhost__ {
hls {
enabled off;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,15 @@
# the config for srs origin-edge cluster
# @see https://ossrs.io/lts/en-us/docs/v4/doc/origin-cluster
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
pid objs/edge.pid;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
cluster {
mode remote;
origin 127.0.0.1:19351 127.0.0.1:19350;
}
}
@@ -0,0 +1,20 @@
# the config for srs origin-origin cluster
# @see https://ossrs.io/lts/en-us/docs/v4/doc/origin-cluster
# @see full.conf for detail config.
listen 19350;
max_connections 1000;
daemon off;
srs_log_tank console;
pid ./objs/origin.cluster.serverA.pid;
http_api {
enabled on;
listen 9090;
}
vhost __defaultVhost__ {
cluster {
mode local;
origin_cluster on;
coworkers 127.0.0.1:9091 127.0.0.1:9092;
}
}
@@ -0,0 +1,20 @@
# the config for srs origin-origin cluster
# @see https://ossrs.io/lts/en-us/docs/v4/doc/origin-cluster
# @see full.conf for detail config.
listen 19351;
max_connections 1000;
daemon off;
srs_log_tank console;
pid ./objs/origin.cluster.serverB.pid;
http_api {
enabled on;
listen 9091;
}
vhost __defaultVhost__ {
cluster {
mode local;
origin_cluster on;
coworkers 127.0.0.1:9090 127.0.0.1:9092;
}
}
@@ -0,0 +1,20 @@
# the config for srs origin-origin cluster
# @see https://ossrs.io/lts/en-us/docs/v4/doc/origin-cluster
# @see full.conf for detail config.
listen 19352;
max_connections 1000;
daemon off;
srs_log_tank console;
pid ./objs/origin.cluster.serverC.pid;
http_api {
enabled on;
listen 9092;
}
vhost __defaultVhost__ {
cluster {
mode local;
origin_cluster on;
coworkers 127.0.0.1:9090 127.0.0.1:9091;
}
}
@@ -0,0 +1,20 @@
# the config for srs origin-edge cluster
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/edge
# @see full.conf for detail config.
listen 19350;
max_connections 1000;
pid ./objs/origin.pid;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8081;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,22 @@
# the config for isolated origin server to reuse port.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/reuse-port
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
pid ./objs/origin.hls.only1.pid;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
hls {
enabled on;
hls_path ./objs/nginx/html;
hls_fragment 10;
hls_window 60;
}
}
@@ -0,0 +1,22 @@
# the config for isolated origin server to reuse port.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/reuse-port
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
pid ./objs/origin.hls.only2.pid;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
hls {
enabled on;
hls_path ./objs/nginx/html;
hls_fragment 10;
hls_window 60;
}
}
@@ -0,0 +1,44 @@
# no-daemon and write log to console config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
# Prometheus exporter config.
exporter {
enabled on;
listen 9972;
label cn-beijing;
tag cn-edge;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
}
@@ -0,0 +1,45 @@
# push HTTP FLV to SRS.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/streamer#push-http-flv-to-srs
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
stream_caster {
enabled on;
caster flv;
output rtmp://127.0.0.1/[app]/[stream];
listen 8936;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
hls {
enabled on;
}
}
@@ -0,0 +1,57 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
stream_caster {
enabled on;
caster gb28181;
output rtmp://127.0.0.1/live/[stream];
listen 9000;
# Deprecated config, moved to sip.candidate, see gb28181.conf
# @see https://ossrs.net/lts/zh-cn/docs/v5/doc/gb28181#config-candidate
host $CANDIDATE;
sip {
enabled on;
listen 5060;
}
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
hls {
enabled on;
}
}
@@ -0,0 +1,46 @@
# push MPEG-TS over UDP to SRS.
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/streamer#push-mpeg-ts-over-udp
# @see https://github.com/ossrs/srs/issues/250#issuecomment-72321769
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
stream_caster {
enabled on;
caster mpegts_over_udp;
output rtmp://127.0.0.1/live/livestream;
listen 8935;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
hls {
enabled on;
}
}
@@ -0,0 +1,22 @@
# the config for srs to delivery realtime RTMP stream
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-realtime
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
tcp_nodelay on;
min_latency on;
play {
gop_cache off;
queue_length 10;
mw_latency 100;
}
publish {
mr off;
}
}
@@ -0,0 +1,32 @@
# the config for srs to delivery realtime RTMP stream
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-realtime
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
vhost __defaultVhost__ {
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
tcp_nodelay on;
min_latency on;
play {
gop_cache off;
queue_length 10;
mw_latency 100;
}
publish {
mr off;
}
}
@@ -0,0 +1,69 @@
listen 1935;
max_connections 1000;
# For clion, use console as output.
daemon off;
srs_log_tank console;
stream_caster {
enabled on;
caster gb28181;
output rtmp://127.0.0.1/live/[stream];
listen 9000;
sip {
enabled on;
listen 5060;
timeout 2.1;
reinvite 1.2;
}
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000;
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
rtmp_to_rtc on;
keep_bframe off;
rtc_to_rtmp on;
}
play {
atc on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
drop_if_not_match on;
}
ingest livestream {
enabled on;
input {
type file;
url ./doc/source.200kbps.768x320.flv;
}
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine {
enabled off;
output rtmp://127.0.0.1:[port]/live/livestream;
}
}
}
@@ -0,0 +1,69 @@
listen 1935;
max_connections 1000;
# Force to daemon and write logs to file.
daemon on;
disable_daemon_for_docker off;
srs_log_tank file;
stream_caster {
enabled on;
caster gb28181;
output rtmp://127.0.0.1/live/[stream];
listen 9000;
sip {
enabled on;
listen 5060;
timeout 2.1;
reinvite 1.2;
}
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000;
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
rtmp_to_rtc on;
keep_bframe off;
rtc_to_rtmp on;
}
play {
atc on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
ingest livestream {
enabled on;
input {
type file;
url ./doc/source.200kbps.768x320.flv;
}
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine {
enabled off;
output rtmp://127.0.0.1:[port]/live/livestream;
}
}
}
@@ -0,0 +1,42 @@
# WebRTC streaming config for SRS.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc off;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp off;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,40 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,10 @@
# the config for srs to delivery RTMP
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-rtmp
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
}
@@ -0,0 +1,13 @@
# the config for srs to delivery RTMP with kicking off publish as no one watching.
# @see https://github.com/ossrs/srs/wiki/v1_CN_SampleRTMP
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
publish {
kickoff_for_idle 60000;
}
}
@@ -0,0 +1,40 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,15 @@
# security config for srs, allow play and deny publish.
# @see https://github.com/ossrs/srs/issues/211#issuecomment-68507035
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
security {
enabled on;
deny publish all;
allow play all;
}
}
@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDOjCCAiICCQDdW9nBokaeVjANBgkqhkiG9w0BAQsFADBfMQswCQYDVQQGEwJD
TjEQMA4GA1UECAwHQmVpamluZzEQMA4GA1UEBwwHQmVpamluZzELMAkGA1UECgwC
TWUxCzAJBgNVBAsMAk1lMRIwEAYDVQQDDAlvc3Nycy5uZXQwHhcNMjAxMTA0MDMz
NzA2WhcNMzAxMTAyMDMzNzA2WjBfMQswCQYDVQQGEwJDTjEQMA4GA1UECAwHQmVp
amluZzEQMA4GA1UEBwwHQmVpamluZzELMAkGA1UECgwCTWUxCzAJBgNVBAsMAk1l
MRIwEAYDVQQDDAlvc3Nycy5uZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDboRBymzLCMS0rpJ0EpBBEtkY3kKETYrAcs3AyJyB8YghrotOeY+Klh1ca
GmUMy2UncOBxZKHeupNEytOBWmdk67nrWVc5+nIWoWkqyzSkRFwzE+XbuCbZYjpF
O/G0/aka71mQyuI9W6djhxFUGPctM9ixSYF14/BkuYYDYrW0hXT5PWu0mxleVZAZ
UQsy8DLhwjj9Vn3Y3D6Ttrdax5DHH+WoPmC3L7wrgfpn0ccE8UrvkxvkUJL7pgHN
4n+21lXhrpoH6PP7TLU3Y7cq6XXNlApoitcjxKBBKKKP1jHEN5v8FKCGN0yQuGI2
Pf+ZmuqUnWiDIjQeStknckdmliNnAgMBAAEwDQYJKoZIhvcNAQELBQADggEBABvp
HMf97otfELZBTrk/YbeosgSbyRcxVIUN9nYT06s948katw/bmDABhoslI5ePlomq
X9NrfMEz6eeFIQUOd7KKcfp/sz3nmlkykR5hLe10RxGlB2pwV+Piu9hQfP59y2X8
7hWkT5CbtN8Jm2U151AkZkbEnKVnAbz9XS352Ta5M8AuJGp+rNcFOFZhaMG23kt3
oqZMdehI3RO5CcIiWr/lsX+ZwcDpT+x0DC6F3lBw9r9hBv4pVSP4WZ+zuUCaano8
BCT/FmoxUWMpusGIkhNTNJGAOH1tgtZkiIfiKCKuyHX32sLQ0ls1PUTLqbKubIlS
fYGN4X/2UKfFCXKrNes=
-----END CERTIFICATE-----
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA26EQcpsywjEtK6SdBKQQRLZGN5ChE2KwHLNwMicgfGIIa6LT
nmPipYdXGhplDMtlJ3DgcWSh3rqTRMrTgVpnZOu561lXOfpyFqFpKss0pERcMxPl
27gm2WI6RTvxtP2pGu9ZkMriPVunY4cRVBj3LTPYsUmBdePwZLmGA2K1tIV0+T1r
tJsZXlWQGVELMvAy4cI4/VZ92Nw+k7a3WseQxx/lqD5gty+8K4H6Z9HHBPFK75Mb
5FCS+6YBzeJ/ttZV4a6aB+jz+0y1N2O3Kul1zZQKaIrXI8SgQSiij9YxxDeb/BSg
hjdMkLhiNj3/mZrqlJ1ogyI0HkrZJ3JHZpYjZwIDAQABAoIBAHMEcUmjjzx1ZnNx
nK0+giqJzlHxEvnE9/e/3OTW6sNYz5IWzn4nTx1iuDG6WusNZWb3TQL1MXQj/1XK
ZmNahcUrUc03l1+MkczaMOoxStsv1Z0GMZ0UXnv/Xga98sHXCYVKjXwvU7XQVuPf
ayrAfEmW2kdV+E9V1KHbKpyBSClFtmGTCL7lFq2F+fokTDxItZNDQbkrCTPDa8sR
i4gk/vKi48AJgbnJC2uF9/0+NMJhMjRvpJ8U2roYWd8HQMuJZXYbLPwUDZDMW+rq
l6oax+GZQhrez9bJESrmWZebrJLcJMOhMHv9hVAh8Yu4Bzqhxxsrmjff5PmHIE+t
Upf4J2ECgYEA80Fs6rqbHrrNfNXGolM8h3e9wQyrpWXZnS+OBS1poosns5YalF6g
s1J/GF/lwPs7bQNsX/JSX9NTezKi326qrzbu67K8dxufPNliI10/XlYpOFJRD48m
2ShYUezbA3AipmOiS/Tr4OO0D4uZ4Uo6ThiOEZgM/Eq2vkLX8IKjAxECgYEA5yLC
JJM7Lyr7X2HHAPGBwUyMWVrmbNcECTlk4MxYCY1EKZr+1zgN3Z5do927gqLQYRWH
B3/cAl5en+HTF3aWHPw2CiDsW6jzmgrhHnQOZngh3dGgQN3hFJ5TZy97851gQrsI
xv6dEH/uzl51SKZbS4KccDczdySHu1Za75xvTvcCgYBUIUqUHBnOFPlAtYbPWU5T
49viyokK2SDcNjg+HiisqMgAWmey7M9TdbKzMWd6yOkSmN6AiIRo0+PJdgfSkqnB
k5QqPFTmNM1r9Br29CcYb2AuNHoIkY/0BvoUy4ArvjqdpVPaRUjXLKl3vuZnfo6P
t/pap2XGU+jEAMZCTkwmoQKBgQClPp5aE8CuWiZY7MifjgncLmPwxiITEi3agmPy
q2UNfyeKLzueln6jQMNlkfKq1MfxgLiGzgx2zQ0NdR+7mJZ9pnrkBuG0Ljfqm3iS
kxpwe9aKhYHyni561S5/iN0vMAZP7vO5gPK9hxkuBS4IgJaoh3pcZ7qtpTo83uIo
iEizxQKBgQDpHcsuZy4ZNAQLDnQXjFut3Pypy80NkpThCjOa6yEdleBY9CqttD0K
olVoFQ5h5dv95oBdM5TaKkQNhKDFpLG0vOYRCua7k+xfnDt5Faaiy6Qe/e7cDKbf
9QDejoY43wlEtYzwfSeojnvP0ASPwiWb8DLfBpE0uOTs8/N8qwRiBA==
-----END RSA PRIVATE KEY-----
@@ -0,0 +1,45 @@
# main config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
#srs_log_tank file;
#srs_log_file ./objs/srs.log;
daemon off;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;#
hls_m3u8_file recorder1/[app]/[stream].m3u8;
}
http_remux {
enabled on;
fast_cache 10;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc off;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp off;
}
play{
gop_cache_max_frames 2500;
}
}
@@ -0,0 +1,53 @@
# SRT config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
srt_server {
enabled on;
listen 10080;
maxbw 1000000000;
connect_timeout 4000;
peerlatency 0;
recvlatency 0;
latency 0;
tsbpdmode off;
tlpktdrop off;
sendbuf 2000000;
recvbuf 2000000;
}
# @doc https://github.com/ossrs/srs/issues/1147#issuecomment-577607026
vhost __defaultVhost__ {
srt {
enabled on;
srt_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
# For SRT to use vhost.
vhost srs.srt.com.cn {
}
stats {
network 0;
disk sda sdb xvda xvdb;
}
@@ -0,0 +1,55 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
srt_server {
enabled on;
listen 10080;
maxbw 1000000000;
connect_timeout 4000;
peerlatency 0;
recvlatency 0;
}
rtc_server {
enabled on;
# Listen at udp://8000
listen 8000;
#
# The $CANDIDATE means fetch from env, if not configed, use * as default.
#
# The * means retrieving server IP automatically, from all network interfaces,
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
# @doc https://github.com/ossrs/srs/issues/1147#issuecomment-577607026
vhost __defaultVhost__ {
srt {
enabled on;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}
@@ -0,0 +1,55 @@
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
srt_server {
enabled on;
listen 10080;
maxbw 1000000000;
connect_timeout 4000;
peerlatency 0;
recvlatency 0;
}
rtc_server {
enabled on;
# Listen at udp://8000
listen 8000;
#
# The $CANDIDATE means fetch from env, if not configed, use * as default.
#
# The * means retrieving server IP automatically, from all network interfaces,
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
# @doc https://github.com/ossrs/srs/issues/1147#issuecomment-577607026
vhost __defaultVhost__ {
srt {
enabled on;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].ts;
}
}
@@ -0,0 +1,30 @@
# the config for srs to delivery hls
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/sample-hls
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
hls {
enabled on;
hls_fragment 10;
hls_window 60;
hls_path ./objs/nginx/html;
hls_m3u8_file [app]/[stream].m3u8;
hls_ts_file [app]/[stream]-[seq].ts;
}
transcode {
enabled on;
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine ff {
enabled on;
vcodec copy;
acodec libfdk_aac;
aparams {
}
output rtmp://127.0.0.1:[port]/[app]/[stream]_[engine]?vhost=[vhost];
}
}
}
@@ -0,0 +1,31 @@
# the config for srs origin-edge cluster
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/edge#transform-vhost
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
vhost __defaultVhost__ {
}
vhost source.srs.com {
ingest livestream {
enabled on;
input {
type file;
url ./doc/source.200kbps.768x320.flv;
}
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine {
enabled off;
output rtmp://127.0.0.1:[port]/live/livestream?vhost=[vhost];
}
}
}
vhost transform.srs.edge.com {
cluster {
mode remote;
origin 127.0.0.1:1935;
vhost source.srs.com;
}
}
@@ -0,0 +1,48 @@
listen 1935;
max_connections 1000;
daemon on;
srs_log_tank file;
# For LightHouse VM to run SRS, never enable docker.
in_docker off;
disable_daemon_for_docker off;
auto_reload_for_docker off;
http_server {
enabled on;
listen 8080;
dir ./objs/nginx/html;
}
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate $CANDIDATE;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
}
@@ -0,0 +1,769 @@
.PHONY: srs_mp4_parser srs_hls_ingester
GCC = gcc
CXX = g++
AR = ar
LINK = g++
CXXFLAGS = -std=c++11 -Wall -g -O0 -fsanitize=address -fno-omit-frame-pointer
.PHONY: default srs srs_ingest_hls
default:
#####################################################################################
# The module CORE.
#####################################################################################
# INCS for CORE, headers of module and its depends to compile
CORE_MODULE_INCS = -I./src/core
CORE_INCS = -I./src/core
CORE_LIBS_INCS = -I./objs
# DEPS for CORE, the depends of make schema
CORE_DEPS = ./src/core/srs_core.hpp ./src/core/srs_core_version.hpp ./src/core/srs_core_version5.hpp ./src/core/srs_core_autofree.hpp ./src/core/srs_core_performance.hpp ./src/core/srs_core_time.hpp ./src/core/srs_core_platform.hpp
# OBJ for CORE, each object file
./objs/src/core/srs_core.o: $(CORE_DEPS) ./src/core/srs_core.cpp
$(CXX) -c $(CXXFLAGS) \
$(CORE_INCS)\
$(CORE_LIBS_INCS)\
-o ./objs/src/core/srs_core.o \
./src/core/srs_core.cpp
./objs/src/core/srs_core_version.o: $(CORE_DEPS) ./src/core/srs_core_version.cpp
$(CXX) -c $(CXXFLAGS) \
$(CORE_INCS)\
$(CORE_LIBS_INCS)\
-o ./objs/src/core/srs_core_version.o \
./src/core/srs_core_version.cpp
./objs/src/core/srs_core_version5.o: $(CORE_DEPS) ./src/core/srs_core_version5.cpp
$(CXX) -c $(CXXFLAGS) \
$(CORE_INCS)\
$(CORE_LIBS_INCS)\
-o ./objs/src/core/srs_core_version5.o \
./src/core/srs_core_version5.cpp
./objs/src/core/srs_core_autofree.o: $(CORE_DEPS) ./src/core/srs_core_autofree.cpp
$(CXX) -c $(CXXFLAGS) \
$(CORE_INCS)\
$(CORE_LIBS_INCS)\
-o ./objs/src/core/srs_core_autofree.o \
./src/core/srs_core_autofree.cpp
./objs/src/core/srs_core_performance.o: $(CORE_DEPS) ./src/core/srs_core_performance.cpp
$(CXX) -c $(CXXFLAGS) \
$(CORE_INCS)\
$(CORE_LIBS_INCS)\
-o ./objs/src/core/srs_core_performance.o \
./src/core/srs_core_performance.cpp
./objs/src/core/srs_core_time.o: $(CORE_DEPS) ./src/core/srs_core_time.cpp
$(CXX) -c $(CXXFLAGS) \
$(CORE_INCS)\
$(CORE_LIBS_INCS)\
-o ./objs/src/core/srs_core_time.o \
./src/core/srs_core_time.cpp
./objs/src/core/srs_core_platform.o: $(CORE_DEPS) ./src/core/srs_core_platform.cpp
$(CXX) -c $(CXXFLAGS) \
$(CORE_INCS)\
$(CORE_LIBS_INCS)\
-o ./objs/src/core/srs_core_platform.o \
./src/core/srs_core_platform.cpp
#####################################################################################
# The module KERNEL.
#####################################################################################
# INCS for KERNEL, headers of module and its depends to compile
KERNEL_MODULE_INCS = -I./src/kernel
KERNEL_INCS = -I./src/kernel $(CORE_MODULE_INCS)
KERNEL_LIBS_INCS = -I./objs -I./objs/openssl/include
# DEPS for KERNEL, the depends of make schema
KERNEL_DEPS = ./src/kernel/srs_kernel_error.hpp ./src/kernel/srs_kernel_log.hpp ./src/kernel/srs_kernel_buffer.hpp ./src/kernel/srs_kernel_utility.hpp ./src/kernel/srs_kernel_flv.hpp ./src/kernel/srs_kernel_codec.hpp ./src/kernel/srs_kernel_io.hpp ./src/kernel/srs_kernel_consts.hpp ./src/kernel/srs_kernel_aac.hpp ./src/kernel/srs_kernel_mp3.hpp ./src/kernel/srs_kernel_ts.hpp ./src/kernel/srs_kernel_ps.hpp ./src/kernel/srs_kernel_stream.hpp ./src/kernel/srs_kernel_balance.hpp ./src/kernel/srs_kernel_mp4.hpp ./src/kernel/srs_kernel_file.hpp ./src/kernel/srs_kernel_kbps.hpp ./src/kernel/srs_kernel_rtc_rtp.hpp ./src/kernel/srs_kernel_rtc_rtcp.hpp $(CORE_DEPS)
# OBJ for KERNEL, each object file
./objs/src/kernel/srs_kernel_error.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_error.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_error.o \
./src/kernel/srs_kernel_error.cpp
./objs/src/kernel/srs_kernel_log.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_log.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_log.o \
./src/kernel/srs_kernel_log.cpp
./objs/src/kernel/srs_kernel_buffer.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_buffer.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_buffer.o \
./src/kernel/srs_kernel_buffer.cpp
./objs/src/kernel/srs_kernel_utility.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_utility.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_utility.o \
./src/kernel/srs_kernel_utility.cpp
./objs/src/kernel/srs_kernel_flv.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_flv.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_flv.o \
./src/kernel/srs_kernel_flv.cpp
./objs/src/kernel/srs_kernel_codec.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_codec.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_codec.o \
./src/kernel/srs_kernel_codec.cpp
./objs/src/kernel/srs_kernel_io.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_io.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_io.o \
./src/kernel/srs_kernel_io.cpp
./objs/src/kernel/srs_kernel_consts.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_consts.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_consts.o \
./src/kernel/srs_kernel_consts.cpp
./objs/src/kernel/srs_kernel_aac.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_aac.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_aac.o \
./src/kernel/srs_kernel_aac.cpp
./objs/src/kernel/srs_kernel_mp3.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_mp3.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_mp3.o \
./src/kernel/srs_kernel_mp3.cpp
./objs/src/kernel/srs_kernel_ts.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_ts.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_ts.o \
./src/kernel/srs_kernel_ts.cpp
./objs/src/kernel/srs_kernel_ps.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_ps.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_ps.o \
./src/kernel/srs_kernel_ps.cpp
./objs/src/kernel/srs_kernel_stream.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_stream.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_stream.o \
./src/kernel/srs_kernel_stream.cpp
./objs/src/kernel/srs_kernel_balance.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_balance.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_balance.o \
./src/kernel/srs_kernel_balance.cpp
./objs/src/kernel/srs_kernel_mp4.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_mp4.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_mp4.o \
./src/kernel/srs_kernel_mp4.cpp
./objs/src/kernel/srs_kernel_file.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_file.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_file.o \
./src/kernel/srs_kernel_file.cpp
./objs/src/kernel/srs_kernel_kbps.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_kbps.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_kbps.o \
./src/kernel/srs_kernel_kbps.cpp
./objs/src/kernel/srs_kernel_rtc_rtp.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_rtc_rtp.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_rtc_rtp.o \
./src/kernel/srs_kernel_rtc_rtp.cpp
./objs/src/kernel/srs_kernel_rtc_rtcp.o: $(KERNEL_DEPS) ./src/kernel/srs_kernel_rtc_rtcp.cpp
$(CXX) -c $(CXXFLAGS) \
$(KERNEL_INCS)\
$(KERNEL_LIBS_INCS)\
-o ./objs/src/kernel/srs_kernel_rtc_rtcp.o \
./src/kernel/srs_kernel_rtc_rtcp.cpp
#####################################################################################
# The module PROTOCOL.
#####################################################################################
# INCS for PROTOCOL, headers of module and its depends to compile
PROTOCOL_MODULE_INCS = -I./src/protocol
PROTOCOL_INCS = -I./src/protocol $(CORE_MODULE_INCS)$(KERNEL_MODULE_INCS)
PROTOCOL_LIBS_INCS = -I./objs -I./objs/st -I./objs/openssl/include -I./objs/srt/include
# DEPS for PROTOCOL, the depends of make schema
PROTOCOL_DEPS = ./src/protocol/srs_protocol_amf0.hpp ./src/protocol/srs_protocol_io.hpp ./src/protocol/srs_protocol_conn.hpp ./src/protocol/srs_protocol_rtmp_handshake.hpp ./src/protocol/srs_protocol_rtmp_stack.hpp ./src/protocol/srs_protocol_utility.hpp ./src/protocol/srs_protocol_rtmp_msg_array.hpp ./src/protocol/srs_protocol_stream.hpp ./src/protocol/srs_protocol_raw_avc.hpp ./src/protocol/srs_protocol_http_stack.hpp ./src/protocol/srs_protocol_kbps.hpp ./src/protocol/srs_protocol_json.hpp ./src/protocol/srs_protocol_format.hpp ./src/protocol/srs_protocol_log.hpp ./src/protocol/srs_protocol_st.hpp ./src/protocol/srs_protocol_http_client.hpp ./src/protocol/srs_protocol_http_conn.hpp ./src/protocol/srs_protocol_rtmp_conn.hpp ./src/protocol/srs_protocol_protobuf.hpp ./src/protocol/srs_protocol_srt.hpp ./src/protocol/srs_protocol_rtc_stun.hpp $(CORE_DEPS) $(KERNEL_DEPS)
# OBJ for PROTOCOL, each object file
./objs/src/protocol/srs_protocol_amf0.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_amf0.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_amf0.o \
./src/protocol/srs_protocol_amf0.cpp
./objs/src/protocol/srs_protocol_io.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_io.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_io.o \
./src/protocol/srs_protocol_io.cpp
./objs/src/protocol/srs_protocol_conn.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_conn.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_conn.o \
./src/protocol/srs_protocol_conn.cpp
./objs/src/protocol/srs_protocol_rtmp_handshake.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_rtmp_handshake.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_rtmp_handshake.o \
./src/protocol/srs_protocol_rtmp_handshake.cpp
./objs/src/protocol/srs_protocol_rtmp_stack.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_rtmp_stack.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_rtmp_stack.o \
./src/protocol/srs_protocol_rtmp_stack.cpp
./objs/src/protocol/srs_protocol_utility.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_utility.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_utility.o \
./src/protocol/srs_protocol_utility.cpp
./objs/src/protocol/srs_protocol_rtmp_msg_array.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_rtmp_msg_array.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_rtmp_msg_array.o \
./src/protocol/srs_protocol_rtmp_msg_array.cpp
./objs/src/protocol/srs_protocol_stream.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_stream.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_stream.o \
./src/protocol/srs_protocol_stream.cpp
./objs/src/protocol/srs_protocol_raw_avc.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_raw_avc.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_raw_avc.o \
./src/protocol/srs_protocol_raw_avc.cpp
./objs/src/protocol/srs_protocol_http_stack.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_http_stack.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_http_stack.o \
./src/protocol/srs_protocol_http_stack.cpp
./objs/src/protocol/srs_protocol_kbps.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_kbps.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_kbps.o \
./src/protocol/srs_protocol_kbps.cpp
./objs/src/protocol/srs_protocol_json.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_json.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_json.o \
./src/protocol/srs_protocol_json.cpp
./objs/src/protocol/srs_protocol_format.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_format.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_format.o \
./src/protocol/srs_protocol_format.cpp
./objs/src/protocol/srs_protocol_log.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_log.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_log.o \
./src/protocol/srs_protocol_log.cpp
./objs/src/protocol/srs_protocol_st.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_st.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_st.o \
./src/protocol/srs_protocol_st.cpp
./objs/src/protocol/srs_protocol_http_client.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_http_client.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_http_client.o \
./src/protocol/srs_protocol_http_client.cpp
./objs/src/protocol/srs_protocol_http_conn.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_http_conn.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_http_conn.o \
./src/protocol/srs_protocol_http_conn.cpp
./objs/src/protocol/srs_protocol_rtmp_conn.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_rtmp_conn.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_rtmp_conn.o \
./src/protocol/srs_protocol_rtmp_conn.cpp
./objs/src/protocol/srs_protocol_protobuf.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_protobuf.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_protobuf.o \
./src/protocol/srs_protocol_protobuf.cpp
./objs/src/protocol/srs_protocol_srt.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_srt.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_srt.o \
./src/protocol/srs_protocol_srt.cpp
./objs/src/protocol/srs_protocol_rtc_stun.o: $(PROTOCOL_DEPS) ./src/protocol/srs_protocol_rtc_stun.cpp
$(CXX) -c $(CXXFLAGS) \
$(PROTOCOL_INCS)\
$(PROTOCOL_LIBS_INCS)\
-o ./objs/src/protocol/srs_protocol_rtc_stun.o \
./src/protocol/srs_protocol_rtc_stun.cpp
#####################################################################################
# The module APP.
#####################################################################################
# INCS for APP, headers of module and its depends to compile
APP_MODULE_INCS = -I./src/app
APP_INCS = -I./src/app $(CORE_MODULE_INCS)$(KERNEL_MODULE_INCS)$(PROTOCOL_MODULE_INCS)
APP_LIBS_INCS = -I./objs -I./objs/openssl/include -I./objs/srtp2/include -I./objs/ffmpeg/include
# DEPS for APP, the depends of make schema
APP_DEPS = ./src/app/srs_app_server.hpp ./src/app/srs_app_conn.hpp ./src/app/srs_app_rtmp_conn.hpp ./src/app/srs_app_source.hpp ./src/app/srs_app_refer.hpp ./src/app/srs_app_hls.hpp ./src/app/srs_app_forward.hpp ./src/app/srs_app_encoder.hpp ./src/app/srs_app_http_stream.hpp ./src/app/srs_app_st.hpp ./src/app/srs_app_log.hpp ./src/app/srs_app_config.hpp ./src/app/srs_app_stream_bridge.hpp ./src/app/srs_app_pithy_print.hpp ./src/app/srs_app_reload.hpp ./src/app/srs_app_http_api.hpp ./src/app/srs_app_http_conn.hpp ./src/app/srs_app_http_hooks.hpp ./src/app/srs_app_ingest.hpp ./src/app/srs_app_ffmpeg.hpp ./src/app/srs_app_utility.hpp ./src/app/srs_app_edge.hpp ./src/app/srs_app_heartbeat.hpp ./src/app/srs_app_empty.hpp ./src/app/srs_app_http_client.hpp ./src/app/srs_app_http_static.hpp ./src/app/srs_app_recv_thread.hpp ./src/app/srs_app_security.hpp ./src/app/srs_app_statistic.hpp ./src/app/srs_app_hds.hpp ./src/app/srs_app_mpegts_udp.hpp ./src/app/srs_app_listener.hpp ./src/app/srs_app_async_call.hpp ./src/app/srs_app_caster_flv.hpp ./src/app/srs_app_latest_version.hpp ./src/app/srs_app_uuid.hpp ./src/app/srs_app_process.hpp ./src/app/srs_app_ng_exec.hpp ./src/app/srs_app_hourglass.hpp ./src/app/srs_app_dash.hpp ./src/app/srs_app_fragment.hpp ./src/app/srs_app_dvr.hpp ./src/app/srs_app_coworkers.hpp ./src/app/srs_app_hybrid.hpp ./src/app/srs_app_threads.hpp ./src/app/srs_app_srt_server.hpp ./src/app/srs_app_srt_listener.hpp ./src/app/srs_app_srt_conn.hpp ./src/app/srs_app_srt_utility.hpp ./src/app/srs_app_srt_source.hpp ./src/app/srs_app_rtc_conn.hpp ./src/app/srs_app_rtc_dtls.hpp ./src/app/srs_app_rtc_sdp.hpp ./src/app/srs_app_rtc_network.hpp ./src/app/srs_app_rtc_queue.hpp ./src/app/srs_app_rtc_server.hpp ./src/app/srs_app_rtc_source.hpp ./src/app/srs_app_rtc_api.hpp ./src/app/srs_app_rtc_codec.hpp $(CORE_DEPS) $(KERNEL_DEPS) $(PROTOCOL_DEPS)
# OBJ for APP, each object file
./objs/src/app/srs_app_server.o: $(APP_DEPS) ./src/app/srs_app_server.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_server.o \
./src/app/srs_app_server.cpp
./objs/src/app/srs_app_conn.o: $(APP_DEPS) ./src/app/srs_app_conn.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_conn.o \
./src/app/srs_app_conn.cpp
./objs/src/app/srs_app_rtmp_conn.o: $(APP_DEPS) ./src/app/srs_app_rtmp_conn.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_rtmp_conn.o \
./src/app/srs_app_rtmp_conn.cpp
./objs/src/app/srs_app_source.o: $(APP_DEPS) ./src/app/srs_app_source.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_source.o \
./src/app/srs_app_source.cpp
./objs/src/app/srs_app_refer.o: $(APP_DEPS) ./src/app/srs_app_refer.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_refer.o \
./src/app/srs_app_refer.cpp
./objs/src/app/srs_app_hls.o: $(APP_DEPS) ./src/app/srs_app_hls.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_hls.o \
./src/app/srs_app_hls.cpp
./objs/src/app/srs_app_forward.o: $(APP_DEPS) ./src/app/srs_app_forward.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_forward.o \
./src/app/srs_app_forward.cpp
./objs/src/app/srs_app_encoder.o: $(APP_DEPS) ./src/app/srs_app_encoder.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_encoder.o \
./src/app/srs_app_encoder.cpp
./objs/src/app/srs_app_http_stream.o: $(APP_DEPS) ./src/app/srs_app_http_stream.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_http_stream.o \
./src/app/srs_app_http_stream.cpp
./objs/src/app/srs_app_st.o: $(APP_DEPS) ./src/app/srs_app_st.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_st.o \
./src/app/srs_app_st.cpp
./objs/src/app/srs_app_log.o: $(APP_DEPS) ./src/app/srs_app_log.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_log.o \
./src/app/srs_app_log.cpp
./objs/src/app/srs_app_config.o: $(APP_DEPS) ./src/app/srs_app_config.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_config.o \
./src/app/srs_app_config.cpp
./objs/src/app/srs_app_stream_bridge.o: $(APP_DEPS) ./src/app/srs_app_stream_bridge.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_stream_bridge.o \
./src/app/srs_app_stream_bridge.cpp
./objs/src/app/srs_app_pithy_print.o: $(APP_DEPS) ./src/app/srs_app_pithy_print.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_pithy_print.o \
./src/app/srs_app_pithy_print.cpp
./objs/src/app/srs_app_reload.o: $(APP_DEPS) ./src/app/srs_app_reload.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_reload.o \
./src/app/srs_app_reload.cpp
./objs/src/app/srs_app_http_api.o: $(APP_DEPS) ./src/app/srs_app_http_api.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_http_api.o \
./src/app/srs_app_http_api.cpp
./objs/src/app/srs_app_http_conn.o: $(APP_DEPS) ./src/app/srs_app_http_conn.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_http_conn.o \
./src/app/srs_app_http_conn.cpp
./objs/src/app/srs_app_http_hooks.o: $(APP_DEPS) ./src/app/srs_app_http_hooks.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_http_hooks.o \
./src/app/srs_app_http_hooks.cpp
./objs/src/app/srs_app_ingest.o: $(APP_DEPS) ./src/app/srs_app_ingest.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_ingest.o \
./src/app/srs_app_ingest.cpp
./objs/src/app/srs_app_ffmpeg.o: $(APP_DEPS) ./src/app/srs_app_ffmpeg.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_ffmpeg.o \
./src/app/srs_app_ffmpeg.cpp
./objs/src/app/srs_app_utility.o: $(APP_DEPS) ./src/app/srs_app_utility.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_utility.o \
./src/app/srs_app_utility.cpp
./objs/src/app/srs_app_edge.o: $(APP_DEPS) ./src/app/srs_app_edge.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_edge.o \
./src/app/srs_app_edge.cpp
./objs/src/app/srs_app_heartbeat.o: $(APP_DEPS) ./src/app/srs_app_heartbeat.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_heartbeat.o \
./src/app/srs_app_heartbeat.cpp
./objs/src/app/srs_app_empty.o: $(APP_DEPS) ./src/app/srs_app_empty.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_empty.o \
./src/app/srs_app_empty.cpp
./objs/src/app/srs_app_http_client.o: $(APP_DEPS) ./src/app/srs_app_http_client.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_http_client.o \
./src/app/srs_app_http_client.cpp
./objs/src/app/srs_app_http_static.o: $(APP_DEPS) ./src/app/srs_app_http_static.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_http_static.o \
./src/app/srs_app_http_static.cpp
./objs/src/app/srs_app_recv_thread.o: $(APP_DEPS) ./src/app/srs_app_recv_thread.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_recv_thread.o \
./src/app/srs_app_recv_thread.cpp
./objs/src/app/srs_app_security.o: $(APP_DEPS) ./src/app/srs_app_security.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_security.o \
./src/app/srs_app_security.cpp
./objs/src/app/srs_app_statistic.o: $(APP_DEPS) ./src/app/srs_app_statistic.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_statistic.o \
./src/app/srs_app_statistic.cpp
./objs/src/app/srs_app_hds.o: $(APP_DEPS) ./src/app/srs_app_hds.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_hds.o \
./src/app/srs_app_hds.cpp
./objs/src/app/srs_app_mpegts_udp.o: $(APP_DEPS) ./src/app/srs_app_mpegts_udp.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_mpegts_udp.o \
./src/app/srs_app_mpegts_udp.cpp
./objs/src/app/srs_app_listener.o: $(APP_DEPS) ./src/app/srs_app_listener.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_listener.o \
./src/app/srs_app_listener.cpp
./objs/src/app/srs_app_async_call.o: $(APP_DEPS) ./src/app/srs_app_async_call.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_async_call.o \
./src/app/srs_app_async_call.cpp
./objs/src/app/srs_app_caster_flv.o: $(APP_DEPS) ./src/app/srs_app_caster_flv.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_caster_flv.o \
./src/app/srs_app_caster_flv.cpp
./objs/src/app/srs_app_latest_version.o: $(APP_DEPS) ./src/app/srs_app_latest_version.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_latest_version.o \
./src/app/srs_app_latest_version.cpp
./objs/src/app/srs_app_uuid.o: $(APP_DEPS) ./src/app/srs_app_uuid.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_uuid.o \
./src/app/srs_app_uuid.cpp
./objs/src/app/srs_app_process.o: $(APP_DEPS) ./src/app/srs_app_process.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_process.o \
./src/app/srs_app_process.cpp
./objs/src/app/srs_app_ng_exec.o: $(APP_DEPS) ./src/app/srs_app_ng_exec.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_ng_exec.o \
./src/app/srs_app_ng_exec.cpp
./objs/src/app/srs_app_hourglass.o: $(APP_DEPS) ./src/app/srs_app_hourglass.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_hourglass.o \
./src/app/srs_app_hourglass.cpp
./objs/src/app/srs_app_dash.o: $(APP_DEPS) ./src/app/srs_app_dash.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_dash.o \
./src/app/srs_app_dash.cpp
./objs/src/app/srs_app_fragment.o: $(APP_DEPS) ./src/app/srs_app_fragment.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_fragment.o \
./src/app/srs_app_fragment.cpp
./objs/src/app/srs_app_dvr.o: $(APP_DEPS) ./src/app/srs_app_dvr.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_dvr.o \
./src/app/srs_app_dvr.cpp
./objs/src/app/srs_app_coworkers.o: $(APP_DEPS) ./src/app/srs_app_coworkers.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_coworkers.o \
./src/app/srs_app_coworkers.cpp
./objs/src/app/srs_app_hybrid.o: $(APP_DEPS) ./src/app/srs_app_hybrid.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_hybrid.o \
./src/app/srs_app_hybrid.cpp
./objs/src/app/srs_app_threads.o: $(APP_DEPS) ./src/app/srs_app_threads.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_threads.o \
./src/app/srs_app_threads.cpp
./objs/src/app/srs_app_srt_server.o: $(APP_DEPS) ./src/app/srs_app_srt_server.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_srt_server.o \
./src/app/srs_app_srt_server.cpp
./objs/src/app/srs_app_srt_listener.o: $(APP_DEPS) ./src/app/srs_app_srt_listener.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_srt_listener.o \
./src/app/srs_app_srt_listener.cpp
./objs/src/app/srs_app_srt_conn.o: $(APP_DEPS) ./src/app/srs_app_srt_conn.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_srt_conn.o \
./src/app/srs_app_srt_conn.cpp
./objs/src/app/srs_app_srt_utility.o: $(APP_DEPS) ./src/app/srs_app_srt_utility.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_srt_utility.o \
./src/app/srs_app_srt_utility.cpp
./objs/src/app/srs_app_srt_source.o: $(APP_DEPS) ./src/app/srs_app_srt_source.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_srt_source.o \
./src/app/srs_app_srt_source.cpp
./objs/src/app/srs_app_rtc_conn.o: $(APP_DEPS) ./src/app/srs_app_rtc_conn.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_rtc_conn.o \
./src/app/srs_app_rtc_conn.cpp
./objs/src/app/srs_app_rtc_dtls.o: $(APP_DEPS) ./src/app/srs_app_rtc_dtls.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_rtc_dtls.o \
./src/app/srs_app_rtc_dtls.cpp
./objs/src/app/srs_app_rtc_sdp.o: $(APP_DEPS) ./src/app/srs_app_rtc_sdp.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_rtc_sdp.o \
./src/app/srs_app_rtc_sdp.cpp
./objs/src/app/srs_app_rtc_network.o: $(APP_DEPS) ./src/app/srs_app_rtc_network.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_rtc_network.o \
./src/app/srs_app_rtc_network.cpp
./objs/src/app/srs_app_rtc_queue.o: $(APP_DEPS) ./src/app/srs_app_rtc_queue.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_rtc_queue.o \
./src/app/srs_app_rtc_queue.cpp
./objs/src/app/srs_app_rtc_server.o: $(APP_DEPS) ./src/app/srs_app_rtc_server.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_rtc_server.o \
./src/app/srs_app_rtc_server.cpp
./objs/src/app/srs_app_rtc_source.o: $(APP_DEPS) ./src/app/srs_app_rtc_source.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_rtc_source.o \
./src/app/srs_app_rtc_source.cpp
./objs/src/app/srs_app_rtc_api.o: $(APP_DEPS) ./src/app/srs_app_rtc_api.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_rtc_api.o \
./src/app/srs_app_rtc_api.cpp
./objs/src/app/srs_app_rtc_codec.o: $(APP_DEPS) ./src/app/srs_app_rtc_codec.cpp
$(CXX) -c $(CXXFLAGS) \
$(APP_INCS)\
$(APP_LIBS_INCS)\
-o ./objs/src/app/srs_app_rtc_codec.o \
./src/app/srs_app_rtc_codec.cpp
#####################################################################################
# The module SERVER.
#####################################################################################
# INCS for SERVER, headers of module and its depends to compile
SERVER_MODULE_INCS = -I./src/main
SERVER_INCS = -I./src/main $(CORE_MODULE_INCS)$(KERNEL_MODULE_INCS)$(PROTOCOL_MODULE_INCS)$(APP_MODULE_INCS)
SERVER_LIBS_INCS = -I./objs -I./objs/openssl/include -I./objs/srtp2/include -I./objs/ffmpeg/include
# DEPS for SERVER, the depends of make schema
SERVER_DEPS = $(CORE_DEPS) $(KERNEL_DEPS) $(PROTOCOL_DEPS) $(APP_DEPS)
# OBJ for SERVER, each object file
./objs/src/main/srs_main_server.o: $(SERVER_DEPS) ./src/main/srs_main_server.cpp
$(CXX) -c $(CXXFLAGS) \
$(SERVER_INCS)\
$(SERVER_LIBS_INCS)\
-o ./objs/src/main/srs_main_server.o \
./src/main/srs_main_server.cpp
#####################################################################################
# The module MAIN.
#####################################################################################
# INCS for MAIN, headers of module and its depends to compile
MAIN_MODULE_INCS = -I./src/main
MAIN_INCS = -I./src/main $(CORE_MODULE_INCS)$(KERNEL_MODULE_INCS)$(PROTOCOL_MODULE_INCS)$(APP_MODULE_INCS)
MAIN_LIBS_INCS = -I./objs -I./objs/openssl/include -I./objs/srtp2/include -I./objs/ffmpeg/include
# DEPS for MAIN, the depends of make schema
MAIN_DEPS = $(CORE_DEPS) $(KERNEL_DEPS) $(PROTOCOL_DEPS) $(APP_DEPS)
# OBJ for MAIN, each object file
./objs/src/main/srs_main_mp4_parser.o: $(MAIN_DEPS) ./src/main/srs_main_mp4_parser.cpp
$(CXX) -c $(CXXFLAGS) \
$(MAIN_INCS)\
$(MAIN_LIBS_INCS)\
-o ./objs/src/main/srs_main_mp4_parser.o \
./src/main/srs_main_mp4_parser.cpp
./objs/src/main/srs_main_ingest_hls.o: $(MAIN_DEPS) ./src/main/srs_main_ingest_hls.cpp
$(CXX) -c $(CXXFLAGS) \
$(MAIN_INCS)\
$(MAIN_LIBS_INCS)\
-o ./objs/src/main/srs_main_ingest_hls.o \
./src/main/srs_main_ingest_hls.cpp
# build ./objs/srs
srs: ./objs/srs
./objs/srs: ./objs/src/core/srs_core.o ./objs/src/core/srs_core_version.o ./objs/src/core/srs_core_version5.o ./objs/src/core/srs_core_autofree.o ./objs/src/core/srs_core_performance.o ./objs/src/core/srs_core_time.o ./objs/src/core/srs_core_platform.o ./objs/src/kernel/srs_kernel_error.o ./objs/src/kernel/srs_kernel_log.o ./objs/src/kernel/srs_kernel_buffer.o ./objs/src/kernel/srs_kernel_utility.o ./objs/src/kernel/srs_kernel_flv.o ./objs/src/kernel/srs_kernel_codec.o ./objs/src/kernel/srs_kernel_io.o ./objs/src/kernel/srs_kernel_consts.o ./objs/src/kernel/srs_kernel_aac.o ./objs/src/kernel/srs_kernel_mp3.o ./objs/src/kernel/srs_kernel_ts.o ./objs/src/kernel/srs_kernel_ps.o ./objs/src/kernel/srs_kernel_stream.o ./objs/src/kernel/srs_kernel_balance.o ./objs/src/kernel/srs_kernel_mp4.o ./objs/src/kernel/srs_kernel_file.o ./objs/src/kernel/srs_kernel_kbps.o ./objs/src/kernel/srs_kernel_rtc_rtp.o ./objs/src/kernel/srs_kernel_rtc_rtcp.o ./objs/src/protocol/srs_protocol_amf0.o ./objs/src/protocol/srs_protocol_io.o ./objs/src/protocol/srs_protocol_conn.o ./objs/src/protocol/srs_protocol_rtmp_handshake.o ./objs/src/protocol/srs_protocol_rtmp_stack.o ./objs/src/protocol/srs_protocol_utility.o ./objs/src/protocol/srs_protocol_rtmp_msg_array.o ./objs/src/protocol/srs_protocol_stream.o ./objs/src/protocol/srs_protocol_raw_avc.o ./objs/src/protocol/srs_protocol_http_stack.o ./objs/src/protocol/srs_protocol_kbps.o ./objs/src/protocol/srs_protocol_json.o ./objs/src/protocol/srs_protocol_format.o ./objs/src/protocol/srs_protocol_log.o ./objs/src/protocol/srs_protocol_st.o ./objs/src/protocol/srs_protocol_http_client.o ./objs/src/protocol/srs_protocol_http_conn.o ./objs/src/protocol/srs_protocol_rtmp_conn.o ./objs/src/protocol/srs_protocol_protobuf.o ./objs/src/protocol/srs_protocol_srt.o ./objs/src/protocol/srs_protocol_rtc_stun.o ./objs/src/app/srs_app_server.o ./objs/src/app/srs_app_conn.o ./objs/src/app/srs_app_rtmp_conn.o ./objs/src/app/srs_app_source.o ./objs/src/app/srs_app_refer.o ./objs/src/app/srs_app_hls.o ./objs/src/app/srs_app_forward.o ./objs/src/app/srs_app_encoder.o ./objs/src/app/srs_app_http_stream.o ./objs/src/app/srs_app_st.o ./objs/src/app/srs_app_log.o ./objs/src/app/srs_app_config.o ./objs/src/app/srs_app_stream_bridge.o ./objs/src/app/srs_app_pithy_print.o ./objs/src/app/srs_app_reload.o ./objs/src/app/srs_app_http_api.o ./objs/src/app/srs_app_http_conn.o ./objs/src/app/srs_app_http_hooks.o ./objs/src/app/srs_app_ingest.o ./objs/src/app/srs_app_ffmpeg.o ./objs/src/app/srs_app_utility.o ./objs/src/app/srs_app_edge.o ./objs/src/app/srs_app_heartbeat.o ./objs/src/app/srs_app_empty.o ./objs/src/app/srs_app_http_client.o ./objs/src/app/srs_app_http_static.o ./objs/src/app/srs_app_recv_thread.o ./objs/src/app/srs_app_security.o ./objs/src/app/srs_app_statistic.o ./objs/src/app/srs_app_hds.o ./objs/src/app/srs_app_mpegts_udp.o ./objs/src/app/srs_app_listener.o ./objs/src/app/srs_app_async_call.o ./objs/src/app/srs_app_caster_flv.o ./objs/src/app/srs_app_latest_version.o ./objs/src/app/srs_app_uuid.o ./objs/src/app/srs_app_process.o ./objs/src/app/srs_app_ng_exec.o ./objs/src/app/srs_app_hourglass.o ./objs/src/app/srs_app_dash.o ./objs/src/app/srs_app_fragment.o ./objs/src/app/srs_app_dvr.o ./objs/src/app/srs_app_coworkers.o ./objs/src/app/srs_app_hybrid.o ./objs/src/app/srs_app_threads.o ./objs/src/app/srs_app_srt_server.o ./objs/src/app/srs_app_srt_listener.o ./objs/src/app/srs_app_srt_conn.o ./objs/src/app/srs_app_srt_utility.o ./objs/src/app/srs_app_srt_source.o ./objs/src/app/srs_app_rtc_conn.o ./objs/src/app/srs_app_rtc_dtls.o ./objs/src/app/srs_app_rtc_sdp.o ./objs/src/app/srs_app_rtc_network.o ./objs/src/app/srs_app_rtc_queue.o ./objs/src/app/srs_app_rtc_server.o ./objs/src/app/srs_app_rtc_source.o ./objs/src/app/srs_app_rtc_api.o ./objs/src/app/srs_app_rtc_codec.o ./objs/src/main/srs_main_server.o
$(LINK) -o ./objs/srs ./objs/src/core/srs_core.o ./objs/src/core/srs_core_version.o ./objs/src/core/srs_core_version5.o ./objs/src/core/srs_core_autofree.o ./objs/src/core/srs_core_performance.o ./objs/src/core/srs_core_time.o ./objs/src/core/srs_core_platform.o ./objs/src/kernel/srs_kernel_error.o ./objs/src/kernel/srs_kernel_log.o ./objs/src/kernel/srs_kernel_buffer.o ./objs/src/kernel/srs_kernel_utility.o ./objs/src/kernel/srs_kernel_flv.o ./objs/src/kernel/srs_kernel_codec.o ./objs/src/kernel/srs_kernel_io.o ./objs/src/kernel/srs_kernel_consts.o ./objs/src/kernel/srs_kernel_aac.o ./objs/src/kernel/srs_kernel_mp3.o ./objs/src/kernel/srs_kernel_ts.o ./objs/src/kernel/srs_kernel_ps.o ./objs/src/kernel/srs_kernel_stream.o ./objs/src/kernel/srs_kernel_balance.o ./objs/src/kernel/srs_kernel_mp4.o ./objs/src/kernel/srs_kernel_file.o ./objs/src/kernel/srs_kernel_kbps.o ./objs/src/kernel/srs_kernel_rtc_rtp.o ./objs/src/kernel/srs_kernel_rtc_rtcp.o ./objs/src/protocol/srs_protocol_amf0.o ./objs/src/protocol/srs_protocol_io.o ./objs/src/protocol/srs_protocol_conn.o ./objs/src/protocol/srs_protocol_rtmp_handshake.o ./objs/src/protocol/srs_protocol_rtmp_stack.o ./objs/src/protocol/srs_protocol_utility.o ./objs/src/protocol/srs_protocol_rtmp_msg_array.o ./objs/src/protocol/srs_protocol_stream.o ./objs/src/protocol/srs_protocol_raw_avc.o ./objs/src/protocol/srs_protocol_http_stack.o ./objs/src/protocol/srs_protocol_kbps.o ./objs/src/protocol/srs_protocol_json.o ./objs/src/protocol/srs_protocol_format.o ./objs/src/protocol/srs_protocol_log.o ./objs/src/protocol/srs_protocol_st.o ./objs/src/protocol/srs_protocol_http_client.o ./objs/src/protocol/srs_protocol_http_conn.o ./objs/src/protocol/srs_protocol_rtmp_conn.o ./objs/src/protocol/srs_protocol_protobuf.o ./objs/src/protocol/srs_protocol_srt.o ./objs/src/protocol/srs_protocol_rtc_stun.o ./objs/src/app/srs_app_server.o ./objs/src/app/srs_app_conn.o ./objs/src/app/srs_app_rtmp_conn.o ./objs/src/app/srs_app_source.o ./objs/src/app/srs_app_refer.o ./objs/src/app/srs_app_hls.o ./objs/src/app/srs_app_forward.o ./objs/src/app/srs_app_encoder.o ./objs/src/app/srs_app_http_stream.o ./objs/src/app/srs_app_st.o ./objs/src/app/srs_app_log.o ./objs/src/app/srs_app_config.o ./objs/src/app/srs_app_stream_bridge.o ./objs/src/app/srs_app_pithy_print.o ./objs/src/app/srs_app_reload.o ./objs/src/app/srs_app_http_api.o ./objs/src/app/srs_app_http_conn.o ./objs/src/app/srs_app_http_hooks.o ./objs/src/app/srs_app_ingest.o ./objs/src/app/srs_app_ffmpeg.o ./objs/src/app/srs_app_utility.o ./objs/src/app/srs_app_edge.o ./objs/src/app/srs_app_heartbeat.o ./objs/src/app/srs_app_empty.o ./objs/src/app/srs_app_http_client.o ./objs/src/app/srs_app_http_static.o ./objs/src/app/srs_app_recv_thread.o ./objs/src/app/srs_app_security.o ./objs/src/app/srs_app_statistic.o ./objs/src/app/srs_app_hds.o ./objs/src/app/srs_app_mpegts_udp.o ./objs/src/app/srs_app_listener.o ./objs/src/app/srs_app_async_call.o ./objs/src/app/srs_app_caster_flv.o ./objs/src/app/srs_app_latest_version.o ./objs/src/app/srs_app_uuid.o ./objs/src/app/srs_app_process.o ./objs/src/app/srs_app_ng_exec.o ./objs/src/app/srs_app_hourglass.o ./objs/src/app/srs_app_dash.o ./objs/src/app/srs_app_fragment.o ./objs/src/app/srs_app_dvr.o ./objs/src/app/srs_app_coworkers.o ./objs/src/app/srs_app_hybrid.o ./objs/src/app/srs_app_threads.o ./objs/src/app/srs_app_srt_server.o ./objs/src/app/srs_app_srt_listener.o ./objs/src/app/srs_app_srt_conn.o ./objs/src/app/srs_app_srt_utility.o ./objs/src/app/srs_app_srt_source.o ./objs/src/app/srs_app_rtc_conn.o ./objs/src/app/srs_app_rtc_dtls.o ./objs/src/app/srs_app_rtc_sdp.o ./objs/src/app/srs_app_rtc_network.o ./objs/src/app/srs_app_rtc_queue.o ./objs/src/app/srs_app_rtc_server.o ./objs/src/app/srs_app_rtc_source.o ./objs/src/app/srs_app_rtc_api.o ./objs/src/app/srs_app_rtc_codec.o ./objs/src/main/srs_main_server.o ./objs/st/libst.a ./objs/openssl/lib/libssl.a ./objs/openssl/lib/libcrypto.a ./objs/srtp2/lib/libsrtp2.a ./objs/ffmpeg/lib/libavcodec.a ./objs/ffmpeg/lib/libswresample.a ./objs/ffmpeg/lib/libavutil.a ./objs/opus/lib/libopus.a ./objs/srt/lib/libsrt.a -ldl -lpthread -lrt -rdynamic -fsanitize=address -fno-omit-frame-pointer -static-libasan
# build ./objs/srs_mp4_parser
srs_mp4_parser: ./objs/srs_mp4_parser
./objs/srs_mp4_parser: ./objs/src/core/srs_core.o ./objs/src/core/srs_core_version.o ./objs/src/core/srs_core_version5.o ./objs/src/core/srs_core_autofree.o ./objs/src/core/srs_core_performance.o ./objs/src/core/srs_core_time.o ./objs/src/core/srs_core_platform.o ./objs/src/kernel/srs_kernel_error.o ./objs/src/kernel/srs_kernel_log.o ./objs/src/kernel/srs_kernel_buffer.o ./objs/src/kernel/srs_kernel_utility.o ./objs/src/kernel/srs_kernel_flv.o ./objs/src/kernel/srs_kernel_codec.o ./objs/src/kernel/srs_kernel_io.o ./objs/src/kernel/srs_kernel_consts.o ./objs/src/kernel/srs_kernel_aac.o ./objs/src/kernel/srs_kernel_mp3.o ./objs/src/kernel/srs_kernel_ts.o ./objs/src/kernel/srs_kernel_ps.o ./objs/src/kernel/srs_kernel_stream.o ./objs/src/kernel/srs_kernel_balance.o ./objs/src/kernel/srs_kernel_mp4.o ./objs/src/kernel/srs_kernel_file.o ./objs/src/kernel/srs_kernel_kbps.o ./objs/src/kernel/srs_kernel_rtc_rtp.o ./objs/src/kernel/srs_kernel_rtc_rtcp.o ./objs/src/protocol/srs_protocol_amf0.o ./objs/src/protocol/srs_protocol_io.o ./objs/src/protocol/srs_protocol_conn.o ./objs/src/protocol/srs_protocol_rtmp_handshake.o ./objs/src/protocol/srs_protocol_rtmp_stack.o ./objs/src/protocol/srs_protocol_utility.o ./objs/src/protocol/srs_protocol_rtmp_msg_array.o ./objs/src/protocol/srs_protocol_stream.o ./objs/src/protocol/srs_protocol_raw_avc.o ./objs/src/protocol/srs_protocol_http_stack.o ./objs/src/protocol/srs_protocol_kbps.o ./objs/src/protocol/srs_protocol_json.o ./objs/src/protocol/srs_protocol_format.o ./objs/src/protocol/srs_protocol_log.o ./objs/src/protocol/srs_protocol_st.o ./objs/src/protocol/srs_protocol_http_client.o ./objs/src/protocol/srs_protocol_http_conn.o ./objs/src/protocol/srs_protocol_rtmp_conn.o ./objs/src/protocol/srs_protocol_protobuf.o ./objs/src/protocol/srs_protocol_srt.o ./objs/src/protocol/srs_protocol_rtc_stun.o ./objs/src/app/srs_app_server.o ./objs/src/app/srs_app_conn.o ./objs/src/app/srs_app_rtmp_conn.o ./objs/src/app/srs_app_source.o ./objs/src/app/srs_app_refer.o ./objs/src/app/srs_app_hls.o ./objs/src/app/srs_app_forward.o ./objs/src/app/srs_app_encoder.o ./objs/src/app/srs_app_http_stream.o ./objs/src/app/srs_app_st.o ./objs/src/app/srs_app_log.o ./objs/src/app/srs_app_config.o ./objs/src/app/srs_app_stream_bridge.o ./objs/src/app/srs_app_pithy_print.o ./objs/src/app/srs_app_reload.o ./objs/src/app/srs_app_http_api.o ./objs/src/app/srs_app_http_conn.o ./objs/src/app/srs_app_http_hooks.o ./objs/src/app/srs_app_ingest.o ./objs/src/app/srs_app_ffmpeg.o ./objs/src/app/srs_app_utility.o ./objs/src/app/srs_app_edge.o ./objs/src/app/srs_app_heartbeat.o ./objs/src/app/srs_app_empty.o ./objs/src/app/srs_app_http_client.o ./objs/src/app/srs_app_http_static.o ./objs/src/app/srs_app_recv_thread.o ./objs/src/app/srs_app_security.o ./objs/src/app/srs_app_statistic.o ./objs/src/app/srs_app_hds.o ./objs/src/app/srs_app_mpegts_udp.o ./objs/src/app/srs_app_listener.o ./objs/src/app/srs_app_async_call.o ./objs/src/app/srs_app_caster_flv.o ./objs/src/app/srs_app_latest_version.o ./objs/src/app/srs_app_uuid.o ./objs/src/app/srs_app_process.o ./objs/src/app/srs_app_ng_exec.o ./objs/src/app/srs_app_hourglass.o ./objs/src/app/srs_app_dash.o ./objs/src/app/srs_app_fragment.o ./objs/src/app/srs_app_dvr.o ./objs/src/app/srs_app_coworkers.o ./objs/src/app/srs_app_hybrid.o ./objs/src/app/srs_app_threads.o ./objs/src/app/srs_app_srt_server.o ./objs/src/app/srs_app_srt_listener.o ./objs/src/app/srs_app_srt_conn.o ./objs/src/app/srs_app_srt_utility.o ./objs/src/app/srs_app_srt_source.o ./objs/src/app/srs_app_rtc_conn.o ./objs/src/app/srs_app_rtc_dtls.o ./objs/src/app/srs_app_rtc_sdp.o ./objs/src/app/srs_app_rtc_network.o ./objs/src/app/srs_app_rtc_queue.o ./objs/src/app/srs_app_rtc_server.o ./objs/src/app/srs_app_rtc_source.o ./objs/src/app/srs_app_rtc_api.o ./objs/src/app/srs_app_rtc_codec.o ./objs/src/main/srs_main_mp4_parser.o
$(LINK) -o ./objs/srs_mp4_parser ./objs/src/core/srs_core.o ./objs/src/core/srs_core_version.o ./objs/src/core/srs_core_version5.o ./objs/src/core/srs_core_autofree.o ./objs/src/core/srs_core_performance.o ./objs/src/core/srs_core_time.o ./objs/src/core/srs_core_platform.o ./objs/src/kernel/srs_kernel_error.o ./objs/src/kernel/srs_kernel_log.o ./objs/src/kernel/srs_kernel_buffer.o ./objs/src/kernel/srs_kernel_utility.o ./objs/src/kernel/srs_kernel_flv.o ./objs/src/kernel/srs_kernel_codec.o ./objs/src/kernel/srs_kernel_io.o ./objs/src/kernel/srs_kernel_consts.o ./objs/src/kernel/srs_kernel_aac.o ./objs/src/kernel/srs_kernel_mp3.o ./objs/src/kernel/srs_kernel_ts.o ./objs/src/kernel/srs_kernel_ps.o ./objs/src/kernel/srs_kernel_stream.o ./objs/src/kernel/srs_kernel_balance.o ./objs/src/kernel/srs_kernel_mp4.o ./objs/src/kernel/srs_kernel_file.o ./objs/src/kernel/srs_kernel_kbps.o ./objs/src/kernel/srs_kernel_rtc_rtp.o ./objs/src/kernel/srs_kernel_rtc_rtcp.o ./objs/src/protocol/srs_protocol_amf0.o ./objs/src/protocol/srs_protocol_io.o ./objs/src/protocol/srs_protocol_conn.o ./objs/src/protocol/srs_protocol_rtmp_handshake.o ./objs/src/protocol/srs_protocol_rtmp_stack.o ./objs/src/protocol/srs_protocol_utility.o ./objs/src/protocol/srs_protocol_rtmp_msg_array.o ./objs/src/protocol/srs_protocol_stream.o ./objs/src/protocol/srs_protocol_raw_avc.o ./objs/src/protocol/srs_protocol_http_stack.o ./objs/src/protocol/srs_protocol_kbps.o ./objs/src/protocol/srs_protocol_json.o ./objs/src/protocol/srs_protocol_format.o ./objs/src/protocol/srs_protocol_log.o ./objs/src/protocol/srs_protocol_st.o ./objs/src/protocol/srs_protocol_http_client.o ./objs/src/protocol/srs_protocol_http_conn.o ./objs/src/protocol/srs_protocol_rtmp_conn.o ./objs/src/protocol/srs_protocol_protobuf.o ./objs/src/protocol/srs_protocol_srt.o ./objs/src/protocol/srs_protocol_rtc_stun.o ./objs/src/app/srs_app_server.o ./objs/src/app/srs_app_conn.o ./objs/src/app/srs_app_rtmp_conn.o ./objs/src/app/srs_app_source.o ./objs/src/app/srs_app_refer.o ./objs/src/app/srs_app_hls.o ./objs/src/app/srs_app_forward.o ./objs/src/app/srs_app_encoder.o ./objs/src/app/srs_app_http_stream.o ./objs/src/app/srs_app_st.o ./objs/src/app/srs_app_log.o ./objs/src/app/srs_app_config.o ./objs/src/app/srs_app_stream_bridge.o ./objs/src/app/srs_app_pithy_print.o ./objs/src/app/srs_app_reload.o ./objs/src/app/srs_app_http_api.o ./objs/src/app/srs_app_http_conn.o ./objs/src/app/srs_app_http_hooks.o ./objs/src/app/srs_app_ingest.o ./objs/src/app/srs_app_ffmpeg.o ./objs/src/app/srs_app_utility.o ./objs/src/app/srs_app_edge.o ./objs/src/app/srs_app_heartbeat.o ./objs/src/app/srs_app_empty.o ./objs/src/app/srs_app_http_client.o ./objs/src/app/srs_app_http_static.o ./objs/src/app/srs_app_recv_thread.o ./objs/src/app/srs_app_security.o ./objs/src/app/srs_app_statistic.o ./objs/src/app/srs_app_hds.o ./objs/src/app/srs_app_mpegts_udp.o ./objs/src/app/srs_app_listener.o ./objs/src/app/srs_app_async_call.o ./objs/src/app/srs_app_caster_flv.o ./objs/src/app/srs_app_latest_version.o ./objs/src/app/srs_app_uuid.o ./objs/src/app/srs_app_process.o ./objs/src/app/srs_app_ng_exec.o ./objs/src/app/srs_app_hourglass.o ./objs/src/app/srs_app_dash.o ./objs/src/app/srs_app_fragment.o ./objs/src/app/srs_app_dvr.o ./objs/src/app/srs_app_coworkers.o ./objs/src/app/srs_app_hybrid.o ./objs/src/app/srs_app_threads.o ./objs/src/app/srs_app_srt_server.o ./objs/src/app/srs_app_srt_listener.o ./objs/src/app/srs_app_srt_conn.o ./objs/src/app/srs_app_srt_utility.o ./objs/src/app/srs_app_srt_source.o ./objs/src/app/srs_app_rtc_conn.o ./objs/src/app/srs_app_rtc_dtls.o ./objs/src/app/srs_app_rtc_sdp.o ./objs/src/app/srs_app_rtc_network.o ./objs/src/app/srs_app_rtc_queue.o ./objs/src/app/srs_app_rtc_server.o ./objs/src/app/srs_app_rtc_source.o ./objs/src/app/srs_app_rtc_api.o ./objs/src/app/srs_app_rtc_codec.o ./objs/src/main/srs_main_mp4_parser.o ./objs/st/libst.a ./objs/openssl/lib/libssl.a ./objs/openssl/lib/libcrypto.a ./objs/srtp2/lib/libsrtp2.a ./objs/ffmpeg/lib/libavcodec.a ./objs/ffmpeg/lib/libswresample.a ./objs/ffmpeg/lib/libavutil.a ./objs/opus/lib/libopus.a ./objs/srt/lib/libsrt.a -ldl -lpthread -lrt -rdynamic -fsanitize=address -fno-omit-frame-pointer -static-libasan
# build ./objs/srs_hls_ingester
srs_hls_ingester: ./objs/srs_hls_ingester
./objs/srs_hls_ingester: ./objs/src/core/srs_core.o ./objs/src/core/srs_core_version.o ./objs/src/core/srs_core_version5.o ./objs/src/core/srs_core_autofree.o ./objs/src/core/srs_core_performance.o ./objs/src/core/srs_core_time.o ./objs/src/core/srs_core_platform.o ./objs/src/kernel/srs_kernel_error.o ./objs/src/kernel/srs_kernel_log.o ./objs/src/kernel/srs_kernel_buffer.o ./objs/src/kernel/srs_kernel_utility.o ./objs/src/kernel/srs_kernel_flv.o ./objs/src/kernel/srs_kernel_codec.o ./objs/src/kernel/srs_kernel_io.o ./objs/src/kernel/srs_kernel_consts.o ./objs/src/kernel/srs_kernel_aac.o ./objs/src/kernel/srs_kernel_mp3.o ./objs/src/kernel/srs_kernel_ts.o ./objs/src/kernel/srs_kernel_ps.o ./objs/src/kernel/srs_kernel_stream.o ./objs/src/kernel/srs_kernel_balance.o ./objs/src/kernel/srs_kernel_mp4.o ./objs/src/kernel/srs_kernel_file.o ./objs/src/kernel/srs_kernel_kbps.o ./objs/src/kernel/srs_kernel_rtc_rtp.o ./objs/src/kernel/srs_kernel_rtc_rtcp.o ./objs/src/protocol/srs_protocol_amf0.o ./objs/src/protocol/srs_protocol_io.o ./objs/src/protocol/srs_protocol_conn.o ./objs/src/protocol/srs_protocol_rtmp_handshake.o ./objs/src/protocol/srs_protocol_rtmp_stack.o ./objs/src/protocol/srs_protocol_utility.o ./objs/src/protocol/srs_protocol_rtmp_msg_array.o ./objs/src/protocol/srs_protocol_stream.o ./objs/src/protocol/srs_protocol_raw_avc.o ./objs/src/protocol/srs_protocol_http_stack.o ./objs/src/protocol/srs_protocol_kbps.o ./objs/src/protocol/srs_protocol_json.o ./objs/src/protocol/srs_protocol_format.o ./objs/src/protocol/srs_protocol_log.o ./objs/src/protocol/srs_protocol_st.o ./objs/src/protocol/srs_protocol_http_client.o ./objs/src/protocol/srs_protocol_http_conn.o ./objs/src/protocol/srs_protocol_rtmp_conn.o ./objs/src/protocol/srs_protocol_protobuf.o ./objs/src/protocol/srs_protocol_srt.o ./objs/src/protocol/srs_protocol_rtc_stun.o ./objs/src/app/srs_app_server.o ./objs/src/app/srs_app_conn.o ./objs/src/app/srs_app_rtmp_conn.o ./objs/src/app/srs_app_source.o ./objs/src/app/srs_app_refer.o ./objs/src/app/srs_app_hls.o ./objs/src/app/srs_app_forward.o ./objs/src/app/srs_app_encoder.o ./objs/src/app/srs_app_http_stream.o ./objs/src/app/srs_app_st.o ./objs/src/app/srs_app_log.o ./objs/src/app/srs_app_config.o ./objs/src/app/srs_app_stream_bridge.o ./objs/src/app/srs_app_pithy_print.o ./objs/src/app/srs_app_reload.o ./objs/src/app/srs_app_http_api.o ./objs/src/app/srs_app_http_conn.o ./objs/src/app/srs_app_http_hooks.o ./objs/src/app/srs_app_ingest.o ./objs/src/app/srs_app_ffmpeg.o ./objs/src/app/srs_app_utility.o ./objs/src/app/srs_app_edge.o ./objs/src/app/srs_app_heartbeat.o ./objs/src/app/srs_app_empty.o ./objs/src/app/srs_app_http_client.o ./objs/src/app/srs_app_http_static.o ./objs/src/app/srs_app_recv_thread.o ./objs/src/app/srs_app_security.o ./objs/src/app/srs_app_statistic.o ./objs/src/app/srs_app_hds.o ./objs/src/app/srs_app_mpegts_udp.o ./objs/src/app/srs_app_listener.o ./objs/src/app/srs_app_async_call.o ./objs/src/app/srs_app_caster_flv.o ./objs/src/app/srs_app_latest_version.o ./objs/src/app/srs_app_uuid.o ./objs/src/app/srs_app_process.o ./objs/src/app/srs_app_ng_exec.o ./objs/src/app/srs_app_hourglass.o ./objs/src/app/srs_app_dash.o ./objs/src/app/srs_app_fragment.o ./objs/src/app/srs_app_dvr.o ./objs/src/app/srs_app_coworkers.o ./objs/src/app/srs_app_hybrid.o ./objs/src/app/srs_app_threads.o ./objs/src/app/srs_app_srt_server.o ./objs/src/app/srs_app_srt_listener.o ./objs/src/app/srs_app_srt_conn.o ./objs/src/app/srs_app_srt_utility.o ./objs/src/app/srs_app_srt_source.o ./objs/src/app/srs_app_rtc_conn.o ./objs/src/app/srs_app_rtc_dtls.o ./objs/src/app/srs_app_rtc_sdp.o ./objs/src/app/srs_app_rtc_network.o ./objs/src/app/srs_app_rtc_queue.o ./objs/src/app/srs_app_rtc_server.o ./objs/src/app/srs_app_rtc_source.o ./objs/src/app/srs_app_rtc_api.o ./objs/src/app/srs_app_rtc_codec.o ./objs/src/main/srs_main_ingest_hls.o
$(LINK) -o ./objs/srs_hls_ingester ./objs/src/core/srs_core.o ./objs/src/core/srs_core_version.o ./objs/src/core/srs_core_version5.o ./objs/src/core/srs_core_autofree.o ./objs/src/core/srs_core_performance.o ./objs/src/core/srs_core_time.o ./objs/src/core/srs_core_platform.o ./objs/src/kernel/srs_kernel_error.o ./objs/src/kernel/srs_kernel_log.o ./objs/src/kernel/srs_kernel_buffer.o ./objs/src/kernel/srs_kernel_utility.o ./objs/src/kernel/srs_kernel_flv.o ./objs/src/kernel/srs_kernel_codec.o ./objs/src/kernel/srs_kernel_io.o ./objs/src/kernel/srs_kernel_consts.o ./objs/src/kernel/srs_kernel_aac.o ./objs/src/kernel/srs_kernel_mp3.o ./objs/src/kernel/srs_kernel_ts.o ./objs/src/kernel/srs_kernel_ps.o ./objs/src/kernel/srs_kernel_stream.o ./objs/src/kernel/srs_kernel_balance.o ./objs/src/kernel/srs_kernel_mp4.o ./objs/src/kernel/srs_kernel_file.o ./objs/src/kernel/srs_kernel_kbps.o ./objs/src/kernel/srs_kernel_rtc_rtp.o ./objs/src/kernel/srs_kernel_rtc_rtcp.o ./objs/src/protocol/srs_protocol_amf0.o ./objs/src/protocol/srs_protocol_io.o ./objs/src/protocol/srs_protocol_conn.o ./objs/src/protocol/srs_protocol_rtmp_handshake.o ./objs/src/protocol/srs_protocol_rtmp_stack.o ./objs/src/protocol/srs_protocol_utility.o ./objs/src/protocol/srs_protocol_rtmp_msg_array.o ./objs/src/protocol/srs_protocol_stream.o ./objs/src/protocol/srs_protocol_raw_avc.o ./objs/src/protocol/srs_protocol_http_stack.o ./objs/src/protocol/srs_protocol_kbps.o ./objs/src/protocol/srs_protocol_json.o ./objs/src/protocol/srs_protocol_format.o ./objs/src/protocol/srs_protocol_log.o ./objs/src/protocol/srs_protocol_st.o ./objs/src/protocol/srs_protocol_http_client.o ./objs/src/protocol/srs_protocol_http_conn.o ./objs/src/protocol/srs_protocol_rtmp_conn.o ./objs/src/protocol/srs_protocol_protobuf.o ./objs/src/protocol/srs_protocol_srt.o ./objs/src/protocol/srs_protocol_rtc_stun.o ./objs/src/app/srs_app_server.o ./objs/src/app/srs_app_conn.o ./objs/src/app/srs_app_rtmp_conn.o ./objs/src/app/srs_app_source.o ./objs/src/app/srs_app_refer.o ./objs/src/app/srs_app_hls.o ./objs/src/app/srs_app_forward.o ./objs/src/app/srs_app_encoder.o ./objs/src/app/srs_app_http_stream.o ./objs/src/app/srs_app_st.o ./objs/src/app/srs_app_log.o ./objs/src/app/srs_app_config.o ./objs/src/app/srs_app_stream_bridge.o ./objs/src/app/srs_app_pithy_print.o ./objs/src/app/srs_app_reload.o ./objs/src/app/srs_app_http_api.o ./objs/src/app/srs_app_http_conn.o ./objs/src/app/srs_app_http_hooks.o ./objs/src/app/srs_app_ingest.o ./objs/src/app/srs_app_ffmpeg.o ./objs/src/app/srs_app_utility.o ./objs/src/app/srs_app_edge.o ./objs/src/app/srs_app_heartbeat.o ./objs/src/app/srs_app_empty.o ./objs/src/app/srs_app_http_client.o ./objs/src/app/srs_app_http_static.o ./objs/src/app/srs_app_recv_thread.o ./objs/src/app/srs_app_security.o ./objs/src/app/srs_app_statistic.o ./objs/src/app/srs_app_hds.o ./objs/src/app/srs_app_mpegts_udp.o ./objs/src/app/srs_app_listener.o ./objs/src/app/srs_app_async_call.o ./objs/src/app/srs_app_caster_flv.o ./objs/src/app/srs_app_latest_version.o ./objs/src/app/srs_app_uuid.o ./objs/src/app/srs_app_process.o ./objs/src/app/srs_app_ng_exec.o ./objs/src/app/srs_app_hourglass.o ./objs/src/app/srs_app_dash.o ./objs/src/app/srs_app_fragment.o ./objs/src/app/srs_app_dvr.o ./objs/src/app/srs_app_coworkers.o ./objs/src/app/srs_app_hybrid.o ./objs/src/app/srs_app_threads.o ./objs/src/app/srs_app_srt_server.o ./objs/src/app/srs_app_srt_listener.o ./objs/src/app/srs_app_srt_conn.o ./objs/src/app/srs_app_srt_utility.o ./objs/src/app/srs_app_srt_source.o ./objs/src/app/srs_app_rtc_conn.o ./objs/src/app/srs_app_rtc_dtls.o ./objs/src/app/srs_app_rtc_sdp.o ./objs/src/app/srs_app_rtc_network.o ./objs/src/app/srs_app_rtc_queue.o ./objs/src/app/srs_app_rtc_server.o ./objs/src/app/srs_app_rtc_source.o ./objs/src/app/srs_app_rtc_api.o ./objs/src/app/srs_app_rtc_codec.o ./objs/src/main/srs_main_ingest_hls.o ./objs/st/libst.a ./objs/openssl/lib/libssl.a ./objs/openssl/lib/libcrypto.a ./objs/srtp2/lib/libsrtp2.a ./objs/ffmpeg/lib/libavcodec.a ./objs/ffmpeg/lib/libswresample.a ./objs/ffmpeg/lib/libavutil.a ./objs/opus/lib/libopus.a ./objs/srt/lib/libsrt.a -ldl -lpthread -lrt -rdynamic -fsanitize=address -fno-omit-frame-pointer -static-libasan
@@ -0,0 +1,31 @@
#!/bin/bash
#####################################################################################
# linux shell color support.
RED="\\033[31m"
GREEN="\\033[32m"
YELLOW="\\033[33m"
BLACK="\\033[0m"
echo -e "${GREEN}The build summary:${BLACK}"
echo -e " ${BLACK}+------------------------------------------------------------------------------------${BLACK}"
echo -e " ${GREEN}For SRS benchmark, gperf, gprof and valgrind, please read:${BLACK}"
echo -e " ${GREEN} https://www.jianshu.com/p/6d4a89359352${BLACK}"
echo -e " ${BLACK}+------------------------------------------------------------------------------------${BLACK}"
echo -e " |${GREEN}The main server usage: ./objs/srs -c conf/srs.conf, start the srs server${BLACK}"
echo -e " | ${GREEN}About HLS, please read https://ossrs.net/lts/zh-cn/docs/v4/doc/delivery-hls${BLACK}"
echo -e " | ${GREEN}About DVR, please read https://ossrs.net/lts/zh-cn/docs/v4/doc/dvr${BLACK}"
echo -e " | ${GREEN}About SSL, please read https://ossrs.net/lts/zh-cn/docs/v4/doc/rtmp-handshake${BLACK}"
echo -e " | ${GREEN}About transcoding, please read https://ossrs.net/lts/zh-cn/docs/v4/doc/ffmpeg${BLACK}"
echo -e " | ${GREEN}About ingester, please read https://ossrs.net/lts/zh-cn/docs/v4/doc/ingest${BLACK}"
echo -e " | ${GREEN}About http-callback, please read https://ossrs.net/lts/zh-cn/docs/v4/doc/http-callback${BLACK}"
echo -e " | ${GREEN}Aoubt http-server, please read https://ossrs.net/lts/zh-cn/docs/v4/doc/http-server${BLACK}"
echo -e " | ${GREEN}About http-api, please read https://ossrs.net/lts/zh-cn/docs/v4/doc/http-api${BLACK}"
echo -e " | ${GREEN}About stream-caster, please read https://ossrs.net/lts/zh-cn/docs/v4/doc/streamer${BLACK}"
echo -e " | ${YELLOW}(Disabled) About VALGRIND, please read https://github.com/ossrs/state-threads/issues/2${BLACK}"
echo -e " ${BLACK}+------------------------------------------------------------------------------------${BLACK}"
echo -e "${GREEN}binaries, please read https://ossrs.net/lts/zh-cn/docs/v4/doc/install${BLACK}"
echo "You can:"
echo " ./objs/srs -c conf/srs.conf"
echo " to start the srs server, with config conf/srs.conf."

Some files were not shown because too many files have changed in this diff Show More