Webカメラを使用してビデオを録画するデバイスがありますffmpeg
。録音が開始されると、USR1信号が聞こえます。録音を停止した後、USR2信号を受信します。
しかし、私は1時間の記録時間後に記録を停止したい。
わかりませんが、1時間後にデバイスにUSR2信号を渡す必要があると思います。
どうすればこれを行うことができます... !!!
前もって感謝します。
Webカメラを使用してビデオを録画するデバイスがありますffmpeg
。録音が開始されると、USR1信号が聞こえます。録音を停止した後、USR2信号を受信します。
しかし、私は1時間の記録時間後に記録を停止したい。
わかりませんが、1時間後にデバイスにUSR2信号を渡す必要があると思います。
どうすればこれを行うことができます... !!!
前もって感謝します。
回答:
-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
事前にタイムアウトを知っている場合は、指定されたメソッドを明確に使用する必要がありますが、本当にプロセスにシグナルを送信したい場合は、killコマンドを使用できます(TERMまたはKILLに90%使用されているにもかかわらず、任意のシグナルを送信できます- kill -s USR2 pid)
-t
ここで利用可能なTime Duration構文を使用します:ffmpeg.org/ffmpeg-utils.html#Time-duration