时间戳

时间戳

我正在尝试从视频中提取帧并获取提取的每个帧的精确时间戳(在图片上)。

为了从没有时间戳的视频中提取帧,我使用以下语法:

ffmpeg -i video.wmv -r 0.08 -f image2 -s 512x384 video2%%4d.jpg

答案1

您可以使用drawtext过滤器。您的构建需要使用 进行编译--enable-libfreetype。Windows 和 Linux 的大多数静态构建ffmpeg似乎都支持此过滤器。请参阅FFmpeg 下载页面链接。

时间戳

期间

期间

ffmpeg -i input -vf "drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf: text='%{pts\:hms}': x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" image%03d.png

当前时间

当前时间

ffmpeg -i input -vf "drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf: text='%{localtime}': x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" image%03d.png

时间码

时间码

PAL 25 fps 无丢帧:

ffmpeg -i input -vf "drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf: timecode='00\:00\:00\:00': r=25: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" image%03d.png

这是改编自刻录时间码例如FFmpeg 维基.该r选项将设置时间码帧速率。

相关内容