From 371faa43d92974dc09ea89b58796c4faf7db7616 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 29 May 2022 00:56:15 +0200 Subject: rtmp/streamer: move to new encoding scripts --- inventory/host_vars/ch-dione.yml | 8 ++++---- inventory/host_vars/ch-helene.yml | 8 ++++---- inventory/host_vars/ch-thetys.yml | 11 ++++------- inventory/host_vars/ele-dione.yml | 2 +- inventory/host_vars/ele-helene.yml | 3 ++- inventory/host_vars/ele-thetys.yml | 15 ++++++--------- inventory/host_vars/glt-dione.yml | 12 ++++-------- inventory/host_vars/glt-helene.yml | 10 +++------- inventory/host_vars/glt-thetys.yml | 16 +++++++--------- inventory/host_vars/s2-thetys.yml | 13 +++++++------ roles/streaming/rtmp/streamer/defaults/main.yml | 6 ++++-- roles/streaming/rtmp/streamer/tasks/main.yml | 2 +- .../rtmp/streamer/templates/pod-spec.yml.j2 | 21 ++++++++++++++------- 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 }}" -- cgit v1.2.3