一定時間後に録音を停止します


10

Webカメラを使用してビデオを録画するデバイスがありますffmpeg。録音が開始されると、USR1信号が聞こえます。録音を停止した後、USR2信号を受信します。

しかし、私は1時間の記録時間後に記録を停止したい。

わかりませんが、1時間後にデバイスにUSR2信号を渡す必要があると思います。

どうすればこれを行うことができます... !!!

前もって感謝します。

回答:


21

-tオプションを使用します。からman ffmpeg

-t 期間(入力/出力)

入力オプション(の前-i)として使用する場合、入力ファイルから読み取るデータの期間を制限します。

(出力ファイル名の前に)出力オプションとして使用する場合は、期間がdurationに達した後に出力の書き込みを停止します。

durationは期間の指定である必要があります。ffmpeg-utils(1)マニュアル「期間」セクションを参照してください

-toそして、-t相互に排他的で、-t優先順位を持っています。

1時間記録する例:

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

または数秒で:

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

2
-tここで利用可能なTime Duration構文を使用します:ffmpeg.org/ffmpeg-utils.html#Time-duration
Hengjie

5

コマンドラインからffmpegまたはavconvを実行している場合、timeout次のコマンドを使用できます。

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

0

事前にタイムアウトを知っている場合は、指定されたメソッドを明確に使用する必要がありますが、本当にプロセスにシグナルを送信したい場合は、killコマンドを使用できます(TERMまたはKILLに90%使用されているにもかかわらず、任意のシグナルを送信できます- kill -s USR2 pid)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.