From 7d134001fe95c0ee5e798f2d7cfd27162b76dd8c Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 20 Aug 2020 00:52:52 +0200 Subject: add new rtmp streamer role --- .../rtmp/streamer/templates/nginx.conf.j2 | 31 ++++++++++ .../rtmp/streamer/templates/pod-spec.yml.j2 | 69 ++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 roles/streaming/rtmp/streamer/templates/nginx.conf.j2 create mode 100644 roles/streaming/rtmp/streamer/templates/pod-spec.yml.j2 (limited to 'roles/streaming/rtmp/streamer/templates') diff --git a/roles/streaming/rtmp/streamer/templates/nginx.conf.j2 b/roles/streaming/rtmp/streamer/templates/nginx.conf.j2 new file mode 100644 index 00000000..61cdfd92 --- /dev/null +++ b/roles/streaming/rtmp/streamer/templates/nginx.conf.j2 @@ -0,0 +1,31 @@ +worker_processes 1; +pid /var/lib/nginx/nginx.pid; +error_log /dev/stderr info; + +include /etc/nginx/modules-enabled/*.conf; + +events { + worker_connections 768; + # multi_accept on; +} + +rtmp { + access_log /dev/null; + + server { + listen 1935; + + ping 10s; + ping_timeout 3s; + drop_idle_publisher 10s; + idle_streams off; + + application {{ rtmp_streamer_app_name }} { + live on; + meta copy; + + allow publish 127.0.0.1; + deny publish all; + } + } +} diff --git a/roles/streaming/rtmp/streamer/templates/pod-spec.yml.j2 b/roles/streaming/rtmp/streamer/templates/pod-spec.yml.j2 new file mode 100644 index 00000000..b4a6ee9d --- /dev/null +++ b/roles/streaming/rtmp/streamer/templates/pod-spec.yml.j2 @@ -0,0 +1,69 @@ +containers: +- name: nginx + image: registry.gitlab.com/spreadspace/docker/nginx:{{ rtmp_streamer_nginx_image_version }} + imagePullPolicy: Always + command: + - nginx + args: + - -c + - /srv/nginx.conf + - -g + - "daemon off;" + ports: + - containerPort: 1935 + hostPort: {{ rtmp_streamer_port }} + volumeMounts: + - name: home + mountPath: /srv + readOnly: true + - name: nginx-lib + mountPath: /var/lib/nginx + +- name: ffmpeg + image: registry.gitlab.com/spreadspace/docker/nginx:{{ rtmp_streamer_nginx_image_version }} + imagePullPolicy: Always + command: + - ffmpeg-decklink-rtmp.py + args: + - "{{ rtmp_streamer_decklink_card }}" +{% for level in rtmp_streamer_quality_levels %} + - {{ level }} +{% endfor %} + securityContext: + privileged: true + volumeMounts: + - name: home + mountPath: /srv + readOnly: true + - name: decklink-device + mountPath: /dev/blackmagic + - name: decklink-libs + subPath: libDeckLinkAPI.so + mountPath: /usr/lib/libDeckLinkAPI.so + readOnly: true + - name: decklink-libs + subPath: libDeckLinkPreviewAPI.so + mountPath: /usr/lib/libDeckLinkPreviewAPI.so + readOnly: true + - name: decklink-libs + subPath: blackmagic + mountPath: /usr/lib/blackmagic + readOnly: true + env: + - name: CONFIG_FILENAME + value: /srv/config.yml + +volumes: +- name: home + hostPath: + path: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}" +- name: nginx-lib + emptyDir: + medium: Memory +- name: decklink-device + hostPath: + path: /dev/blackmagic +- name: decklink-libs + hostPath: + type: Directory + path: /usr/lib/ -- cgit v1.2.3