MacOS – How to schedule VLC recording with cron

cronmacosvlc

I've created the following crontab:

0/5 * * * * /Applications/VLC.app/Contents/MacOS/VLC -I rc rtp://@xxx.xxx.xxx.xxx:5050 --sout='#transcode{vcodec=h264,vb=2048,acodec=mp3,ab=192,deinterlace}:standard{mux=ts,access=file{no-overwrite},dst=/Users/me/Pictures/video.ts}' --run-time=10 --play-and-exit >> /tmp/log.txt 2>&1

But in result log.txt contains the following text –

[00000001002300c8] [cli] lua interface: Listening on host "*console".
VLC media player 2.2.0 Weatherwax
Command Line Interface initialized. Type `help' for help.
> Shutting down.
[00000001002300c8] [cli] lua interface: Requested shutdown.

and empty (0 bytes) video.ts.

What is wrong here?

Best Answer

You're using the rc (remote control) interface, which expects input on the command line - i.e., expects and interactive session.

From cron try the dummy interface:

0/5 * * * * /Applications/VLC.app/Contents/MacOS/VLC -I dummy rtp://@xxx.xxx.xxx.xxx:5050 --sout='#transcode{vcodec=h264,vb=2048,acodec=mp3,ab=192,deinterlace}:standard{mux=ts,access=file{no-overwrite},dst=/Users/me/Pictures/video.ts}' --run-time=10 --play-and-exit >> /tmp/log.txt 2>&1