Воспроизведение звука через pulseaudio на удалённой машине

$ cat nginx.conf
worker_processes 1;
error_log stderr;
daemon off;
pid nginx.pid;
events {}
rtmp {
    access_log access.log;
    server {
        listen 1935;
        application stream {
          interleave off;
          sync 50ms;
          live on;
          exec_static ./stream.sh;
          }
   }
}
$ cat ./stream.sh;
#!/bin/bash
# передаём окружение для pulse просто лень искать чего ей не хватает
export XDG_RUNTIME_DIR=/run/user/$UID
server="rtmp://192.168.1.3:1935/stream"
client="user@192.168.1.2"
# вывод на loop устройство, # modprobe snd_aloop если его у вас нету
sink=($(pactl list short sinks | grep 'loop'))
pacmd set-default-sink ${sink[0]}
# формируем то что хотим передать в частности звук с loop
ffmpeg -f pulse -i ${sink[1]}.monitor -tune zerolatency -preset veryfast -f flv $server &
# ну и запускаем в том месте где хотим
ssh $client ffplay -nodisp $server
$ nginx -c ./nginx.conf -p $PWD

минусы, нету синхронизации между клиентом и сервером вывести изображение на клиент, а звук на сервер нормально наверно не получится, по крайней мере у меня не получилось(
в остальном должны быть одни плюсы, тем более можно вывести изображение вместе со звуком)

p.s. забыл nginx нужен либо с коммерческой лицензией, ну либо можно собрать самому с rtmp модулем, в aur должен быть))
Ошибки в тексте-неповторимый стиль автора©
Как и ожидалось.
Случился кейс как раз для чего всё это и городилось.
Ну и разумеется, я про трансляцию звука забыл ;))
такие дела.
 
Зарегистрироваться или войдите чтобы оставить сообщение.