LINUX.ORG.RU
ФорумAdmin

monit - запуск программы (ffmpeg) в фоне

 , ,


0

1

Привет!

Может сталкивался кто-то с такой ситуацией:

запускаю ffmpeg так (в одну строку, перенос для удобства чтения):

/bin/ffmpeg -loglevel verbose -re -fix_sub_duration -i 'тут ссылка на поток'  
-c:a copy 
-c:v copy 
-c:s copy 
-metadata:s:s:0 language=rus
 -f mpegts 'udp://y.y.y.y:zzzz?localaddr=x.x.x.x&pkt_size=1316&ttl=32&buffer_size=1000000&bitrate=4500000'
 > /dev/null 2>&1 < /dev/null &. 

Всё ок, ffmpeg в фоне запускается, работает, запуск возвращает PID в ответ.

Переношу в конфиг monit в таком же виде (таймаут в конце на всякий случай):

check process ffmpeg
matching "ffmpeg"
start program = "/bin/ffmpeg -loglevel verbose -re -fix_sub_duration -i 'тут ссылка на поток' 
-c:a copy 
-c:v copy 
-c:s copy 
-metadata:s:s:0 language=rus 
-f mpegts 'udp://y.y.y.y:zzzz?localaddr=x.x.x.x&pkt_size=1316&ttl=32&buffer_size=1000000&bitrate=4500000'
 > /dev/null 2>&1 < /dev/null & " with timeout 20 seconds

Стартую monit, процесс ffmprg мониторится, всё ок.

Если завершить ffmpeg, monit это видит, пытается стартануть ffmpeg но в monit status - Execution failed | Does not exist. Есть какое-то решение средствами самого monit, без внешних скриптов?