Остановите запись после некоторого промежутка времени

У меня есть устройство что, записывая видео с помощью веб-камеры с ffmpeg. Это работает отлично, когда запись запускается, я получаю сигнал USR1. И после останавливания записи мы получаем сигнал USR2.

Но я хочу остановить запись после времени записи 1 часа.

Я не знаю, но я думаю, что должен передать сигнал USR2 устройству после 1 часа.

Таким образом, как может я делать это...!!!

Заранее спасибо.

12
задан 11 August 2015 в 02:23

3 ответа

Используйте -t опция. От man ffmpeg:

-t продолжительность (ввод/вывод)

, Когда используется в качестве входной опции (перед -i), ограничьте продолжительность из данных, считанных из входного файла.

, Когда используется в качестве выходной опции (перед выходным именем файла), прекратите писать вывод после того, как его продолжительность достигнет продолжительность .

продолжительность должна быть спецификацией продолжительности времени, видеть раздел продолжительности Времени в ffmpeg-utils (1) руководство.

-to и -t являются взаимоисключающими, и -t имеет приоритет.

Пример:

ffmpeg -f v4l2 -i /dev/video0 -t 01:00:00 output
22
ответ дан 23 November 2019 в 03:31

При выполнении ffmpeg или avconv из командной строки Вы могли бы использовать эти timeout команда:

timeout 3600 avconv -f video4linux2 -r 25 -i /dev/video0  -vcodec mpeg4 -y out.mp4
5
ответ дан 23 November 2019 в 03:31

Если Вы знаете заранее тайм-аут, необходимо определенно использовать данные методы, однако, если Вы действительно хотите отправить сигнал в процесс, можно использовать эти , уничтожают команда (несмотря на то, чтобы быть используемым 90% для ТЕРМИНА, или УНИЧТОЖЬТЕ, может отправить, ЛЮБОЙ сигнал - уничтожают-s USR2 pid)

0
ответ дан 23 November 2019 в 03:31

Другие вопросы по тегам:

Похожие вопросы: