有许多教程和内容展示了如何使用ffmpeg从视频中提取多个屏幕截图.你设置-r,你甚至可以开始一定数量的.
但我只想要1个屏幕截图,比如01:23:45 in.或者1个屏幕截图,86%in.
这对ffmpegthumbnailer来说是可能的,但它是我不想依赖的另一个依赖.我希望能够用ffmpeg做到这一点.
llo*_*gan 156
使用-ss选项:
ffmpeg -ss 01:23:45 -i input -vframes 1 -q:v 2 output.jpg
Run Code Online (Sandbox Code Playgroud)
用于JPEG输出用于-q:v控制输出质量.全范围是1-31的线性标度,其中较低的值导致更高的质量.2-5是一个很好的尝试范围.
所述选择滤波器提供了更复杂的需求的另一种方法,诸如选择仅某些帧类型,或1每100等
-ss在输入之前放置会更快.请参阅FFmpeg Wiki:从ffmpegcli工具文档中寻找和摘录:
-ss位置(输入/输出)当用作输入选项(之前
-i)时,在此输入文件中寻找位置.请注意,在大多数格式中,不可能精确搜索,因此ffmpeg将在位置之前寻找最接近的搜索点.当转码和-accurate_seek启用(默认)时,搜索点和位置之间的这个额外段将被解码并丢弃.在进行流复制或何时-noaccurate_seek使用时,它将被保留.当用作输出选项(在输出文件名之前)时,解码但丢弃输入,直到时间戳到达位置.
位置可以是秒或
hh:mm:ss[.xxx]表格.
Sir*_*ius 28
FFMpeg可以通过寻找给定的时间戳并将一帧精确地提取为图像来实现此目的,例如:
ffmpeg -i input_file.mp4 -ss 01:23:45 -vframes 1 output.jpg
Run Code Online (Sandbox Code Playgroud)
我们来解释一下选项:
-i input file the path to the input file
-ss 01:23:45 seek the position to the specified timestamp
-vframes 1 only handle one video frame
output.jpg output filename, should have a well-known extension
Run Code Online (Sandbox Code Playgroud)
该-ss参数接受表单中的值HH:MM:SS[.xxx]或以秒为单位的数字.如果您需要百分比,则需要事先计算视频时长.
| 归档时间: |
|
| 查看次数: |
69492 次 |
| 最近记录: |