mirror of
https://github.com/moparisthebest/arch-ppa
synced 2024-11-24 17:42:19 -05:00
Update nginx-mainline-rtmp
This commit is contained in:
parent
69b29420f5
commit
59f2ffdfe2
46
src/nginx-mainline-rtmp/.SRCINFO
Normal file
46
src/nginx-mainline-rtmp/.SRCINFO
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
pkgbase = nginx-mainline-rtmp
|
||||||
|
pkgdesc = Lightweight HTTP server and IMAP/POP3 proxy server, mainline-rtmp release
|
||||||
|
pkgver = 1.11.8
|
||||||
|
pkgrel = 1
|
||||||
|
url = https://nginx.org
|
||||||
|
install = nginx.install
|
||||||
|
arch = i686
|
||||||
|
arch = x86_64
|
||||||
|
arch = armv7h
|
||||||
|
license = custom
|
||||||
|
makedepends = hardening-wrapper
|
||||||
|
depends = pcre
|
||||||
|
depends = zlib
|
||||||
|
depends = openssl
|
||||||
|
depends = geoip
|
||||||
|
provides = nginx
|
||||||
|
conflicts = nginx
|
||||||
|
backup = etc/nginx/fastcgi.conf
|
||||||
|
backup = etc/nginx/fastcgi_params
|
||||||
|
backup = etc/nginx/koi-win
|
||||||
|
backup = etc/nginx/koi-utf
|
||||||
|
backup = etc/nginx/mime.types
|
||||||
|
backup = etc/nginx/nginx.conf
|
||||||
|
backup = etc/nginx/scgi_params
|
||||||
|
backup = etc/nginx/uwsgi_params
|
||||||
|
backup = etc/nginx/win-utf
|
||||||
|
backup = etc/logrotate.d/nginx
|
||||||
|
backup = usr/share/nginx/html/crossdomain.xml
|
||||||
|
source = https://nginx.org/download/nginx-1.11.8.tar.gz
|
||||||
|
source = https://nginx.org/download/nginx-1.11.8.tar.gz.asc
|
||||||
|
source = https://github.com/arut/nginx-rtmp-module/archive/v1.1.10.tar.gz
|
||||||
|
source = service
|
||||||
|
source = logrotate
|
||||||
|
source = crossdomain.xml
|
||||||
|
source = nginx.conf
|
||||||
|
validpgpkeys = B0F4253373F8F6F510D42178520A9993A1C052F8
|
||||||
|
md5sums = 8f68f49b6db510e567bba9e0c271a3ac
|
||||||
|
md5sums = SKIP
|
||||||
|
md5sums = 2e82501ed423a901ab64bfe2228a0666
|
||||||
|
md5sums = ce9a06bcaf66ec4a3c4eb59b636e0dfd
|
||||||
|
md5sums = d6a6d4d819f03a675bacdfabd25aa37e
|
||||||
|
md5sums = 4d2e9c834fa2e60cd8b23185b93d2e2e
|
||||||
|
md5sums = 35a9c62e780ab952fb89b613f0af97cd
|
||||||
|
|
||||||
|
pkgname = nginx-mainline-rtmp
|
||||||
|
|
@ -2,11 +2,13 @@
|
|||||||
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
|
||||||
# Contributor: Sébastien Luttringer
|
# Contributor: Sébastien Luttringer
|
||||||
# Contributor: Drew DeVault
|
# Contributor: Drew DeVault
|
||||||
|
# Contributor: Florent Thiéry <fthiery@gmail.com>
|
||||||
|
# Contributor: moparisthebest <admin dot archlinux AT moparisthebest dot com>
|
||||||
|
|
||||||
pkgname=nginx-mainline-rtmp
|
pkgname=nginx-mainline-rtmp
|
||||||
pkgver=1.11.7
|
pkgver=1.11.8
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server, mainline release'
|
pkgdesc='Lightweight HTTP server and IMAP/POP3 proxy server, mainline-rtmp release'
|
||||||
arch=('i686' 'x86_64' 'armv7h')
|
arch=('i686' 'x86_64' 'armv7h')
|
||||||
url='https://nginx.org'
|
url='https://nginx.org'
|
||||||
license=('custom')
|
license=('custom')
|
||||||
@ -21,20 +23,25 @@ backup=('etc/nginx/fastcgi.conf'
|
|||||||
'etc/nginx/scgi_params'
|
'etc/nginx/scgi_params'
|
||||||
'etc/nginx/uwsgi_params'
|
'etc/nginx/uwsgi_params'
|
||||||
'etc/nginx/win-utf'
|
'etc/nginx/win-utf'
|
||||||
'etc/logrotate.d/nginx')
|
'etc/logrotate.d/nginx'
|
||||||
|
'usr/share/nginx/html/crossdomain.xml')
|
||||||
install=nginx.install
|
install=nginx.install
|
||||||
provides=('nginx')
|
provides=('nginx')
|
||||||
conflicts=('nginx')
|
conflicts=('nginx')
|
||||||
source=($url/download/nginx-$pkgver.tar.gz{,.asc}
|
source=($url/download/nginx-$pkgver.tar.gz{,.asc}
|
||||||
https://github.com/arut/nginx-rtmp-module/archive/v1.1.10.tar.gz
|
https://github.com/arut/nginx-rtmp-module/archive/v1.1.10.tar.gz
|
||||||
service
|
service
|
||||||
logrotate)
|
logrotate
|
||||||
|
crossdomain.xml
|
||||||
|
nginx.conf)
|
||||||
validpgpkeys=('B0F4253373F8F6F510D42178520A9993A1C052F8') # Maxim Dounin <mdounin@mdounin.ru>
|
validpgpkeys=('B0F4253373F8F6F510D42178520A9993A1C052F8') # Maxim Dounin <mdounin@mdounin.ru>
|
||||||
md5sums=('2b4a4874b8fedbd5ba7829579d1f5973'
|
md5sums=('8f68f49b6db510e567bba9e0c271a3ac'
|
||||||
'SKIP'
|
'SKIP'
|
||||||
'2e82501ed423a901ab64bfe2228a0666'
|
'2e82501ed423a901ab64bfe2228a0666'
|
||||||
'ce9a06bcaf66ec4a3c4eb59b636e0dfd'
|
'ce9a06bcaf66ec4a3c4eb59b636e0dfd'
|
||||||
'd6a6d4d819f03a675bacdfabd25aa37e')
|
'd6a6d4d819f03a675bacdfabd25aa37e'
|
||||||
|
'4d2e9c834fa2e60cd8b23185b93d2e2e'
|
||||||
|
'35a9c62e780ab952fb89b613f0af97cd')
|
||||||
|
|
||||||
_common_flags=(
|
_common_flags=(
|
||||||
--with-pcre-jit
|
--with-pcre-jit
|
||||||
@ -112,6 +119,8 @@ package() {
|
|||||||
install -d "$pkgdir"/usr/share/nginx
|
install -d "$pkgdir"/usr/share/nginx
|
||||||
mv "$pkgdir"/etc/nginx/html/ "$pkgdir"/usr/share/nginx
|
mv "$pkgdir"/etc/nginx/html/ "$pkgdir"/usr/share/nginx
|
||||||
|
|
||||||
|
install -Dm644 ../nginx.conf "$pkgdir"/etc/nginx/nginx.conf
|
||||||
|
install -Dm644 ../crossdomain.xml "$pkgdir"/usr/share/nginx/html/crossdomain.xml
|
||||||
install -Dm644 ../logrotate "$pkgdir"/etc/logrotate.d/nginx
|
install -Dm644 ../logrotate "$pkgdir"/etc/logrotate.d/nginx
|
||||||
install -Dm644 ../service "$pkgdir"/usr/lib/systemd/system/nginx.service
|
install -Dm644 ../service "$pkgdir"/usr/lib/systemd/system/nginx.service
|
||||||
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$provides/LICENSE
|
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$provides/LICENSE
|
||||||
|
7
src/nginx-mainline-rtmp/crossdomain.xml
Normal file
7
src/nginx-mainline-rtmp/crossdomain.xml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
|
||||||
|
<cross-domain-policy>
|
||||||
|
<allow-access-from domain="*" secure="false"/>
|
||||||
|
<site-control permitted-cross-domain-policies="all"/>
|
||||||
|
</cross-domain-policy>
|
||||||
|
|
282
src/nginx-mainline-rtmp/nginx.conf
Normal file
282
src/nginx-mainline-rtmp/nginx.conf
Normal file
@ -0,0 +1,282 @@
|
|||||||
|
|
||||||
|
#user html;
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
index index.html index.htm;
|
||||||
|
}
|
||||||
|
|
||||||
|
error_page 500 502 503 504 /50x.html;
|
||||||
|
location = /50x.html {
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
}
|
||||||
|
|
||||||
|
# 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 /path/to/stat.xsl/;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /hls {
|
||||||
|
# Serve HLS fragments
|
||||||
|
types {
|
||||||
|
application/vnd.apple.mpegurl m3u8;
|
||||||
|
video/mp2t ts;
|
||||||
|
}
|
||||||
|
root /tmp;
|
||||||
|
add_header Cache-Control no-cache;
|
||||||
|
add_header Access-Control-Allow-Origin *;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /dash {
|
||||||
|
# Serve DASH fragments
|
||||||
|
root /tmp;
|
||||||
|
add_header Cache-Control no-cache;
|
||||||
|
add_header Access-Control-Allow-Origin *;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# another virtual host using mix of IP-, name-, and port-based configuration
|
||||||
|
#
|
||||||
|
#server {
|
||||||
|
# listen 8000;
|
||||||
|
# listen somename:8080;
|
||||||
|
# server_name somename alias another.alias;
|
||||||
|
|
||||||
|
# location / {
|
||||||
|
# root html;
|
||||||
|
# index index.html index.htm;
|
||||||
|
# }
|
||||||
|
#}
|
||||||
|
|
||||||
|
|
||||||
|
# HTTPS server
|
||||||
|
#
|
||||||
|
#server {
|
||||||
|
# listen 443 ssl;
|
||||||
|
# server_name localhost;
|
||||||
|
|
||||||
|
# ssl_certificate cert.pem;
|
||||||
|
# ssl_certificate_key cert.key;
|
||||||
|
|
||||||
|
# ssl_session_cache shared:SSL:1m;
|
||||||
|
# ssl_session_timeout 5m;
|
||||||
|
|
||||||
|
# ssl_ciphers HIGH:!aNULL:!MD5;
|
||||||
|
# ssl_prefer_server_ciphers on;
|
||||||
|
|
||||||
|
# location / {
|
||||||
|
# root html;
|
||||||
|
# index index.html index.htm;
|
||||||
|
# }
|
||||||
|
#}
|
||||||
|
}
|
||||||
|
|
||||||
|
rtmp {
|
||||||
|
server {
|
||||||
|
# Documentation
|
||||||
|
# https://github.com/arut/nginx-rtmp-module/wiki/Directives
|
||||||
|
|
||||||
|
listen 1935;
|
||||||
|
|
||||||
|
chunk_size 4000;
|
||||||
|
|
||||||
|
# Video on demand
|
||||||
|
application vod {
|
||||||
|
play /var/vod;
|
||||||
|
}
|
||||||
|
|
||||||
|
# HLS
|
||||||
|
# Incoming stream must be in H264/AAC. For iPhones use baseline H264
|
||||||
|
# profile (see ffmpeg example).
|
||||||
|
# This example creates RTMP stream from movie ready for HLS:
|
||||||
|
#
|
||||||
|
# ffmpeg -loglevel verbose -re -i movie.avi -vcodec libx264
|
||||||
|
# -vprofile baseline -acodec libmp3lame -ar 44100 -ac 1
|
||||||
|
# -f flv rtmp://localhost:1935/hls/movie
|
||||||
|
#
|
||||||
|
# Example gstreamer pipeline:
|
||||||
|
# gst-launch-1.0 videotestsrc is-live=true ! timeoverlay ! x264enc
|
||||||
|
# byte-stream=true tune=zerolatency key-int-max=30 !
|
||||||
|
# "video/x-h264, profile=baseline" ! flvmux streamable=true !
|
||||||
|
# rtmpsink location=rtmp://localhost:1935/hls/live
|
||||||
|
#
|
||||||
|
# Playback url is http://localhost/hls/live.m3u8
|
||||||
|
|
||||||
|
application hls {
|
||||||
|
live on;
|
||||||
|
hls on;
|
||||||
|
hls_path /tmp/hls;
|
||||||
|
}
|
||||||
|
|
||||||
|
application dash {
|
||||||
|
live on;
|
||||||
|
dash on;
|
||||||
|
dash_path /tmp/dash;
|
||||||
|
}
|
||||||
|
|
||||||
|
# TV mode: one publisher, many subscribers
|
||||||
|
#application mytv {
|
||||||
|
|
||||||
|
# enable live streaming
|
||||||
|
#live on;
|
||||||
|
|
||||||
|
# record first 1K of stream
|
||||||
|
#record all;
|
||||||
|
#record_path /tmp/av;
|
||||||
|
#record_max_size 1K;
|
||||||
|
|
||||||
|
# append current timestamp to each flv
|
||||||
|
#record_unique on;
|
||||||
|
|
||||||
|
# publish only from localhost
|
||||||
|
#allow publish 127.0.0.1;
|
||||||
|
#deny publish all;
|
||||||
|
|
||||||
|
#allow play all;
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Transcoding (ffmpeg needed)
|
||||||
|
#application big {
|
||||||
|
#live on;
|
||||||
|
|
||||||
|
# On every pusblished stream run this command (ffmpeg)
|
||||||
|
# with substitutions: $app/${app}, $name/${name} for application & stream name.
|
||||||
|
#
|
||||||
|
# This ffmpeg call receives stream from this application &
|
||||||
|
# reduces the resolution down to 32x32. The stream is the published to
|
||||||
|
# 'small' application (see below) under the same name.
|
||||||
|
#
|
||||||
|
# ffmpeg can do anything with the stream like video/audio
|
||||||
|
# transcoding, resizing, altering container/codec params etc
|
||||||
|
#
|
||||||
|
# Multiple exec lines can be specified.
|
||||||
|
|
||||||
|
#exec ffmpeg -re -i rtmp://localhost:1935/$app/$name -vcodec flv -acodec copy -s 32x32
|
||||||
|
# -f flv rtmp://localhost:1935/small/${name};
|
||||||
|
#}
|
||||||
|
|
||||||
|
#application small {
|
||||||
|
#live on;
|
||||||
|
# Video with reduced resolution comes here from ffmpeg
|
||||||
|
#}
|
||||||
|
|
||||||
|
#application webcam {
|
||||||
|
#live on;
|
||||||
|
|
||||||
|
# Stream from local webcam
|
||||||
|
#exec_static ffmpeg -f video4linux2 -i /dev/video0 -c:v libx264 -an
|
||||||
|
# -f flv rtmp://localhost:1935/webcam/mystream;
|
||||||
|
#}
|
||||||
|
|
||||||
|
#application mypush {
|
||||||
|
# live on;
|
||||||
|
|
||||||
|
# Every stream published here
|
||||||
|
# is automatically pushed to
|
||||||
|
# these two machines
|
||||||
|
#push rtmp1.example.com;
|
||||||
|
#push rtmp2.example.com:1934;
|
||||||
|
#}
|
||||||
|
|
||||||
|
#application mypull {
|
||||||
|
#live on;
|
||||||
|
|
||||||
|
# Pull all streams from remote machine
|
||||||
|
# and play locally
|
||||||
|
#pull rtmp://rtmp3.example.com pageUrl=www.example.com/index.html;
|
||||||
|
#}
|
||||||
|
|
||||||
|
#application mystaticpull {
|
||||||
|
#live on;
|
||||||
|
|
||||||
|
# Static pull is started at nginx start
|
||||||
|
#pull rtmp://rtmp4.example.com pageUrl=www.example.com/index.html name=mystream static;
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Many publishers, many subscribers
|
||||||
|
# no checks, no recording
|
||||||
|
#application videochat {
|
||||||
|
|
||||||
|
#live on;
|
||||||
|
|
||||||
|
# The following notifications receive all
|
||||||
|
# the session variables as well as
|
||||||
|
# particular call arguments in HTTP POST
|
||||||
|
# request
|
||||||
|
|
||||||
|
# Make HTTP request & use HTTP retcode
|
||||||
|
# to decide whether to allow publishing
|
||||||
|
# from this connection or not
|
||||||
|
#on_publish http://localhost:8080/publish;
|
||||||
|
|
||||||
|
# Same with playing
|
||||||
|
#on_play http://localhost:8080/play;
|
||||||
|
|
||||||
|
# Publish/play end (repeats on disconnect)
|
||||||
|
#on_done http://localhost:8080/done;
|
||||||
|
|
||||||
|
# All above mentioned notifications receive
|
||||||
|
# standard connect() arguments as well as
|
||||||
|
# play/publish ones. If any arguments are sent
|
||||||
|
# with GET-style syntax to play & publish
|
||||||
|
# these are also included.
|
||||||
|
# Example URL:
|
||||||
|
# rtmp://localhost/myapp/mystream?a=b&c=d
|
||||||
|
|
||||||
|
# record 10 video keyframes (no audio) every 2 minutes
|
||||||
|
#record keyframes;
|
||||||
|
#record_path /tmp/vc;
|
||||||
|
#record_max_frames 10;
|
||||||
|
#record_interval 2m;
|
||||||
|
|
||||||
|
# Async notify about an flv recorded
|
||||||
|
#on_record_done http://localhost:8080/record_done;
|
||||||
|
|
||||||
|
#}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user