чтобы отправить q
в работающий процесс ffmpeg, вы можете запустить ffmpeg в отдельном сеансе screen
, а затем отправить строку в сеанс.
#create a session
screen -d -m -S mysession
#prepare an ffmpeg command
cmd="ffmpeg -i input.avi output.mp4; exit"
#send the command to the session
screen -S mysession -p 0 -X stuff "$cmd^M"
#send the q string
screen -S mysession -p 0 -X stuff "q"
получил этот совет от https://serverfault.com/a/547144
Я уверен, что тебе это больше не нужно.Я просто наткнулся на ту же проблему и хотел поделиться ею.
Примечание: чтобы вставить это ^M
после $cmd
, вы должны нажать ctrl+v
, а затем enter
.exit
после того, как команда ffmpeg закрывает сеанс после завершения ffmpeg.