user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; # multi_accept on; } rtmp { hls_playlist_length 30m; server { listen 1935; chunk_size 4000; application stream { live on; #record all; #record_path /tmp/av; #record_max_size 1M; #record_unique on; #allow publish 192.168.*.*; #deny publish all; exec ffmpeg -re -i rtmp://localhost:1935/$app/$name -vcodec flv -acodec copy -s 1920x1080 -vcodec h264_nvenc -s 1920x1080 -vprofile baseline -acodec copy -f flv rtmp://localhost:1935/hls/$name_1080p -vcodec h264_nvenc -s 1280x720 -vprofile baseline -acodec copy -f flv rtmp://localhost:1935/hls/$name_720p -vcodec h264_nvenc -s 848x480 -vprofile baseline -acodec copy -f flv rtmp://localhost:1935/hls/$name_480p ; # exec ffmpeg -re -i rtmp://localhost:1935/$app/$name -vcodec flv -acodec copy -s 1280x720 # -f flv rtmp://localhost:1935/720p/${name} # -vcodec h264_nvenc -s 1280x720 -vprofile baseline -acodec copy -f flv rtmp://localhost:1935/hls/720p # -f flv rtmp://localhost:1935/dash/720p; # # exec ffmpeg -re -i rtmp://localhost:1935/$app/$name -vcodec flv -acodec copy -s 848x480 # -f flv rtmp://localhost:1935/480p/${name} # -vcodec h264_nvenc -s 848x480 -vprofile baseline -acodec copy -f flv rtmp://localhost:1935/hls/480p # -f flv rtmp://localhost:1935/dash/480p; # # exec ffmpeg -re -i rtmp://localhost:1935/$app/$name -vcodec flv -acodec copy -s 32x32 # -f flv rtmp://localhost:1935/small/${name}; } # application 1080p { # live on; # } # # application 720p { # live on; # } # # application 480p { # live on; # } # # application small { # live on; # } application hls { live on; hls on; hls_path /tmp/hls; hls_nested on; hls_variant _480p RESOLUTION=848x480; hls_variant _720p RESOLUTION=1280x720; hls_variant _1080p RESOLUTION=1920x1080; } application dash { live on; dash on; dash_path /tmp/dash; } } } http { server { listen 8080; listen [::]:8080; # This URL provides RTMP statistics in XML location /stat { rtmp_stat all; # Use this stylesheet to view XML as web page # in browser rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { # XML stylesheet to view RTMP stats. # Copy stat.xsl wherever you want # and put the full directory path here root /var/www/; } location /hls { # Serve HLS fragments types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /tmp; add_header Cache-Control no-cache; } location /hls/main.m3u8 { root /var/www/; } location /dash { # Serve DASH fragments root /tmp; add_header Cache-Control no-cache; } location / { # Serve static html files root /var/www/html; } } }