nginx-rtmp-dockerfile/nginx.conf

78 lines
3.0 KiB
Nginx Configuration File

daemon off;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4000;
application encoder {
live on;
exec ffmpeg -i rtmp://localhost:1935/encoder/$name
-c:a libfdk_aac -b:a 384k -c:v libx264 -b:v 2500k -f flv -g 30 -r 30 -s 1280x720 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_720p2884kbs
-c:a libfdk_aac -b:a 384k -c:v libx264 -b:v 1800k -f flv -g 30 -r 30 -s 960x540 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_540p2183kbs
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 1200k -f flv -g 30 -r 30 -s 640x360 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_360p1328kbs
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 686k -f flv -g 30 -r 30 -s 640x360 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_360p818kbs
-c:a libfdk_aac -b:a 64k -c:v libx264 -b:v 400k -f flv -g 15 -r 15 -s 480x270 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_270p464kbs
-c:a libfdk_aac -b:a 64k -c:v libx264 -b:v 200k -f flv -g 15 -r 15 -s 480x270 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_270p264kbs;
}
application hls {
live on;
hls on;
hls_fragment_naming system;
hls_fragment 5s;
hls_path /data/hls;
hls_nested on;
hls_variant _720p2884kbs BANDWIDTH=2884000,RESOLUTION=1280x720;
hls_variant _540p2183kbs BANDWIDTH=2183000,RESOLUTION=960x540;
hls_variant _360p1328kbs BANDWIDTH=1328000,RESOLUTION=640x360;
hls_variant _360p818kbs BANDWIDTH=818000,RESOLUTION=640x360;
hls_variant _270p464kbs BANDWIDTH=464000,RESOLUTION=480x270;
hls_variant _270p264kbs BANDWIDTH=264000,RESOLUTION=480x270;
}
}
}
http {
server {
listen 80;
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /data;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet static/stat.xsl;
}
location /static {
alias /static;
}
location /crossdomain.xml {
default_type text/xml;
return 200 '<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" secure="false"/>
<allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>';
expires 24h;
}
}
}