在ffmpeg video segment命令中指定时间戳

Sou*_*mya 9 ffmpeg

我有一个来自网络摄像头的连续RTSP流.我想转储流但是在每个长度为1分钟的视频文件中.

我使用以下命令

ffmpeg -i "rtsp://user:pass@example.com"  -f mp4 -r 12 -s 640x480 -ar 44100 \
-ac 1 -segment_time 60 -segment_format mp4 "out%03d.mp4"
Run Code Online (Sandbox Code Playgroud)

正在创建的文件的名称是形式的out001.mp4,out002.mp4等等.

我想在文件段的名称中包含时间戳(小时和分钟),例如.09-30.mp4,09-31.mp4等等.

如果是强制性的,以该段提供一个序列号,是有可能得到类似的东西09-30-001.mp4,09-31-002.MP4?

rog*_*ack 11

看起来您需要添加"-f segment" 参数.这是strftime的一个例子:

 ffmpeg -i your_input -f segment -strftime 1 -segment_time 60 -segment_format mp4 out%Y-%m-%d_%H-%M-%S.mp4
Run Code Online (Sandbox Code Playgroud)

segment_time 60表示60秒,strftime 1表示"启用strftime名称"

对我来说,这个创建的文件的名称如下:

out2015-03-05_10-27-43.mp4

  • 带有`strftime`的段名称基于当前机器时间,而不是流时间 (2认同)