CentOS 7 - executando o FFMPEG como um serviço

0

Estou escrevendo alguns testes para um projeto de streaming de vídeo. Para verificar se transmito vídeo corretamente, configurei uma VM que executa um cliente de vídeo (por exemplo, ffmpeg / vlc) como um daemon. Eu quero que, no comando, o cliente se conecte ao servidor, exiba o vídeo e salve o vídeo em um arquivo.

Para fazer isso, eu configurei um serviço. Aqui está o meu arquivo .service:

[Unit]
Description=Video client for testing

[Service]
Type=simple
WorkingDirectory=/home/user/
ExecStart=client.sh
Restart=always

[Install]
WantedBy=default.target

Idealmente, quero que isso seja um serviço de usuário. Infelizmente, minha VM executa o CentOS 7, que não pode executar serviços de usuário . Como um serviço regular, o $ DISPLAY e o $ XAUTHORITY também precisam ser definidos, mas não encontrei nenhum script que os inicialize como no arco , por isso não acho que seja saudável configurá-los eu mesmo. Eu também não tenho certeza de como isso vai funcionar se o login não for automático. O script em si não funciona bem, mesmo com apenas salvar o vídeo e não abrir uma janela gráfica. Funciona bem ao lançá-lo

Estou pensando em executar o script a partir de um .profile, mas não gosto muito dessa ideia, parece estranho (ou, claro, se é mesmo uma boa opção). Outra opção seria configurar o script via SSH (por exemplo, usando paramiko - que requer dependências / scripts adicionais.

Eu realmente aprecio algumas sugestões / alternativas / formas de ação, já que eu não quero que isso aconteça demais.

Obrigado Joey.

    
por Joey 05.06.2018 / 14:07

1 resposta

0

O padrão que eu recomendo é não systemd , mas definir um usuário para fazer login automaticamente e usar o recurso "autostart" de seus desktops para iniciar automaticamente o VLC no login e começar a tentar transmitir o conteúdo.

Essa abordagem lidará com a configuração $ DISPLAY AND $ XAUTHORITY para você.

Esse padrão é comumente usado em projetos de quiosque do Raspberry Pi, em que os usuários desejam que um navegador automaticamente inicie e abra uma URL em tela cheia após a inicialização do dispositivo.

    
por 06.06.2018 / 14:58