containers: - name: nginx image: registry.gitlab.com/spreadspace/docker/nginx:{{ streamer_rtmp_nginx_image_version }} imagePullPolicy: Always command: - nginx args: - -c - /srv/nginx.conf - -g - "daemon off;" ports: - containerPort: 1935 hostPort: {{ streamer_rtmp_port }} volumeMounts: - name: home mountPath: /srv readOnly: true - name: nginx-lib mountPath: /var/lib/nginx - name: source 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 streamer_rtmp_input %} - '{{ param }}' {% endfor %} env: - name: CONFIG_FILENAME value: /srv/config.yml - name: QUALITY_LEVELS value: {{ streamer_rtmp_quality_levels | join(',') }} - name: AUDIO_TRACKS value: {{ streamer_rtmp_audio_track }} {% if streamer_rtmp_video_filter_common is defined %} - name: VIDEO_FILTER_COMMON value: "{{ streamer_rtmp_video_filter_common }}" {% endif %} 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 {% for name, forward in streamer_rtmp_forwards.items() %} - name: "forward-{{ name }}" image: registry.gitlab.com/spreadspace/docker/ffmpeg:{{ streamer_rtmp_ffmpeg_image_version }} imagePullPolicy: Always command: - /usr/bin/ffmpeg args: - -f - live_flv - -rtmp_live - live - -i - 'rtmp://127.0.0.1/{{ streamer_rtmp_app_name }}/{{ forward.level }}' - -c:a - copy - -c:v - copy - -f - flv - '{{ forward.url }}' {% endfor %} {% if streamer_rtmp_recording is defined %} - name: record image: registry.gitlab.com/spreadspace/docker/ffmpeg:{{ streamer_rtmp_ffmpeg_image_version }} imagePullPolicy: Always command: - /usr/bin/ffmpeg args: - -f - live_flv - -rtmp_live - live - -i - 'rtmp://127.0.0.1/{{ streamer_rtmp_app_name }}/{{ streamer_rtmp_recording.level }}' - -c:a - copy - -c:v - copy - -f - segment - -segment_atclocktime - '1' - -segment_time - '{{ streamer_rtmp_recording.segment_time | default(3600) }}' - -segment_clocktime_offset - '{{ streamer_rtmp_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: "{{ streamer_rtmp_base_path }}/{{ streamer_rtmp_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 streamer_rtmp_recording is defined %} - name: recordings hostPath: type: Directory path: "{{ streamer_rtmp_base_path }}/{{ streamer_rtmp_inst_name }}/recordings" {% endif %}