Use a ativação do soquete sob demanda do systemd para iniciar o fluxo rtl_fm

0

Gostaria de iniciar rtl_fm sob demanda para uma determinada frequência com systemd no momento em que me conectei a uma determinada porta.

Exemplo:

rtl_fm -f 105000K -M fm -s 170k -A std -l 0 -E deemp -r 44.1k | \
ffmpeg -f s16le -ac 1 -i pipe:0 -acodec libmp3lame -ab 128k -f rtp rtp://127.0.0.1:51050

Idealmente, a porta deve ser variável e ser mapeada para a frequência.

Isso me permitiria ter um único serviço systemd que eu poderia usar para iniciar o fluxo e ouvir qualquer estação de rádio FM. (Claro, apenas um de cada vez, mas tudo bem para o meu caso de uso de mpd sendo o cliente)

Isso é possível com a ativação do soquete on-demand systemd ?

    
por yglodt 13.02.2017 / 21:23

1 resposta

0

Sim, provavelmente.

Se você pode fazer um serviço systemd para isso, você pode quase certamente tê-lo ativado via socket, ativando o socket ao invés do próprio serviço.

O comando a usar seria systemctl enable my_rtl_fm.socket em vez de systemctl enable my_rtl_fm.service

Eu uso isso para sshd e mpd em meus computadores, para economizar recursos quando eles não estão em uso.

    
por 14.02.2017 / 00:04