Bir süre sonra kaydı durdurun


13

Web kamerasını kullanarak video kaydeden bir cihazım var ffmpeg. Harika çalışıyor, kayıt başladığında USR1 sinyalini alıyorum. Kaydı durdurduktan sonra USR2 sinyalini alıyoruz.

Ama 1 saatlik kayıt süresinden sonra kaydı durdurmak istiyorum.

Bilmiyorum ama sanırım USR2 sinyalini 1 saat sonra cihaza iletmem gerekiyor.

Peki bunu nasıl yapabilirim ... !!!

Şimdiden teşekkürler.

Yanıtlar:


23

-tSeçeneği kullanın . Gönderen man ffmpeg:

-t süre (giriş / çıkış)

Giriş seçeneği olarak (daha önce -i) kullanıldığında, giriş dosyasından okunan verilerin süresini sınırlayın .

(Bir çıkış dosya adı öncesi) bir çıkış seçeneği olarak kullanıldığında, süresi ulaşır sonra çıkışını yazma durdurmak süresi .

süresi bir zaman süresi belirtimi olmalıdır , ffmpeg-utils (1) kılavuzundaki Zaman süresi bölümüne bakın .

-tove -tbirbirlerini dışlar ve -tönceliğe sahiptir.

Bir saat boyunca kayıt yapan örnek:

ffmpeg -f v4l2 -i /dev/video0 -t 01:00:00 output

Veya saniyeler içinde:

ffmpeg -f v4l2 -i /dev/video0 -t 3600 output

3
-tburada bulunan Zaman Süresi sözdizimini kullanır: ffmpeg.org/ffmpeg-utils.html#Time-duration
Hengjie

5

Komut satırından ffmpeg veya avconv çalıştırıyorsanız, şu komutu kullanabilirsiniz timeout:

timeout 3600 avconv -f video4linux2 -r 25 -i /dev/video0  -vcodec mpeg4 -y out.mp4

0

Zaman aşımını önceden biliyorsanız, kesin olarak verilen yöntemleri kullanmalısınız, ancak işleme gerçekten bir sinyal göndermek istiyorsanız kill komutunu kullanabilirsiniz (TERM veya KILL için% 90 kullanılmasına rağmen, HERHANGİ bir sinyal gönderebilirsiniz - kill -s USR2 pid)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.