commit
8d86aad759
@ -0,0 +1,39 @@ |
|||||||
|
version: "3.5" |
||||||
|
services: |
||||||
|
nginx-streamer: |
||||||
|
image: alfg/nginx-rtmp |
||||||
|
restart: unless-stopped |
||||||
|
ports: |
||||||
|
- 1935:1935 |
||||||
|
- 8080:80 |
||||||
|
- 8443:443 |
||||||
|
environment: |
||||||
|
- HTTP_PORT=80 |
||||||
|
- RTMP_PORT=1935 |
||||||
|
volumes: |
||||||
|
- ./nginx.conf:/etc/nginx/nginx.conf.template |
||||||
|
- /data/teampresentaties_recording:/data |
||||||
|
|
||||||
|
htc_page: |
||||||
|
build: ./harambee-tv |
||||||
|
restart: unless-stopped |
||||||
|
container_name: htc_page |
||||||
|
volumes: |
||||||
|
- ./harambee-tv/site:/usr/local/apache2/htdocs |
||||||
|
ports: |
||||||
|
- 80:80 |
||||||
|
|
||||||
|
# proxy: |
||||||
|
# image: jwilder/nginx-proxy:alpine |
||||||
|
# container_name: pre-u-db-proxy |
||||||
|
# volumes: |
||||||
|
# - /var/run/docker.sock:/tmp/docker.sock:ro |
||||||
|
# - ./dev/certs:/etc/nginx/certs |
||||||
|
# - ./docker/nginx/vhost.d:/etc/nginx/vhost.d |
||||||
|
# environment: |
||||||
|
# - TZ=Europe/Amsterdam |
||||||
|
# - DEFAULT_HOST=harambee-woest.student.utwente.nl |
||||||
|
# - SSL_POLICY=Mozilla-Modern |
||||||
|
# ports: |
||||||
|
# - "80:80" |
||||||
|
# - "443:443" |
@ -0,0 +1,97 @@ |
|||||||
|
daemon off; |
||||||
|
|
||||||
|
error_log /dev/stdout info; |
||||||
|
|
||||||
|
events { |
||||||
|
worker_connections 1024; |
||||||
|
} |
||||||
|
|
||||||
|
rtmp { |
||||||
|
server { |
||||||
|
listen 1935; |
||||||
|
chunk_size 4000; |
||||||
|
|
||||||
|
application stream { |
||||||
|
live on; |
||||||
|
|
||||||
|
exec ffmpeg -i rtmp://localhost:1935/stream/$name |
||||||
|
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 10000k -f flv -g 60 -r 60 -s 1920x1080 -preset fast -profile:v baseline rtmp://localhost:1935/hls/$name_1080p60_10128kbs |
||||||
|
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 8000k -f flv -g 30 -r 30 -s 1920x1080 -preset fast -profile:v baseline rtmp://localhost:1935/hls/$name_1080p8128kbs |
||||||
|
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 4000k -f flv -g 30 -r 30 -s 1280x720 -preset veryfast -profile:v baseline rtmp://localhost:1935/hls/$name_720p4128kbs |
||||||
|
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 8000k -f flv -g 60 -r 60 -s 1280x720 -preset veryfast -profile:v baseline rtmp://localhost:1935/hls/$name_720p60_4128kbs |
||||||
|
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 1000k -f flv -g 30 -r 30 -s 854x480 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_480p1128kbs |
||||||
|
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 750k -f flv -g 30 -r 30 -s 640x360 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_360p878kbs; |
||||||
|
} |
||||||
|
|
||||||
|
application hls { |
||||||
|
live on; |
||||||
|
hls on; |
||||||
|
hls_fragment_naming system; |
||||||
|
hls_fragment 5; |
||||||
|
hls_playlist_length 10; |
||||||
|
hls_path /opt/data/hls; |
||||||
|
hls_nested on; |
||||||
|
|
||||||
|
hls_variant _1080p60_10128kbs BANDWIDTH=10128000,RESOLUTION=1920x1080; |
||||||
|
hls_variant _1080p8128kbs BANDWIDTH=8128000,RESOLUTION=1920x1080; |
||||||
|
hls_variant _720p4128kbs BANDWIDTH=4128000,RESOLUTION=1280x720; |
||||||
|
hls_variant _720p60_4128kbs BANDWIDTH=8128000,RESOLUTION=1280x720; |
||||||
|
hls_variant _480p1128kbs BANDWIDTH=1128000,RESOLUTION=854x480; |
||||||
|
hls_variant _360p878kbs BANDWIDTH=878000,RESOLUTION=640x360; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
http { |
||||||
|
access_log /dev/stdout combined; |
||||||
|
|
||||||
|
ssl_ciphers HIGH:!aNULL:!MD5; |
||||||
|
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; |
||||||
|
ssl_session_cache shared:SSL:10m; |
||||||
|
ssl_session_timeout 10m; |
||||||
|
|
||||||
|
server { |
||||||
|
listen 80; |
||||||
|
|
||||||
|
# Uncomment these lines to enable SSL. |
||||||
|
# Update the ssl paths with your own certificate and private key. |
||||||
|
# listen 443 ssl; |
||||||
|
# ssl_certificate /opt/certs/example.com.crt; |
||||||
|
# ssl_certificate_key /opt/certs/example.com.key; |
||||||
|
|
||||||
|
location /hls { |
||||||
|
types { |
||||||
|
application/vnd.apple.mpegurl m3u8; |
||||||
|
video/mp2t ts; |
||||||
|
} |
||||||
|
root /opt/data; |
||||||
|
add_header Cache-Control no-cache; |
||||||
|
add_header Access-Control-Allow-Origin *; |
||||||
|
} |
||||||
|
|
||||||
|
location /live { |
||||||
|
alias /opt/data/hls; |
||||||
|
types { |
||||||
|
application/vnd.apple.mpegurl m3u8; |
||||||
|
video/mp2t ts; |
||||||
|
} |
||||||
|
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 /www/static; |
||||||
|
} |
||||||
|
|
||||||
|
location = /crossdomain.xml { |
||||||
|
root /www/static; |
||||||
|
default_type text/xml; |
||||||
|
expires 24h; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,97 @@ |
|||||||
|
daemon off; |
||||||
|
|
||||||
|
error_log /dev/stdout info; |
||||||
|
|
||||||
|
events { |
||||||
|
worker_connections 1024; |
||||||
|
} |
||||||
|
|
||||||
|
rtmp { |
||||||
|
server { |
||||||
|
listen 1935; |
||||||
|
chunk_size 4000; |
||||||
|
|
||||||
|
application stream { |
||||||
|
live on; |
||||||
|
|
||||||
|
exec ffmpeg -i rtmp://localhost:1935/stream/$name |
||||||
|
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 8000k -f flv -g 30 -r 30 -s 1920x1080 -preset fast -profile:v baseline rtmp://localhost:1935/hls/$name_1080p8128kbs |
||||||
|
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 2500k -f flv -g 30 -r 30 -s 1280x720 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_720p2628kbs |
||||||
|
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 1000k -f flv -g 30 -r 30 -s 854x480 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_480p1128kbs |
||||||
|
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 750k -f flv -g 30 -r 30 -s 640x360 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_360p878kbs |
||||||
|
-c:a libfdk_aac -b:a 128k -c:v libx264 -b:v 400k -f flv -g 30 -r 30 -s 426x240 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_240p528kbs |
||||||
|
-c:a libfdk_aac -b:a 64k -c:v libx264 -b:v 200k -f flv -g 15 -r 15 -s 426x240 -preset superfast -profile:v baseline rtmp://localhost:1935/hls/$name_240p264kbs; |
||||||
|
} |
||||||
|
|
||||||
|
application hls { |
||||||
|
live on; |
||||||
|
hls on; |
||||||
|
hls_fragment_naming system; |
||||||
|
hls_fragment 5; |
||||||
|
hls_playlist_length 10; |
||||||
|
hls_path /opt/data/hls; |
||||||
|
hls_nested on; |
||||||
|
|
||||||
|
hls_variant _1080p8128kbs BANDWIDTH=8128000,RESOLUTION=1920x1080; |
||||||
|
hls_variant _720p2628kbs BANDWIDTH=2628000,RESOLUTION=1280x720; |
||||||
|
hls_variant _480p1128kbs BANDWIDTH=1128000,RESOLUTION=854x480; |
||||||
|
hls_variant _360p878kbs BANDWIDTH=878000,RESOLUTION=640x360; |
||||||
|
hls_variant _240p528kbs BANDWIDTH=528000,RESOLUTION=426x240; |
||||||
|
hls_variant _240p264kbs BANDWIDTH=264000,RESOLUTION=426x240; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
http { |
||||||
|
access_log /dev/stdout combined; |
||||||
|
|
||||||
|
ssl_ciphers HIGH:!aNULL:!MD5; |
||||||
|
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; |
||||||
|
ssl_session_cache shared:SSL:10m; |
||||||
|
ssl_session_timeout 10m; |
||||||
|
|
||||||
|
server { |
||||||
|
listen 80; |
||||||
|
|
||||||
|
# Uncomment these lines to enable SSL. |
||||||
|
# Update the ssl paths with your own certificate and private key. |
||||||
|
# listen 443 ssl; |
||||||
|
# ssl_certificate /opt/certs/example.com.crt; |
||||||
|
# ssl_certificate_key /opt/certs/example.com.key; |
||||||
|
|
||||||
|
location /hls { |
||||||
|
types { |
||||||
|
application/vnd.apple.mpegurl m3u8; |
||||||
|
video/mp2t ts; |
||||||
|
} |
||||||
|
root /opt/data; |
||||||
|
add_header Cache-Control no-cache; |
||||||
|
add_header Access-Control-Allow-Origin *; |
||||||
|
} |
||||||
|
|
||||||
|
location /live { |
||||||
|
alias /opt/data/hls; |
||||||
|
types { |
||||||
|
application/vnd.apple.mpegurl m3u8; |
||||||
|
video/mp2t ts; |
||||||
|
} |
||||||
|
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 /www/static; |
||||||
|
} |
||||||
|
|
||||||
|
location = /crossdomain.xml { |
||||||
|
root /www/static; |
||||||
|
default_type text/xml; |
||||||
|
expires 24h; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue