diff options
author | Christian Pointner <equinox@spreadspace.org> | 2022-05-29 01:32:33 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2022-05-29 01:32:33 +0200 |
commit | 9714f9dfa1eea2264e8b6a02cd7e7d1a123e4730 (patch) | |
tree | 9424cd34097ca4576bbb4a11b93fa5c8ec71e602 /roles | |
parent | rtmp/streamer: move to new encoding scripts (diff) |
rename role rtmp/streamer to streamer/rtmp
Diffstat (limited to 'roles')
-rw-r--r-- | roles/streaming/rtmp/streamer/defaults/main.yml | 30 | ||||
-rw-r--r-- | roles/streaming/rtmp/streamer/tasks/main.yml | 45 | ||||
-rw-r--r-- | roles/streaming/streamer/rtmp/defaults/main.yml | 30 | ||||
-rw-r--r-- | roles/streaming/streamer/rtmp/tasks/main.yml | 45 | ||||
-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 |
6 files changed, 95 insertions, 95 deletions
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 %} |