summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2022-05-29 00:56:15 +0200
committerChristian Pointner <equinox@spreadspace.org>2022-05-29 00:56:15 +0200
commit371faa43d92974dc09ea89b58796c4faf7db7616 (patch)
tree597c1cc9b664350c3df52d05780194c782369101
parentrtmp/streamer: increase max message size (diff)
rtmp/streamer: move to new encoding scripts
-rw-r--r--inventory/host_vars/ch-dione.yml8
-rw-r--r--inventory/host_vars/ch-helene.yml8
-rw-r--r--inventory/host_vars/ch-thetys.yml11
-rw-r--r--inventory/host_vars/ele-dione.yml2
-rw-r--r--inventory/host_vars/ele-helene.yml3
-rw-r--r--inventory/host_vars/ele-thetys.yml15
-rw-r--r--inventory/host_vars/glt-dione.yml12
-rw-r--r--inventory/host_vars/glt-helene.yml10
-rw-r--r--inventory/host_vars/glt-thetys.yml16
-rw-r--r--inventory/host_vars/s2-thetys.yml13
-rw-r--r--roles/streaming/rtmp/streamer/defaults/main.yml6
-rw-r--r--roles/streaming/rtmp/streamer/tasks/main.yml2
-rw-r--r--roles/streaming/rtmp/streamer/templates/pod-spec.yml.j221
13 files changed, 61 insertions, 66 deletions
diff --git a/inventory/host_vars/ch-dione.yml b/inventory/host_vars/ch-dione.yml
index 662b497f..a9bcb4d0 100644
--- a/inventory/host_vars/ch-dione.yml
+++ b/inventory/host_vars/ch-dione.yml
@@ -27,6 +27,7 @@ apt_repo_components:
spreadspace_apt_repo_components:
- container
+
blackmagic_desktopvideo_version: 12.2.2a6
blackmagic_desktopvideo_include_gui: yes
@@ -62,7 +63,6 @@ kubelet_storage:
# 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-15.13
-# rtmp_streamer_decklink_card: "DeckLink 8K Pro (1)"
-# rtmp_streamer_config:
-# input_params: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp50', '-ac', '2', '-i']
+# 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"
diff --git a/inventory/host_vars/ch-helene.yml b/inventory/host_vars/ch-helene.yml
index cf14e89d..bf39a423 100644
--- a/inventory/host_vars/ch-helene.yml
+++ b/inventory/host_vars/ch-helene.yml
@@ -27,6 +27,7 @@ apt_repo_components:
spreadspace_apt_repo_components:
- container
+
blackmagic_desktopvideo_version: 12.2.2a6
blackmagic_desktopvideo_include_gui: yes
@@ -62,7 +63,6 @@ kubelet_storage:
# 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-15.13
-# rtmp_streamer_decklink_card: "DeckLink SDI 4K"
-# rtmp_streamer_config:
-# input_params: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp50', '-ac', '2', '-i']
+# 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"
diff --git a/inventory/host_vars/ch-thetys.yml b/inventory/host_vars/ch-thetys.yml
index d77364ea..0f0fcef7 100644
--- a/inventory/host_vars/ch-thetys.yml
+++ b/inventory/host_vars/ch-thetys.yml
@@ -27,6 +27,7 @@ apt_repo_components:
spreadspace_apt_repo_components:
- container
+
blackmagic_desktopvideo_version: 12.2.2a6
blackmagic_desktopvideo_include_gui: yes
@@ -55,10 +56,6 @@ 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-15.13
-rtmp_streamer_decklink_card: "DeckLink Mini Recorder"
-rtmp_streamer_config:
- input_params: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i']
-# input_params: ['-f', 'decklink', '-video_pts', 'wallclock', '-audio_pts', 'wallclock', '-video_input', 'hdmi', '-format_code', 'Hp25', '-ac', '2', '-i']
-# input_params: ['-copyts', '-f', 'decklink', '-video_pts', 'abs_wallclock', '-audio_pts', 'abs_wallclock', '-video_input', 'hdmi', '-format_code', 'Hp25', '-ac', '2', '-i']
-# input_params: ['-copyts', '-f', 'decklink', '-decklink_copyts', '1', '-video_input', 'hdmi', '-format_code', 'Hp25', '-ac', '2', '-i']
+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"
diff --git a/inventory/host_vars/ele-dione.yml b/inventory/host_vars/ele-dione.yml
index 751fe338..59420d8d 100644
--- a/inventory/host_vars/ele-dione.yml
+++ b/inventory/host_vars/ele-dione.yml
@@ -65,5 +65,5 @@ ntp_server:
- "{{ kubeguard.direct_net_zones.encoder.transfer_net }}"
-blackmagic_desktopvideo_version: 11.7a12
+blackmagic_desktopvideo_version: 12.2.2a6
blackmagic_desktopvideo_include_gui: yes
diff --git a/inventory/host_vars/ele-helene.yml b/inventory/host_vars/ele-helene.yml
index dd749fbf..2e4f8f6c 100644
--- a/inventory/host_vars/ele-helene.yml
+++ b/inventory/host_vars/ele-helene.yml
@@ -60,5 +60,6 @@ ntp_hwtimestamp_interfaces:
- name: "*"
-blackmagic_desktopvideo_version: 11.7a12
+
+blackmagic_desktopvideo_version: 12.2.2a6
blackmagic_desktopvideo_include_gui: yes
diff --git a/inventory/host_vars/ele-thetys.yml b/inventory/host_vars/ele-thetys.yml
index 59545f8b..a04e69df 100644
--- a/inventory/host_vars/ele-thetys.yml
+++ b/inventory/host_vars/ele-thetys.yml
@@ -1,5 +1,6 @@
---
system_lvm_volume_size_root: 3G
+
install:
efi: true
disks:
@@ -36,7 +37,7 @@ lvm_groups:
- /dev/disk/by-id/ata-WDC_WD5000LPVX-22V0TT0_WD-WX81AB371127-part1
-blackmagic_desktopvideo_version: 11.7a12
+blackmagic_desktopvideo_version: 12.2.2a6
blackmagic_desktopvideo_include_gui: yes
@@ -56,7 +57,7 @@ kubelet_storage:
size: 5G
fs: ext4
-kubernetes_version: 1.22.5
+kubernetes_version: 1.24.0
kubernetes_container_runtime: docker
kubernetes_standalone_max_pods: 42
kubernetes_standalone_cni_variant: with-portmap
@@ -71,13 +72,9 @@ rtmp_streamer_storage:
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-15.13
-rtmp_streamer_decklink_card: "DeckLink Mini Recorder"
-rtmp_streamer_config:
- input_params: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i']
- quality_levels:
- full:
- vbitrate: 5000
+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:
level: full
diff --git a/inventory/host_vars/glt-dione.yml b/inventory/host_vars/glt-dione.yml
index 2cf44bb1..aa54f4ed 100644
--- a/inventory/host_vars/glt-dione.yml
+++ b/inventory/host_vars/glt-dione.yml
@@ -28,7 +28,7 @@ spreadspace_apt_repo_components:
- container
-blackmagic_desktopvideo_version: 11.7a12
+blackmagic_desktopvideo_version: 12.2.2a6
blackmagic_desktopvideo_include_gui: yes
docker_pkg_provider: docker-com
@@ -62,13 +62,9 @@ rtmp_streamer_storage:
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-15.13
-rtmp_streamer_decklink_card: "DeckLink 8K Pro (1)"
-rtmp_streamer_config:
- input_params: ['-f', 'decklink', '-format_code', 'Hp25', '-ac', '2', '-i']
- quality_levels:
- full:
- vbitrate: 5000
+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"
rtmp_streamer_recording:
level: full
diff --git a/inventory/host_vars/glt-helene.yml b/inventory/host_vars/glt-helene.yml
index 84bd9eee..809c9774 100644
--- a/inventory/host_vars/glt-helene.yml
+++ b/inventory/host_vars/glt-helene.yml
@@ -62,13 +62,9 @@ rtmp_streamer_storage:
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-15.13
-rtmp_streamer_decklink_card: "DeckLink SDI 4K"
-rtmp_streamer_config:
- input_params: ['-f', 'decklink', '-format_code', 'Hp25', '-ac', '2', '-i']
- quality_levels:
- full:
- vbitrate: 5000
+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"
rtmp_streamer_recording:
level: full
diff --git a/inventory/host_vars/glt-thetys.yml b/inventory/host_vars/glt-thetys.yml
index 072f68ce..e75466ac 100644
--- a/inventory/host_vars/glt-thetys.yml
+++ b/inventory/host_vars/glt-thetys.yml
@@ -1,5 +1,6 @@
---
system_lvm_volume_size_root: 3G
+
install:
efi: true
disks:
@@ -33,11 +34,11 @@ lvm_groups:
- /dev/disk/by-id/ata-WDC_WD5000LPVX-22V0TT0_WD-WX81AB371127-part1
-blackmagic_desktopvideo_version: 11.7a12
+blackmagic_desktopvideo_version: 12.2.2a6
blackmagic_desktopvideo_include_gui: yes
-docker_pkg_provider: docker-com
+docker_pkg_provider: docker-com
docker_storage:
type: lvm
vg: "{{ host_name }}"
@@ -66,13 +67,10 @@ rtmp_streamer_storage:
fs: ext4
rtmp_streamer_base_path: /srv/streamer
rtmp_streamer_inst_name: feed-glt21s3
-rtmp_streamer_nginx_image_version: 2021-02-24.20
-rtmp_streamer_decklink_card: "DeckLink Mini Recorder"
-rtmp_streamer_config:
- input_params: ['-f', 'decklink', '-video_input', 'sdi', '-format_code', 'Hp25', '-ac', '2', '-i']
- quality_levels:
- full:
- vbitrate: 5000
+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:
level: full
diff --git a/inventory/host_vars/s2-thetys.yml b/inventory/host_vars/s2-thetys.yml
index cd655006..a8a320b6 100644
--- a/inventory/host_vars/s2-thetys.yml
+++ b/inventory/host_vars/s2-thetys.yml
@@ -1,4 +1,6 @@
---
+system_lvm_volume_size_root: 3G
+
install:
efi: true
disks:
@@ -32,11 +34,11 @@ spreadspace_apt_repo_components:
- container
-blackmagic_desktopvideo_version: 11.7a12
+blackmagic_desktopvideo_version: 12.2.2a6
+blackmagic_desktopvideo_include_gui: yes
docker_pkg_provider: docker-com
-
docker_storage:
type: lvm
vg: "{{ host_name }}"
@@ -69,12 +71,11 @@ zfs_pools:
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-15.13
-rtmp_streamer_decklink_card: "DeckLink Mini Recorder"
+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:
level: full
-rtmp_streamer_config:
- input_params: ['-f', 'decklink', '-format_code', 'Hp25', '-ac', '2', '-i']
wireguard_p2p_interface:
diff --git a/roles/streaming/rtmp/streamer/defaults/main.yml b/roles/streaming/rtmp/streamer/defaults/main.yml
index d4222f8b..196951d0 100644
--- a/roles/streaming/rtmp/streamer/defaults/main.yml
+++ b/roles/streaming/rtmp/streamer/defaults/main.yml
@@ -7,9 +7,11 @@ 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-15.13
-# rtmp_streamer_decklink_card: "DeckLink Mini Recorder"
+# 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
diff --git a/roles/streaming/rtmp/streamer/tasks/main.yml b/roles/streaming/rtmp/streamer/tasks/main.yml
index 1715bdf9..bb50846c 100644
--- a/roles/streaming/rtmp/streamer/tasks/main.yml
+++ b/roles/streaming/rtmp/streamer/tasks/main.yml
@@ -18,7 +18,7 @@
- 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"
+ 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
diff --git a/roles/streaming/rtmp/streamer/templates/pod-spec.yml.j2 b/roles/streaming/rtmp/streamer/templates/pod-spec.yml.j2
index 5f97d9b8..9d0e7bad 100644
--- a/roles/streaming/rtmp/streamer/templates/pod-spec.yml.j2
+++ b/roles/streaming/rtmp/streamer/templates/pod-spec.yml.j2
@@ -23,12 +23,22 @@ containers:
image: registry.gitlab.com/spreadspace/docker/ffmpeg:{{ rtmp_streamer_ffmpeg_image_version }}
imagePullPolicy: Always
command:
- - ffmpeg-decklink-rtmp.py
+ - /usr/local/bin/generic-rtmp.py
args:
- - "{{ rtmp_streamer_decklink_card }}"
-{% for level in rtmp_streamer_quality_levels %}
- - {{ level }}
+{% for param in rtmp_streamer_input %}
+ - '{{ param }}'
{% endfor %}
+ env:
+ - name: CONFIG_FILENAME
+ value: /srv/config.yml
+ - name: QUALITY_LEVELS
+ value: {{ rtmp_streamer_quality_levels | join(',') }}
+ - name: AUDIO_TRACKS
+ value: {{ rtmp_streamer_audio_track }}
+{% if rtmp_streamer_video_filter_common is defined %}
+ - name: VIDEO_FILTER_COMMON
+ value: "{{ rtmp_streamer_video_filter_common }}"
+{% endif %}
securityContext:
privileged: true
volumeMounts:
@@ -49,9 +59,6 @@ containers:
subPath: blackmagic
mountPath: /usr/lib/blackmagic
readOnly: true
- env:
- - name: CONFIG_FILENAME
- value: /srv/config.yml
{% for name, forward in rtmp_streamer_forwards.items() %}
- name: "forward-{{ name }}"