diff options
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 |