Executando o VLC a partir de um cronjob: Como obter uma conexão DBUS?

3

Estou tentando executar o VLC sem cabeça em um trabalho cron. A idéia é pegar imagens únicas de um fluxo RTSP a cada dois minutos e (mais tarde, e em outro script) conectá-las a uma máquina distante. A linha de comando que eu uso é (linebreaks adicionados para maior clareza):

vlc -I dummy rtsp://somesourceaddress/
--rate=1 --vout=dummy
--video-filter=scene --start-time=0 --stop-time=1 --scene-format=png --scene-prefix=img1 --scene-path=/tmp/ --scene-replace 
vlc://quit

No entanto, enquanto isso funciona lindamente a partir de uma janela de terminal dentro de uma sessão X, executar isso a partir do cron resulta na seguinte mensagem de erro:

[0x81d1154] inhibit interface error: Failed to connect to the D-Bus 
session daemon: Unable to autolaunch a dbus-daemon 
without a $DISPLAY for X11
[0x81d1154] main interface error: no suitable interface module
[0x81d15fc] main interface error: no suitable interface module
[0x80503fc] main libvlc error: interface "globalhotkeys,none" 
initialization failed
[0x81d15fc] dummy interface: using the dummy interface module...

Então, onde posso obter valores adequados para $ DISPLAY se não houver nenhum? Ou como posso criar a conexão DBUS manualmente?

    
por jstarek 07.03.2012 / 09:29

1 resposta

3

Esses erros são realmente fatais, ou seja, você ainda obtém a saída desejada?

  1. A mensagem de erro $DISPLAY provavelmente diz respeito apenas à inibição do protetor de tela , adicionando --no-disable-screensaver poderia resolvê-la (caso contrário, você pode ignorá-la, não é fatal). O VLC não deve precisar de uma conexão D-Bus para o que você está tentando fazer.
  2. Você também pode tentar usar cvlc , que aparentemente não usa nenhuma interface (isso parece estar relacionado).
por 07.03.2012 / 09:59