forked from hacc/haccfiles
stuebinm
ae67b38304
however, for some reason, ACME still fails. Hopefully it's just the rate limit, but it does look suspicious; there' still a "www.muc.hacc.space" in the log that oughtn't be there …
2.5 KiB
2.5 KiB
Technik PCS 3.0
Legende:
Bekannte Latenzen:
von | bis | Latenz |
---|---|---|
Übersetzer*in |
/audio |
ca. 1s |
/audio |
OBS |
ca. 4-5s |
[1] Service: rec-<CHANNEL>.service
.venv/bin/python3 -m c3lingo_mumble.recv_stdout mumble.octycs.eu <CHANNEL> | \
ffmpeg -re -fflags nobuffer -probesize 32 -f s16le -ac 1 -ar 48000 -i pipe:0 \
-filter_complex pan=7.1|BL=c0[a] -map [a] -c:a aac -ac 8 -ar 44100 \
-f flv rtmp://localhost:1935/audio/<CHANNEL>
[2] Datei: /opt/forwarder.sh
ffmpeg -fflags nobuffer \
-i rtmp://localhost:1935/input/$1 -c:v copy \
-filter_complex "[a:0]pan=7.1|FL=c0|FR=c0" -c:a aac -ac 8 -ar 44100 \
-f flv rtmp://localhost:1935/output/$1
[3] (Bisher nur zwei Sprachen) Datei: /opt/splitter.sh
ffmpeg -re -fflags nobuffer \
-i rtmp://localhost:1935/split_in/live \
-filter_complex \
"[0:a]pan=stereo|c0=c0|c1=c1,aresample=async=1000[a0];
[0:a]pan=stereo|c0=0.02*c0+0.98*c4|c1=0.02*c1+0.98*c4,aresample=async=1000[a1]" \
-map 0:v -copyts -start_at_zero -vcodec copy \
-map [a0] -c:a aac -ac 2 \
-f flv rtmp://a.rtmp.youtube.com/live2/<Stream-Key-DE> \
-map 0:v -copyts -start_at_zero -vcodec copy \
-map [a1] -c:a aac -ac 2 \
-f flv rtmp://a.rtmp.youtube.com/live2/<Stream-Key-EN>
[4] Die Streams von /input
und /output
sind funktional gleich, nur dass das Video bei /output
8 Kanäle hat und deswegen in OBS alle Kanäle angezeigt werden. Das ist nur relevant, falls die Kanäle in OBS anders gemixt werden mit dem rematrix Plugin. Im Zweifel
Es scheint OBS hat Probleme mit Mono input im 7.1 Modus, deswegen besser /input
nehmen./output
nehmen. (Sollte das nicht möglich sein: unter Advanced Audio Properties
das Häkchen bei Downmix to Mono
aktivieren.)
Z.B. dann so konfiguriert in Nginx RTMP
application input {
live on;
exec /opt/forwarder.sh $name;
exec_kill_signal term;
record all;
record_path /opt/rec;
record_suffix -%Y-%m-%dT%T.flv;
}
und dann in /opt/forwarder.sh
:
#!/bin/bash
on_die() {
pkill -KILL -P $$
}
trap 'on_die' TERM
ffmpeg -fflags nobuffer \
-i rtmp://localhost:1935/input/$1 -c:v copy \
-filter_complex "[a:0]pan=7.1|FL=c0|FR=c0" -c:a aac -ac 8 -ar 44100 \
-f flv rtmp://localhost:1935/output/$1 &
wait