У меня есть устройство что, записывая видео с помощью веб-камеры с ffmpeg
. Это работает отлично, когда запись запускается, я получаю сигнал USR1. И после останавливания записи мы получаем сигнал USR2.
Но я хочу остановить запись после времени записи 1 часа.
Я не знаю, но я думаю, что должен передать сигнал USR2 устройству после 1 часа.
Таким образом, как может я делать это...!!!
Заранее спасибо.
Используйте -t
опция. От man ffmpeg
:
-t
продолжительность (ввод/вывод), Когда используется в качестве входной опции (перед
-i
), ограничьте продолжительность из данных, считанных из входного файла., Когда используется в качестве выходной опции (перед выходным именем файла), прекратите писать вывод после того, как его продолжительность достигнет продолжительность .
продолжительность должна быть спецификацией продолжительности времени, видеть раздел продолжительности Времени в ffmpeg-utils (1) руководство.
-to
и-t
являются взаимоисключающими, и-t
имеет приоритет.
Пример:
ffmpeg -f v4l2 -i /dev/video0 -t 01:00:00 output
При выполнении ffmpeg или avconv из командной строки Вы могли бы использовать эти timeout
команда:
timeout 3600 avconv -f video4linux2 -r 25 -i /dev/video0 -vcodec mpeg4 -y out.mp4
Если Вы знаете заранее тайм-аут, необходимо определенно использовать данные методы, однако, если Вы действительно хотите отправить сигнал в процесс, можно использовать эти , уничтожают команда (несмотря на то, чтобы быть используемым 90% для ТЕРМИНА, или УНИЧТОЖЬТЕ, может отправить, ЛЮБОЙ сигнал - уничтожают-s USR2 pid)