Ffmpeg 如何使用正确的时间码生成具有视频缩略图的平铺

Ffmpeg 如何使用正确的时间码生成具有视频缩略图的平铺,ffmpeg,video-thumbnails,Ffmpeg,Video Thumbnails,我使用FFMPEG库每5秒生成一次视频缩略图,使用以下命令生成时间码: ffmpeg \ -i 20051210-w50s.flv \ -y \ -frames 1 \ -vf " \ select=not(mod(t\,5)), \ scale=320:-1, \ drawtext=fontfile=/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: \ timecode='00\\:00\\:00\\:00': r=25

我使用FFMPEG库每5秒生成一次视频缩略图,使用以下命令生成时间码:

 ffmpeg \
-i 20051210-w50s.flv \
-y \
-frames 1 \
-vf " \
    select=not(mod(t\,5)), \
    scale=320:-1, \
    drawtext=fontfile=/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: \
    timecode='00\\:00\\:00\\:00': r=25: fontcolor=white: x=220: y=220: box=1: boxcolor=black@0.5, \
    tile=5x2" \
-vsync 0 \
out.jpg

它显示正确的缩略图,但时间代码是错误的。如何解决此问题?

drawtext筛选器未引用时间戳。它使用一个简单的计数器,为每个新帧增加时间码。所以,这样做的方法是绘制每个时间码,然后删除帧

ffmpeg \
-i 20051210-w50s.flv \
-y \
-frames 1 \
-vf " \        
    scale=320:-1, \
    drawtext=fontfile=/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: \
    timecode='00\\:00\\:00\\:00': r=25: fontcolor=white: x=220: y=220: box=1: boxcolor=black@0.5, \
    select=not(mod(t\,5)), \
    tile=5x2" \
-vsync 0 \
out.jpg