blob: 329267bc55573de7f47b7e6cb3ddaf035d804d92 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
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 %}
|