containers: - name: nginx image: registry.gitlab.com/spreadspace/docker/nginx:{{ rtmp_streamer_nginx_image_version }} imagePullPolicy: Always command: - nginx args: - -c - /srv/nginx.conf - -g - "daemon off;" ports: - containerPort: 1935 hostPort: {{ rtmp_streamer_port }} volumeMounts: - name: home mountPath: /srv readOnly: true - name: nginx-lib mountPath: /var/lib/nginx - name: source image: registry.gitlab.com/spreadspace/docker/nginx:{{ rtmp_streamer_nginx_image_version }} imagePullPolicy: Always command: - ffmpeg-decklink-rtmp.py args: - "{{ rtmp_streamer_decklink_card }}" {% for level in rtmp_streamer_quality_levels %} - {{ level }} {% endfor %} securityContext: privileged: true volumeMounts: - name: home mountPath: /srv readOnly: true - name: decklink-device mountPath: /dev/blackmagic - name: decklink-libs subPath: libDeckLinkAPI.so mountPath: /usr/lib/libDeckLinkAPI.so readOnly: true - name: decklink-libs subPath: libDeckLinkPreviewAPI.so mountPath: /usr/lib/libDeckLinkPreviewAPI.so readOnly: true - name: decklink-libs 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 }}" image: registry.gitlab.com/spreadspace/docker/nginx:{{ rtmp_streamer_nginx_image_version }} imagePullPolicy: Always command: - /usr/bin/ffmpeg args: - -f - live_flv - -rtmp_live - live - -i - "rtmp://127.0.0.1/{{ rtmp_streamer_app_name }}/{{ forward.level }}" - -c:a - copy - -c:v - copy - -f - flv - "{{ forward.url }}" {% endfor %} {% if rtmp_streamer_recording is defined %} - name: record image: registry.gitlab.com/spreadspace/docker/nginx:{{ rtmp_streamer_nginx_image_version }} imagePullPolicy: Always command: - /usr/bin/ffmpeg args: - -f - live_flv - -rtmp_live - live - -i - 'rtmp://127.0.0.1/{{ rtmp_streamer_app_name }}/{{ rtmp_streamer_recording.level }}' - -c:a - copy - -c:v - copy - -f - segment - -segment_atclocktime - '1' - -segment_time - '{{ rtmp_streamer_recording.segment_time | default(3600) }}' - -segment_clocktime_offset - '{{ rtmp_streamer_recording.segment_clocktime_offset | default(0) }}' - -strftime - '1' - -reset_timestamps - '1' - '%Y-%m-%d_%H-%M-%S.mkv' workingDir: /srv/recordings volumeMounts: - name: home mountPath: /srv readOnly: true - name: recordings mountPath: /srv/recordings {% endif %} volumes: - name: home hostPath: path: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}" - name: nginx-lib emptyDir: medium: Memory - name: decklink-device hostPath: path: /dev/blackmagic - name: decklink-libs hostPath: type: Directory path: /usr/lib/ {% if rtmp_streamer_recording is defined %} - name: recordings hostPath: type: Directory path: "{{ rtmp_streamer_base_path }}/{{ rtmp_streamer_inst_name }}/recordings" {% endif %}