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