summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--chaos-at-home/ch-dione.yml2
-rw-r--r--chaos-at-home/ch-helene.yml2
-rw-r--r--chaos-at-home/ch-thetys.yml2
-rw-r--r--dan/ele-thetys.yml2
-rw-r--r--inventory/host_vars/ch-dione.yml12
-rw-r--r--inventory/host_vars/ch-helene.yml12
-rw-r--r--inventory/host_vars/ch-thetys.yml12
-rw-r--r--inventory/host_vars/ele-thetys.yml18
-rw-r--r--inventory/host_vars/glt-dione.yml20
-rw-r--r--inventory/host_vars/glt-helene.yml20
-rw-r--r--inventory/host_vars/glt-thetys.yml22
-rw-r--r--inventory/host_vars/s2-thetys.yml14
-rw-r--r--roles/streaming/rtmp/streamer/defaults/main.yml30
-rw-r--r--roles/streaming/rtmp/streamer/tasks/main.yml45
-rw-r--r--roles/streaming/streamer/rtmp/defaults/main.yml30
-rw-r--r--roles/streaming/streamer/rtmp/tasks/main.yml45
-rw-r--r--roles/streaming/streamer/rtmp/templates/nginx.conf.j2 (renamed from roles/streaming/rtmp/streamer/templates/nginx.conf.j2)2
-rw-r--r--roles/streaming/streamer/rtmp/templates/pod-spec.yml.j2 (renamed from roles/streaming/rtmp/streamer/templates/pod-spec.yml.j2)38
-rw-r--r--spreadspace/glt-dione.yml2
-rw-r--r--spreadspace/glt-helene.yml2
-rw-r--r--spreadspace/glt-thetys.yml2
-rw-r--r--spreadspace/group_vars/glt-live.yml38
-rw-r--r--spreadspace/s2-thetys.yml2
23 files changed, 187 insertions, 187 deletions
diff --git a/chaos-at-home/ch-dione.yml b/chaos-at-home/ch-dione.yml
index 37abc259..05b85126 100644
--- a/chaos-at-home/ch-dione.yml
+++ b/chaos-at-home/ch-dione.yml
@@ -12,7 +12,7 @@
# - role: apt-repo/spreadspace
# - role: kubernetes/base
# - role: kubernetes/standalone/base
-# - role: streaming/rtmp/streamer
+# - role: streaming/streamer/rtmp
post_tasks:
- name: install lm-sensors and i7z
apt:
diff --git a/chaos-at-home/ch-helene.yml b/chaos-at-home/ch-helene.yml
index c5d4013f..62d4e6a4 100644
--- a/chaos-at-home/ch-helene.yml
+++ b/chaos-at-home/ch-helene.yml
@@ -12,7 +12,7 @@
# - role: apt-repo/spreadspace
# - role: kubernetes/base
# - role: kubernetes/standalone/base
-# - role: streaming/rtmp/streamer
+# - role: streaming/streamer/rtmp
post_tasks:
- name: install lm-sensors and i7z
apt:
diff --git a/chaos-at-home/ch-thetys.yml b/chaos-at-home/ch-thetys.yml
index 0ab7baa2..7c5a32b7 100644
--- a/chaos-at-home/ch-thetys.yml
+++ b/chaos-at-home/ch-thetys.yml
@@ -12,7 +12,7 @@
- role: apt-repo/spreadspace
- role: kubernetes/base
- role: kubernetes/standalone/base
- - role: streaming/rtmp/streamer
+ - role: streaming/streamer/rtmp
post_tasks:
- name: install lm-sensors and i7z
apt:
diff --git a/dan/ele-thetys.yml b/dan/ele-thetys.yml
index 8e7bb1d1..fc904a7f 100644
--- a/dan/ele-thetys.yml
+++ b/dan/ele-thetys.yml
@@ -14,7 +14,7 @@
- role: streaming/blackmagic/desktopvideo
- role: kubernetes/base
- role: kubernetes/standalone/base
- - role: streaming/rtmp/streamer
+ - role: streaming/streamer/rtmp
post_tasks:
- name: install lm-sensors and i7z
apt:
diff --git a/inventory/host_vars/ch-dione.yml b/inventory/host_vars/ch-dione.yml
index a9bcb4d0..a843d340 100644
--- a/inventory/host_vars/ch-dione.yml
+++ b/inventory/host_vars/ch-dione.yml
@@ -60,9 +60,9 @@ kubelet_storage:
# kubernetes_standalone_cni_variant: with-portmap
-# rtmp_streamer_base_path: /srv/storage/streamer
-# rtmp_streamer_inst_name: feed
-# rtmp_streamer_nginx_image_version: 2022-05-15.24
-# rtmp_streamer_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
-# rtmp_streamer_input: ['-f', 'decklink', '-format_code', 'Hp50', '-ac', '2', '-i', 'DeckLink 8K Pro (1)']
-# rtmp_streamer_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
+# streamer_rtmp_base_path: /srv/storage/streamer
+# streamer_rtmp_inst_name: feed
+# streamer_rtmp_nginx_image_version: 2022-05-15.24
+# streamer_rtmp_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
+# streamer_rtmp_input: ['-f', 'decklink', '-format_code', 'Hp50', '-ac', '2', '-i', 'DeckLink 8K Pro (1)']
+# streamer_rtmp_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
diff --git a/inventory/host_vars/ch-helene.yml b/inventory/host_vars/ch-helene.yml
index bf39a423..e6d06a1c 100644
--- a/inventory/host_vars/ch-helene.yml
+++ b/inventory/host_vars/ch-helene.yml
@@ -60,9 +60,9 @@ kubelet_storage:
# kubernetes_standalone_cni_variant: with-portmap
-# rtmp_streamer_base_path: /srv/storage/streamer
-# rtmp_streamer_inst_name: feed
-# rtmp_streamer_nginx_image_version: 2022-05-15.24
-# rtmp_streamer_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
-# rtmp_streamer_input: ['-f', 'decklink', '-format_code', 'Hp50', '-ac', '2', '-i', 'DeckLink SDI 4K']
-# rtmp_streamer_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
+# streamer_rtmp_base_path: /srv/storage/streamer
+# streamer_rtmp_inst_name: feed
+# streamer_rtmp_nginx_image_version: 2022-05-15.24
+# streamer_rtmp_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
+# streamer_rtmp_input: ['-f', 'decklink', '-format_code', 'Hp50', '-ac', '2', '-i', 'DeckLink SDI 4K']
+# streamer_rtmp_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
diff --git a/inventory/host_vars/ch-thetys.yml b/inventory/host_vars/ch-thetys.yml
index 0f0fcef7..8602ef34 100644
--- a/inventory/host_vars/ch-thetys.yml
+++ b/inventory/host_vars/ch-thetys.yml
@@ -53,9 +53,9 @@ kubernetes_standalone_max_pods: 42
kubernetes_standalone_cni_variant: with-portmap
-rtmp_streamer_base_path: /srv/storage/streamer
-rtmp_streamer_inst_name: feed
-rtmp_streamer_nginx_image_version: 2022-05-15.24
-rtmp_streamer_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
-rtmp_streamer_input: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink Mini Recorder']
-rtmp_streamer_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
+streamer_rtmp_base_path: /srv/storage/streamer
+streamer_rtmp_inst_name: feed
+streamer_rtmp_nginx_image_version: 2022-05-15.24
+streamer_rtmp_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
+streamer_rtmp_input: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink Mini Recorder']
+streamer_rtmp_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
diff --git a/inventory/host_vars/ele-thetys.yml b/inventory/host_vars/ele-thetys.yml
index a04e69df..e6191a2d 100644
--- a/inventory/host_vars/ele-thetys.yml
+++ b/inventory/host_vars/ele-thetys.yml
@@ -63,19 +63,19 @@ kubernetes_standalone_max_pods: 42
kubernetes_standalone_cni_variant: with-portmap
-rtmp_streamer_storage:
+streamer_rtmp_storage:
type: lvm
vg: storage
lv: streamer
size: 400G
fs: ext4
-rtmp_streamer_base_path: /srv/streamer
-rtmp_streamer_inst_name: emc-test
-rtmp_streamer_nginx_image_version: 2022-05-15.24
-rtmp_streamer_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
-rtmp_streamer_input: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink Mini Recorder']
-rtmp_streamer_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
-
-rtmp_streamer_recording:
+streamer_rtmp_base_path: /srv/streamer
+streamer_rtmp_inst_name: emc-test
+streamer_rtmp_nginx_image_version: 2022-05-15.24
+streamer_rtmp_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
+streamer_rtmp_input: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink Mini Recorder']
+streamer_rtmp_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
+
+streamer_rtmp_recording:
level: full
segment_size: 3600
diff --git a/inventory/host_vars/glt-dione.yml b/inventory/host_vars/glt-dione.yml
index aa54f4ed..829fa1e9 100644
--- a/inventory/host_vars/glt-dione.yml
+++ b/inventory/host_vars/glt-dione.yml
@@ -53,24 +53,24 @@ kubernetes_standalone_max_pods: 42
kubernetes_standalone_cni_variant: with-portmap
-rtmp_streamer_storage:
+streamer_rtmp_storage:
type: lvm
vg: "{{ host_name }}"
lv: streamer
size: 200G
fs: ext4
-rtmp_streamer_base_path: /srv/streamer
-rtmp_streamer_inst_name: feed-glt21s1
-rtmp_streamer_nginx_image_version: 2022-05-15.24
-rtmp_streamer_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
-rtmp_streamer_input: ['-f', 'decklink', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink 8K Pro (1)']
-rtmp_streamer_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
+streamer_rtmp_base_path: /srv/streamer
+streamer_rtmp_inst_name: feed-glt21s1
+streamer_rtmp_nginx_image_version: 2022-05-15.24
+streamer_rtmp_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
+streamer_rtmp_input: ['-f', 'decklink', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink 8K Pro (1)']
+streamer_rtmp_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
-rtmp_streamer_recording:
+streamer_rtmp_recording:
level: full
segment_size: 3600
segment_clocktime_offset: 3300
-rtmp_streamer_forwards:
+streamer_rtmp_forwards:
c3voc:
- url: "rtmp://ingest.c3voc.de/stream/glt21s1?auth={{ vault_rtmp_streamer_forward_keys.c3voc.glt21s1 }}"
+ url: "rtmp://ingest.c3voc.de/stream/glt21s1?auth={{ vault_streamer_rtmp_forward_keys.c3voc.glt21s1 }}"
level: full
diff --git a/inventory/host_vars/glt-helene.yml b/inventory/host_vars/glt-helene.yml
index 809c9774..fed0edac 100644
--- a/inventory/host_vars/glt-helene.yml
+++ b/inventory/host_vars/glt-helene.yml
@@ -53,24 +53,24 @@ kubernetes_standalone_max_pods: 42
kubernetes_standalone_cni_variant: with-portmap
-rtmp_streamer_storage:
+streamer_rtmp_storage:
type: lvm
vg: "{{ host_name }}"
lv: streamer
size: 200G
fs: ext4
-rtmp_streamer_base_path: /srv/streamer
-rtmp_streamer_inst_name: feed-glt21s2
-rtmp_streamer_nginx_image_version: 2022-05-15.24
-rtmp_streamer_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
-rtmp_streamer_input: ['-f', 'decklink', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink SDI 4K']
-rtmp_streamer_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
+streamer_rtmp_base_path: /srv/streamer
+streamer_rtmp_inst_name: feed-glt21s2
+streamer_rtmp_nginx_image_version: 2022-05-15.24
+streamer_rtmp_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
+streamer_rtmp_input: ['-f', 'decklink', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink SDI 4K']
+streamer_rtmp_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
-rtmp_streamer_recording:
+streamer_rtmp_recording:
level: full
segment_size: 3600
segment_clocktime_offset: 3300
-rtmp_streamer_forwards:
+streamer_rtmp_forwards:
c3voc:
- url: "rtmp://ingest.c3voc.de/stream/glt21s2?auth={{ vault_rtmp_streamer_forward_keys.c3voc.glt21s2 }}"
+ url: "rtmp://ingest.c3voc.de/stream/glt21s2?auth={{ vault_streamer_rtmp_forward_keys.c3voc.glt21s2 }}"
level: full
diff --git a/inventory/host_vars/glt-thetys.yml b/inventory/host_vars/glt-thetys.yml
index e75466ac..0540db27 100644
--- a/inventory/host_vars/glt-thetys.yml
+++ b/inventory/host_vars/glt-thetys.yml
@@ -59,24 +59,24 @@ kubernetes_standalone_max_pods: 42
kubernetes_standalone_cni_variant: with-portmap
-rtmp_streamer_storage:
+streamer_rtmp_storage:
type: lvm
vg: storage
lv: streamer
size: 400G
fs: ext4
-rtmp_streamer_base_path: /srv/streamer
-rtmp_streamer_inst_name: feed-glt21s3
-rtmp_streamer_nginx_image_version: 2022-05-15.24
-rtmp_streamer_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
-rtmp_streamer_input: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink Mini Recorder']
-rtmp_streamer_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
-
-rtmp_streamer_recording:
+streamer_rtmp_base_path: /srv/streamer
+streamer_rtmp_inst_name: feed-glt21s3
+streamer_rtmp_nginx_image_version: 2022-05-15.24
+streamer_rtmp_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
+streamer_rtmp_input: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink Mini Recorder']
+streamer_rtmp_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
+
+streamer_rtmp_recording:
level: full
segment_size: 3600
segment_clocktime_offset: 3300
-rtmp_streamer_forwards:
+streamer_rtmp_forwards:
c3voc:
- url: "rtmp://ingest.c3voc.de/stream/glt21s3?auth={{ vault_rtmp_streamer_forward_keys.c3voc.glt21s3 }}"
+ url: "rtmp://ingest.c3voc.de/stream/glt21s3?auth={{ vault_streamer_rtmp_forward_keys.c3voc.glt21s3 }}"
level: full
diff --git a/inventory/host_vars/s2-thetys.yml b/inventory/host_vars/s2-thetys.yml
index a8a320b6..f2298d98 100644
--- a/inventory/host_vars/s2-thetys.yml
+++ b/inventory/host_vars/s2-thetys.yml
@@ -68,13 +68,13 @@ zfs_pools:
mountpoint: /srv/storage
create_vdevs: /dev/disk/by-id/ata-WDC_WD5000LPVX-22V0TT0_WD-WX81AB371127-part1
-rtmp_streamer_base_path: /srv/storage/streamer
-rtmp_streamer_inst_name: feed
-rtmp_streamer_nginx_image_version: 2022-05-15.24
-rtmp_streamer_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
-rtmp_streamer_input: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink Mini Recorder']
-rtmp_streamer_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
-rtmp_streamer_recording:
+streamer_rtmp_base_path: /srv/storage/streamer
+streamer_rtmp_inst_name: feed
+streamer_rtmp_nginx_image_version: 2022-05-15.24
+streamer_rtmp_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
+streamer_rtmp_input: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink Mini Recorder']
+streamer_rtmp_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
+streamer_rtmp_recording:
level: full
diff --git a/roles/streaming/rtmp/streamer/defaults/main.yml b/roles/streaming/rtmp/streamer/defaults/main.yml
deleted file mode 100644
index 196951d0..00000000
--- a/roles/streaming/rtmp/streamer/defaults/main.yml
+++ /dev/null
@@ -1,30 +0,0 @@
----
-# rtmp_streamer_storage:
-# type: (lvm|zfs)
-# ...
-rtmp_streamer_base_path: /srv/rtmp/streamer
-
-rtmp_streamer_port: 1935
-# rtmp_streamer_inst_name: feed
-# rtmp_streamer_nginx_image_version: 2022-05-15.24
-# rtmp_streamer_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
-# rtmp_streamer_input: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink Mini Recorder']
-# rtmp_streamer_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
-rtmp_streamer_app_name: "{{ rtmp_streamer_inst_name }}"
-rtmp_streamer_audio_track: orig
-rtmp_streamer_quality_levels:
- - full
-
-rtmp_streamer_config: {}
-
-
-rtmp_streamer_forwards: {}
-# example:
-# url: rtmp://ingest.example.com/foo/secret
-# level: full
-
-
-# rtmp_streamer_recording:
-# level: full
-# segment_time: 7200
-# segment_clocktime_offset: 0
diff --git a/roles/streaming/rtmp/streamer/tasks/main.yml b/roles/streaming/rtmp/streamer/tasks/main.yml
deleted file mode 100644
index bb50846c..00000000
--- a/roles/streaming/rtmp/streamer/tasks/main.yml
+++ /dev/null
@@ -1,45 +0,0 @@
----
-- name: prepare rtmp-streamer storage volume
- when: rtmp_streamer_storage is defined
- vars:
- storage_volume: "{{ rtmp_streamer_storage | combine({'dest': rtmp_streamer_base_path}) }}"
- include_role:
- name: "storage/{{ rtmp_streamer_storage.type }}/volume"
-
-- name: create rtmp-streamer instance directory
- file:
- path: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}"
- state: directory
-
-- name: generate nginx config
- template:
- src: nginx.conf.j2
- dest: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}/nginx.conf"
-
-- name: generate streamer config
- copy:
- content: "{{ rtmp_streamer_config | combine({'rtmp': {'base_url': 'rtmp://127.0.0.1/'+rtmp_streamer_app_name}}) | to_nice_yaml }}\n"
- dest: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}/config.yml"
-
-- name: create recording directory
- when: rtmp_streamer_recording is defined
- file:
- path: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}/recordings"
- state: directory
- owner: app
- group: app
-
-- name: install pod manifest
- vars:
- kubernetes_standalone_pod:
- name: "rtmp-streamer-{{ rtmp_streamer_inst_name }}"
- spec: "{{ lookup('template', 'pod-spec.yml.j2') }}"
- config_hash_items:
- - path: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}/nginx.conf"
- properties:
- - checksum
- - path: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}/config.yml"
- properties:
- - checksum
- include_role:
- name: kubernetes/standalone/pod
diff --git a/roles/streaming/streamer/rtmp/defaults/main.yml b/roles/streaming/streamer/rtmp/defaults/main.yml
new file mode 100644
index 00000000..82b16b67
--- /dev/null
+++ b/roles/streaming/streamer/rtmp/defaults/main.yml
@@ -0,0 +1,30 @@
+---
+# streamer_rtmp_storage:
+# type: (lvm|zfs)
+# ...
+streamer_rtmp_base_path: /srv/streamer/rtmp
+
+streamer_rtmp_port: 1935
+# streamer_rtmp_inst_name: feed
+# streamer_rtmp_nginx_image_version: 2022-05-15.24
+# streamer_rtmp_ffmpeg_image_version: bullseye-decklink11.7-2022-05-28.17
+# streamer_rtmp_input: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i', 'DeckLink Mini Recorder']
+# streamer_rtmp_video_filter_common: "colorspace=iall=bt709:irange=tv:all=bt709:range=tv:format=yuv420p,setdar=dar=16/9"
+streamer_rtmp_app_name: "{{ streamer_rtmp_inst_name }}"
+streamer_rtmp_audio_track: orig
+streamer_rtmp_quality_levels:
+ - full
+
+streamer_rtmp_config: {}
+
+
+streamer_rtmp_forwards: {}
+# example:
+# url: rtmp://ingest.example.com/foo/secret
+# level: full
+
+
+# streamer_rtmp_recording:
+# level: full
+# segment_time: 7200
+# segment_clocktime_offset: 0
diff --git a/roles/streaming/streamer/rtmp/tasks/main.yml b/roles/streaming/streamer/rtmp/tasks/main.yml
new file mode 100644
index 00000000..9259fbd4
--- /dev/null
+++ b/roles/streaming/streamer/rtmp/tasks/main.yml
@@ -0,0 +1,45 @@
+---
+- name: prepare rtmp-streamer storage volume
+ when: streamer_rtmp_storage is defined
+ vars:
+ storage_volume: "{{ streamer_rtmp_storage | combine({'dest': streamer_rtmp_base_path}) }}"
+ include_role:
+ name: "storage/{{ streamer_rtmp_storage.type }}/volume"
+
+- name: create rtmp-streamer instance directory
+ file:
+ path: "{{ streamer_rtmp_base_path }}/{{ streamer_rtmp_inst_name }}"
+ state: directory
+
+- name: generate nginx config
+ template:
+ src: nginx.conf.j2
+ dest: "{{ streamer_rtmp_base_path }}/{{ streamer_rtmp_inst_name }}/nginx.conf"
+
+- name: generate streamer config
+ copy:
+ content: "{{ streamer_rtmp_config | combine({'rtmp': {'base_url': 'rtmp://127.0.0.1/'+streamer_rtmp_app_name}}) | to_nice_yaml }}\n"
+ dest: "{{ streamer_rtmp_base_path }}/{{ streamer_rtmp_inst_name }}/config.yml"
+
+- name: create recording directory
+ when: streamer_rtmp_recording is defined
+ file:
+ path: "{{ streamer_rtmp_base_path }}/{{ streamer_rtmp_inst_name }}/recordings"
+ state: directory
+ owner: app
+ group: app
+
+- name: install pod manifest
+ vars:
+ kubernetes_standalone_pod:
+ name: "rtmp-streamer-{{ streamer_rtmp_inst_name }}"
+ spec: "{{ lookup('template', 'pod-spec.yml.j2') }}"
+ config_hash_items:
+ - path: "{{ streamer_rtmp_base_path }}/{{ streamer_rtmp_inst_name }}/nginx.conf"
+ properties:
+ - checksum
+ - path: "{{ streamer_rtmp_base_path }}/{{ streamer_rtmp_inst_name }}/config.yml"
+ properties:
+ - checksum
+ include_role:
+ name: kubernetes/standalone/pod
diff --git a/roles/streaming/rtmp/streamer/templates/nginx.conf.j2 b/roles/streaming/streamer/rtmp/templates/nginx.conf.j2
index 2b778af2..37e7aa84 100644
--- a/roles/streaming/rtmp/streamer/templates/nginx.conf.j2
+++ b/roles/streaming/streamer/rtmp/templates/nginx.conf.j2
@@ -21,7 +21,7 @@ rtmp {
idle_streams off;
max_message 4M;
- application {{ rtmp_streamer_app_name }} {
+ application {{ streamer_rtmp_app_name }} {
live on;
meta copy;
diff --git a/roles/streaming/rtmp/streamer/templates/pod-spec.yml.j2 b/roles/streaming/streamer/rtmp/templates/pod-spec.yml.j2
index 9d0e7bad..301b4f33 100644
--- a/roles/streaming/rtmp/streamer/templates/pod-spec.yml.j2
+++ b/roles/streaming/streamer/rtmp/templates/pod-spec.yml.j2
@@ -1,6 +1,6 @@
containers:
- name: nginx
- image: registry.gitlab.com/spreadspace/docker/nginx:{{ rtmp_streamer_nginx_image_version }}
+ image: registry.gitlab.com/spreadspace/docker/nginx:{{ streamer_rtmp_nginx_image_version }}
imagePullPolicy: Always
command:
- nginx
@@ -11,7 +11,7 @@ containers:
- "daemon off;"
ports:
- containerPort: 1935
- hostPort: {{ rtmp_streamer_port }}
+ hostPort: {{ streamer_rtmp_port }}
volumeMounts:
- name: home
mountPath: /srv
@@ -20,24 +20,24 @@ containers:
mountPath: /var/lib/nginx
- name: source
- image: registry.gitlab.com/spreadspace/docker/ffmpeg:{{ rtmp_streamer_ffmpeg_image_version }}
+ image: registry.gitlab.com/spreadspace/docker/ffmpeg:{{ streamer_rtmp_ffmpeg_image_version }}
imagePullPolicy: Always
command:
- /usr/local/bin/generic-rtmp.py
args:
-{% for param in rtmp_streamer_input %}
+{% for param in streamer_rtmp_input %}
- '{{ param }}'
{% endfor %}
env:
- name: CONFIG_FILENAME
value: /srv/config.yml
- name: QUALITY_LEVELS
- value: {{ rtmp_streamer_quality_levels | join(',') }}
+ value: {{ streamer_rtmp_quality_levels | join(',') }}
- name: AUDIO_TRACKS
- value: {{ rtmp_streamer_audio_track }}
-{% if rtmp_streamer_video_filter_common is defined %}
+ value: {{ streamer_rtmp_audio_track }}
+{% if streamer_rtmp_video_filter_common is defined %}
- name: VIDEO_FILTER_COMMON
- value: "{{ rtmp_streamer_video_filter_common }}"
+ value: "{{ streamer_rtmp_video_filter_common }}"
{% endif %}
securityContext:
privileged: true
@@ -60,9 +60,9 @@ containers:
mountPath: /usr/lib/blackmagic
readOnly: true
-{% for name, forward in rtmp_streamer_forwards.items() %}
+{% for name, forward in streamer_rtmp_forwards.items() %}
- name: "forward-{{ name }}"
- image: registry.gitlab.com/spreadspace/docker/ffmpeg:{{ rtmp_streamer_ffmpeg_image_version }}
+ image: registry.gitlab.com/spreadspace/docker/ffmpeg:{{ streamer_rtmp_ffmpeg_image_version }}
imagePullPolicy: Always
command:
- /usr/bin/ffmpeg
@@ -72,7 +72,7 @@ containers:
- -rtmp_live
- live
- -i
- - "rtmp://127.0.0.1/{{ rtmp_streamer_app_name }}/{{ forward.level }}"
+ - "rtmp://127.0.0.1/{{ streamer_rtmp_app_name }}/{{ forward.level }}"
- -c:a
- copy
- -c:v
@@ -82,9 +82,9 @@ containers:
- "{{ forward.url }}"
{% endfor %}
-{% if rtmp_streamer_recording is defined %}
+{% if streamer_rtmp_recording is defined %}
- name: record
- image: registry.gitlab.com/spreadspace/docker/ffmpeg:{{ rtmp_streamer_ffmpeg_image_version }}
+ image: registry.gitlab.com/spreadspace/docker/ffmpeg:{{ streamer_rtmp_ffmpeg_image_version }}
imagePullPolicy: Always
command:
- /usr/bin/ffmpeg
@@ -94,7 +94,7 @@ containers:
- -rtmp_live
- live
- -i
- - 'rtmp://127.0.0.1/{{ rtmp_streamer_app_name }}/{{ rtmp_streamer_recording.level }}'
+ - 'rtmp://127.0.0.1/{{ streamer_rtmp_app_name }}/{{ streamer_rtmp_recording.level }}'
- -c:a
- copy
- -c:v
@@ -104,9 +104,9 @@ containers:
- -segment_atclocktime
- '1'
- -segment_time
- - '{{ rtmp_streamer_recording.segment_time | default(3600) }}'
+ - '{{ streamer_rtmp_recording.segment_time | default(3600) }}'
- -segment_clocktime_offset
- - '{{ rtmp_streamer_recording.segment_clocktime_offset | default(0) }}'
+ - '{{ streamer_rtmp_recording.segment_clocktime_offset | default(0) }}'
- -strftime
- '1'
- -reset_timestamps
@@ -124,7 +124,7 @@ containers:
volumes:
- name: home
hostPath:
- path: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}"
+ path: "{{ streamer_rtmp_base_path }}/{{ streamer_rtmp_inst_name }}"
- name: nginx-lib
emptyDir:
medium: Memory
@@ -135,9 +135,9 @@ volumes:
hostPath:
type: Directory
path: /usr/lib/
-{% if rtmp_streamer_recording is defined %}
+{% if streamer_rtmp_recording is defined %}
- name: recordings
hostPath:
type: Directory
- path: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}/recordings"
+ path: "{{ streamer_rtmp_base_path }}/{{ streamer_rtmp_inst_name }}/recordings"
{% endif %}
diff --git a/spreadspace/glt-dione.yml b/spreadspace/glt-dione.yml
index 4c0d9329..733ba861 100644
--- a/spreadspace/glt-dione.yml
+++ b/spreadspace/glt-dione.yml
@@ -12,7 +12,7 @@
- role: streaming/blackmagic/desktopvideo
- role: kubernetes/base
- role: kubernetes/standalone/base
- - role: streaming/rtmp/streamer
+ - role: streaming/streamer/rtmp
post_tasks:
- name: install lm-sensors and i7z
apt:
diff --git a/spreadspace/glt-helene.yml b/spreadspace/glt-helene.yml
index 032af506..516eaae7 100644
--- a/spreadspace/glt-helene.yml
+++ b/spreadspace/glt-helene.yml
@@ -12,7 +12,7 @@
- role: streaming/blackmagic/desktopvideo
- role: kubernetes/base
- role: kubernetes/standalone/base
- - role: streaming/rtmp/streamer
+ - role: streaming/streamer/rtmp
post_tasks:
- name: install lm-sensors and i7z
apt:
diff --git a/spreadspace/glt-thetys.yml b/spreadspace/glt-thetys.yml
index 36c157bb..0193ed6e 100644
--- a/spreadspace/glt-thetys.yml
+++ b/spreadspace/glt-thetys.yml
@@ -13,7 +13,7 @@
- role: streaming/blackmagic/desktopvideo
- role: kubernetes/base
- role: kubernetes/standalone/base
- - role: streaming/rtmp/streamer
+ - role: streaming/streamer/rtmp
post_tasks:
- name: install lm-sensors and i7z
apt:
diff --git a/spreadspace/group_vars/glt-live.yml b/spreadspace/group_vars/glt-live.yml
index 22f76510..c3acc3db 100644
--- a/spreadspace/group_vars/glt-live.yml
+++ b/spreadspace/group_vars/glt-live.yml
@@ -1,20 +1,20 @@
$ANSIBLE_VAULT;1.2;AES256;spreadspace
-62343938663563626336646661646632343862643634616437346133643835323262333031373862
-6136383265343132386434316536303563623434353565340a353163663561396537356664323335
-65353135363133643362376238326132616130353261623431353530653762623266383464386561
-3639353231373831390a613537306465353664643661343362656539396538666432363066363861
-32316336663633663261356230653338616635353333663338386630363534646634663565613838
-37666463333737373637653230633663633733653934653836626261373761383061633535623063
-31623238633839373433313566646439336165323538383432653232663832356139353436636637
-66356165663833653931363338633965366230633035323862366439643565646139333535323265
-61316163313630653735666230346362366238656633396239313030326632333035636234363939
-34636638633039626264616266656363353363363063336531326333356438636363303161376438
-33306636303634313961616531353234376335366436303764653364623836613934356434346266
-30666132666163613735333934623537336463373039663964346564353434306133663635343538
-37383864623239373634636561356632306266646531636530356236346139333061633533613330
-64336662636363616138383532383064313331373336383862383034643764303130653130346334
-31326461666163346237336165376662666434306265333633373064363136313833343830373266
-65623333636137376138336531306331393164366639343638666564316166646131356464666664
-62303837393637313739346664363066326631646630376665326431306461316630323133323264
-32653663366165643564323436666134363666663039626666383737323237346466303436353237
-376533613362323531643062356532633934
+38636362363330663663313064613361323466333236656166303266343666626135313830363065
+6231383766616637626564666265386464343437666434660a393130616566306364623134313138
+61333064663033393063323335616265386164383233666434326137646236346334386439656265
+6565653465383364300a396639353965313365616261346166336565333762376634376463366264
+38343064336635333364353064653731376362616236653732376365336565303163663434373862
+39376530393839653965336134623633656161373531383439613936656338633332623564643862
+38626638326632643265633134343162653064323564356365343535386664333133316537336337
+31326166643535306439333838653264636265356432636336303165376533393763643966656266
+33613465303931376335333763613034636236393762353139336433383434333965336336626361
+32396464353837353332653031336165343063303634653531323838653766386363336234626530
+39316532343738623336373265616239653139643135613338643466663839383432636533346632
+62636164343730646633633534373038663536323163333835653862343463376464303135386330
+36373539303136663264306136333538636666633238653334366539653737333536616363646666
+61336630383763633634363539393238396635653963373162656436346430323762303138313437
+65616235346430353036333934646236363438666663353632343238313335343533653432626137
+36646135666636376665643030636135646236353333613761613533366533623661373234323766
+31366230373331363038326134323634333536316339613632313365356635363061396666373632
+62623133653562376562373035656363363961306264336438383564653839353636316232343966
+663135326231386530636236633835663562
diff --git a/spreadspace/s2-thetys.yml b/spreadspace/s2-thetys.yml
index bebbd164..f7b4fc1f 100644
--- a/spreadspace/s2-thetys.yml
+++ b/spreadspace/s2-thetys.yml
@@ -14,4 +14,4 @@
- role: streaming/blackmagic/desktopvideo
- role: kubernetes/base
- role: kubernetes/standalone/base
- - role: streaming/rtmp/streamer
+ - role: streaming/streamer/rtmp