ffmpeg 1秒30帧并写出时间
时间: 2023-07-26 16:11:36 浏览: 226
您可以使用以下命令来实现:
```
ffmpeg -i input.mp4 -r 30 -vsync 0 -f image2 -strftime 1 output_%Y%m%d%H%M%S_%3d.jpg
```
这个命令将会把一个视频文件 `input.mp4` 每秒输出 30 帧图片,并通过 `-strftime` 参数将当前时间格式化成 `output_年月日时分秒_帧序号.jpg` 的形式,并把每一帧保存成一张图片。其中:
- `-r 30` 表示输出的帧率为 30 帧每秒,即每秒输出 30 帧。
- `-vsync 0` 表示关闭时间同步,确保每一帧输出时都使用自己的时间戳。
- `-f image2` 表示输出的格式为图片。
- `%Y%m%d%H%M%S_%3d.jpg` 是输出图片的文件名格式,其中 `%Y%m%d%H%M%S` 表示用年月日时分秒来表示当前时间,`%3d` 表示用三位数字来表示每一帧图片的序号,`.jpg` 则表示输出的图片格式为 JPG。
这个命令会在当前目录下输出一系列以 `output_年月日时分秒_帧序号.jpg` 命名的图片文件,每 30 张图片对应着原视频中的一秒钟。
相关问题
ffmpeg 1秒1帧并写出时间
你可以使用以下命令来抽取每秒一帧的视频并写出时间:
```
ffmpeg -i input.mp4 -vf "fps=1" -vsync 0 -f image2 -strftime 1 output_%Y-%m-%d_%H-%M-%S.jpg
```
这个命令会把输入的视频文件 `input.mp4` 每秒抽取一帧,并通过 `-strftime` 参数将当前时间格式化成 `output_年-月-日_时-分-秒.jpg` 的形式,并把每一帧保存成一张图片。
ffmpeg 1秒2帧并写出时间
您可以使用以下命令来实现:
```
ffmpeg -i input.mp4 -r 2 -vsync 0 -f image2 -strftime 1 output_%Y-%m-%d_%H-%M-%S_%3d.jpg
```
这个命令将会把一个视频文件 `input.mp4` 每秒输出两帧图片,并通过 `-strftime` 参数将当前时间格式化成 `output_年-月-日_时-分-秒_帧序号.jpg` 的形式,并把每一帧保存成一张图片。其中:
- `-r 2` 表示输出的帧率为 2 帧每秒,即每秒输出两帧。
- `-vsync 0` 表示关闭时间同步,确保每一帧输出时都使用自己的时间戳。
- `-f image2` 表示输出的格式为图片。
- `%Y-%m-%d_%H-%M-%S_%3d.jpg` 是输出图片的文件名格式,其中 `%Y-%m-%d_%H-%M-%S` 表示用年月日时分秒来表示当前时间,`%3d` 表示用三位数字来表示每一帧图片的序号,`.jpg` 则表示输出的图片格式为 JPG。
这个命令会在当前目录下输出一系列以 `output_年-月-日_时-分-秒_帧序号.jpg` 命名的图片文件,每两张图片对应着原视频中的一秒钟。
阅读全文