Can FFMPEG extract images from a video with timestamps?

4

I'm trying to extract frames from a video and get the exact timestamps of each frame extracted (on a picture).

To extract frames from video without timestamps I use this syntax:

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

Bill Marc

Posted 2013-03-30T22:24:36.473

Reputation: 43

Answers

6

You can do this with the drawtext filter. Your build will need to be compiled with --enable-libfreetype. Most static builds of ffmpeg for Windows and Linux appear to support this filter. See the FFmpeg download page for links.

timestamp

duration

duration

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

current time

current time

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

timecode

timecode

PAL 25 fps non drop frame:

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

This is adapted from the Burnt in Timecode example in the FFmpeg Wiki. The r option will set the timecode frame rate.

llogan

Posted 2013-03-30T22:24:36.473

Reputation: 31 929

@BillMarc : could you please post the adaptation that you did to make it working in windows – csharpcoder – 2015-12-31T09:05:45.760

Thanks a lot! with some adaptations for Windows works well. but I extract all frames of movie with timstamp, I need to extract one frame every 10 seconds. I added something and now it is ok. At this moment appears on picture me hh:mm:ss:frame. Is possible to not appear after :ss the number of frame? – Bill Marc – 2013-03-31T23:02:41.943

This is the syntax I use now:

ffmpeg -i video.avi -r 0.08 -f image2 -s 512x384 -vf "drawtext=fontfile=/WINDOWS/Fonts/arial.ttf: timecode='00:00:00:00': r=25: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1 " video%%4d.png – Bill Marc – 2013-03-31T23:13:33.727