-
Notifications
You must be signed in to change notification settings - Fork 2
/
nginx.conf
131 lines (96 loc) · 2.82 KB
/
nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#user nobody;
worker_processes 1;
daemon off;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
chunk_size 4000;
# TV mode: one publisher, many subscribers
application flvplayback {
# enable live streaming
live on;
# drop if stream timed out
drop_idle_publisher 10s;
# record first 1K of stream
record all;
record_path /tmp/av;
record_max_size 100K;
# append current timestamp to each flv
record_unique on;
allow publish all;
allow play all;
hls on;
hls_path /tmp/hls;
dash on;
dash_path /tmp/dash;
}
}
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
# 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 /usr/local/nginx/html/stat.xsl/;
}
location /hls {
# Serve HLS fragments
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
add_header 'Access-Control-Allow-Origin' '*';
root /tmp;
location ~* \.(m3u8)$ {
expires 3s;
add_header Cache-Control "public";
add_header 'Access-Control-Allow-Origin' '*';
}
location ~* \.(ts)$ {
expires 120s;
add_header Cache-Control "public";
add_header 'Access-Control-Allow-Origin' '*';
}
}
location /dash {
# Serve DASH fragments
add_header 'Access-Control-Allow-Origin' '*';
root /tmp;
add_header Cache-Control no-cache;
}
}
}