summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2021-04-03 00:06:41 +0200
committerChristian Pointner <equinox@spreadspace.org>2021-04-03 00:06:41 +0200
commit1d944045d137d2e3e5bf8e51d70b3b51113fa795 (patch)
tree1e5631b91475b1b294958747918f617095270c3b
parentglt: test higher feed bitrates to c3voc (diff)
enable recording to glt-dione and glt-helene
-rw-r--r--inventory/host_vars/glt-dione.yml16
-rw-r--r--inventory/host_vars/glt-helene.yml14
-rw-r--r--roles/streaming/rtmp/streamer/defaults/main.yml2
-rw-r--r--roles/streaming/rtmp/streamer/tasks/lvm.yml18
-rw-r--r--roles/streaming/rtmp/streamer/tasks/main.yml8
-rw-r--r--roles/streaming/rtmp/streamer/tasks/zfs.yml14
6 files changed, 67 insertions, 5 deletions
diff --git a/inventory/host_vars/glt-dione.yml b/inventory/host_vars/glt-dione.yml
index 6cb1afe7..a02a4af6 100644
--- a/inventory/host_vars/glt-dione.yml
+++ b/inventory/host_vars/glt-dione.yml
@@ -65,14 +65,24 @@ kubernetes_container_runtime: docker
kubernetes_standalone_max_pods: 42
kubernetes_standalone_cni_variant: with-portmap
+
+rtmp_streamer_lvm:
+ vg: "{{ host_name }}"
+ lv: streamer
+ size: 200G
+ fs: ext4
+
rtmp_streamer_base_path: /srv/streamer
-rtmp_streamer_inst_name: feed
+rtmp_streamer_inst_name: feed-glt21s2
rtmp_streamer_nginx_image_version: 2021-02-24.20
rtmp_streamer_decklink_card: "DeckLink 8K Pro (1)"
rtmp_streamer_config:
- input_params: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i']
+ input_params: ['-f', 'decklink', '-format_code', 'Hp25', '-ac', '2', '-i']
+ quality_levels:
+ full:
+ vbitrate: 7000
-rtmp_streamer_recording_enabled: no
+rtmp_streamer_recording_enabled: yes
rtmp_streamer_forwards:
c3voc:
url: "rtmp://ingest.c3voc.de/stream/glt21s2?auth={{ vault_rtmp_streamer_forward_keys.c3voc.glt21s2 }}"
diff --git a/inventory/host_vars/glt-helene.yml b/inventory/host_vars/glt-helene.yml
index 1ae03afe..20625b66 100644
--- a/inventory/host_vars/glt-helene.yml
+++ b/inventory/host_vars/glt-helene.yml
@@ -65,14 +65,24 @@ kubernetes_container_runtime: docker
kubernetes_standalone_max_pods: 42
kubernetes_standalone_cni_variant: with-portmap
+
+rtmp_streamer_lvm:
+ vg: "{{ host_name }}"
+ lv: streamer
+ size: 200G
+ fs: ext4
+
rtmp_streamer_base_path: /srv/streamer
-rtmp_streamer_inst_name: feed
+rtmp_streamer_inst_name: feed-glt21s3
rtmp_streamer_nginx_image_version: 2021-02-24.20
rtmp_streamer_decklink_card: "DeckLink SDI 4K"
rtmp_streamer_config:
input_params: ['-f', 'decklink', '-format_code', 'Hp25', '-ac', '2', '-i']
+ quality_levels:
+ full:
+ vbitrate: 7000
-rtmp_streamer_recording_enabled: no
+rtmp_streamer_recording_enabled: yes
rtmp_streamer_forwards:
c3voc:
url: "rtmp://ingest.c3voc.de/stream/glt21s3?auth={{ vault_rtmp_streamer_forward_keys.c3voc.glt21s3 }}"
diff --git a/roles/streaming/rtmp/streamer/defaults/main.yml b/roles/streaming/rtmp/streamer/defaults/main.yml
index fc9f644f..c471e5da 100644
--- a/roles/streaming/rtmp/streamer/defaults/main.yml
+++ b/roles/streaming/rtmp/streamer/defaults/main.yml
@@ -1,4 +1,6 @@
---
+# rtmp_streamer_lvm:
+# rtmp_streamer_zfs:
rtmp_streamer_base_path: /srv/rtmp/streamer
rtmp_streamer_port: 1935
diff --git a/roles/streaming/rtmp/streamer/tasks/lvm.yml b/roles/streaming/rtmp/streamer/tasks/lvm.yml
new file mode 100644
index 00000000..c92d8384
--- /dev/null
+++ b/roles/streaming/rtmp/streamer/tasks/lvm.yml
@@ -0,0 +1,18 @@
+---
+- name: create logical volume
+ lvol:
+ vg: "{{ rtmp_streamer_lvm.vg }}"
+ lv: "{{ rtmp_streamer_lvm.lv }}"
+ size: "{{ rtmp_streamer_lvm.size }}"
+
+- name: create filesystem
+ filesystem:
+ fstype: "{{ rtmp_streamer_lvm.fs }}"
+ dev: "/dev/mapper/{{ rtmp_streamer_lvm.vg | replace('-', '--') }}-{{ rtmp_streamer_lvm.lv | replace('-', '--') }}"
+
+- name: mount filesytem
+ mount:
+ src: "/dev/mapper/{{ rtmp_streamer_lvm.vg | replace('-', '--') }}-{{ rtmp_streamer_lvm.lv | replace('-', '--') }}"
+ path: "{{ rtmp_streamer_base_path }}"
+ fstype: "{{ rtmp_streamer_lvm.fs }}"
+ state: mounted
diff --git a/roles/streaming/rtmp/streamer/tasks/main.yml b/roles/streaming/rtmp/streamer/tasks/main.yml
index e63bbdce..9c3dd9d6 100644
--- a/roles/streaming/rtmp/streamer/tasks/main.yml
+++ b/roles/streaming/rtmp/streamer/tasks/main.yml
@@ -1,4 +1,12 @@
---
+- name: prepare rtmp-streamer base path as LVM
+ when: rtmp_streamer_lvm is defined
+ import_tasks: lvm.yml
+
+- name: prepare rtmp-streamer base path as ZFS dataset
+ when: rtmp_streamer_zfs is defined
+ import_tasks: zfs.yml
+
- name: create rtmp-streamer instance directory
file:
path: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}"
diff --git a/roles/streaming/rtmp/streamer/tasks/zfs.yml b/roles/streaming/rtmp/streamer/tasks/zfs.yml
new file mode 100644
index 00000000..74889cbc
--- /dev/null
+++ b/roles/streaming/rtmp/streamer/tasks/zfs.yml
@@ -0,0 +1,14 @@
+---
+- name: create zfs dataset
+ zfs:
+ name: "{{ rtmp_streamer_zfs.pool }}/{{ rtmp_streamer_zfs.name }}"
+ state: present
+ extra_zfs_properties: "{{ rtmp_streamer_zfs.properties | default(omit) }}"
+
+- name: bind mount filesytem
+ mount:
+ src: "{{ zfs_pools[rtmp_streamer_zfs.pool].mountpoint }}/{{ rtmp_streamer_zfs.name }}"
+ path: "{{ rtmp_streamer_base_path }}"
+ fstype: none
+ opts: bind,x-systemd.automount,nofail
+ state: mounted