diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fa71346 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +FFmpeg +nginx-1.18.0 +nginx-rtmp-module + diff --git a/build-nginx-rtmp.sh b/build-nginx-rtmp.sh new file mode 100755 index 0000000..eab0107 --- /dev/null +++ b/build-nginx-rtmp.sh @@ -0,0 +1,21 @@ +sudo apt-get install zlib1g-dev libssl-dev + +git clone -b master --single-branch --depth 1 https://github.com/arut/nginx-rtmp-module.git +cd nginx-rtmp-module +wget https://patch-diff.githubusercontent.com/raw/arut/nginx-rtmp-module/pull/1450.diff +cat 1450.diff | patch -p1 +cd .. + +wget -4 http://nginx.org/download/nginx-1.18.0.tar.gz +tar -xzf nginx-1.18.0.tar.gz +rm nginx-1.18.0.tar.gz +cd nginx-1.18.0 +./configure --with-http_v2_module --with-http_ssl_module --without-http_fastcgi_module --without-http_rewrite_module --without-http_scgi_module --without-http_uwsgi_module --add-module=../nginx-rtmp-module +make -j4 +sudo make install +cd .. +sudo cp nginx.conf /usr/local/nginx/conf +sudo cp nginx.service /lib/systemd/system +sudo systemctl daemon-reload +sudo systemctl enable nginx +sudo systemctl start nginx diff --git a/misc.sh b/misc.sh new file mode 100755 index 0000000..d4bdd10 --- /dev/null +++ b/misc.sh @@ -0,0 +1,2 @@ +raspi-config nonint do_memory_split 256 +#raspi-config noint enable_overlayfs diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..47605cb --- /dev/null +++ b/nginx.conf @@ -0,0 +1,26 @@ + +#user nobody; +worker_processes 1; + +#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 { + access_log off; + server { + listen 1935; + application feed { + live on; + meta copy; + drop_idle_publisher 4s; + } + } +} diff --git a/nginx.service b/nginx.service new file mode 100644 index 0000000..1e8b70a --- /dev/null +++ b/nginx.service @@ -0,0 +1,16 @@ +[Unit] +Description=The NGINX HTTP and reverse proxy server +After=syslog.target network-online.target remote-fs.target nss-lookup.target +Wants=network-online.target + +[Service] +Type=forking +PIDFile=/usr/local/nginx/logs/nginx.pid +ExecStartPre=/usr/local/nginx/sbin/nginx -t +ExecStart=/usr/local/nginx/sbin/nginx +ExecReload=/usr/local/nginx/sbin/nginx -s reload +ExecStop=/bin/kill -s QUIT $MAINPID +PrivateTmp=true + +[Install] +WantedBy=multi-user.target