一段时间后停止录制

Pra*_*kar 18 command-line unity ffmpeg 12.04

我有一个使用网络摄像头录制视频的设备ffmpeg。它工作得很好,当录音开始时,我收到了 USR1 信号。停止录音后,我们会收到 USR2 信号。

但我想在 1 小时的录音时间后停止录音。

我不知道,但我想我必须在 1 小时后将 USR2 信号传递给设备。

那我该怎么办呢……!!!

提前致谢。

llo*_*gan 28

使用该-t选项。来自man ffmpeg

-t 持续时间(输入/输出)

当用作输入选项(before -i)时,限制从输入文件读取数据的持续时间

当用作输出选项时(在输出文件名之前),在其持续时间达到持续时间后停止写入输出。

duration必须是持续时间规范,请参阅ffmpeg-utils(1) 手册中的持续时间部分

-to-t互斥且-t具有优先权。

记录一小时的示例:

ffmpeg -f v4l2 -i /dev/video0 -t 01:00:00 output
Run Code Online (Sandbox Code Playgroud)

或在几秒钟内:

ffmpeg -f v4l2 -i /dev/video0 -t 3600 output
Run Code Online (Sandbox Code Playgroud)

  • `-t` 使用此处提供的 Time Duration 语法:https://ffmpeg.org/ffmpeg-utils.html#Time-duration (3认同)

Syl*_*eau 5

如果您从命令行运行 ffmpeg 或 avconv,则可以使用以下timeout命令:

timeout 3600 avconv -f video4linux2 -r 25 -i /dev/video0  -vcodec mpeg4 -y out.mp4
Run Code Online (Sandbox Code Playgroud)