【问题标题】:FFMPEG: how can I properly add a text overlay to my video and save it to a thumbnail?FFMPEG:如何正确添加文本覆盖到我的视频并将其保存为缩略图?
【发布时间】:2013-08-11 20:21:33
【问题描述】:
我有一个 ffmpeg 命令,它转到一个 url 并以指定的时间间隔成功创建缩略图。我想做的是将时间(例如:03:45:20)以带有黑色阴影的白色文本添加到视频的左下角。我在网上看到了一些带有 drawtext 的示例,但它们似乎都不适用于我当前的命令:
C:\ffmpeg\bin\ffmpeg.exe -ss 00:23:12 -i "http://myvideourl.com/videofile.mp4" -f mjpeg -vframes 1 -y C:\thumb2.jpg
有人可以建议我如何使用当前命令实现正确的 drawtext 过滤器,以便输出带有左下角标记的持续时间的缩略图吗?
【问题讨论】:
标签:
ffmpeg
overlay
duration
drawtext
【解决方案1】:
由于我无法在网上找到任何解决方案,并且我还有更多的图像效果和缩放要做,所以我决定使用 Python 的 PIL 模块来处理从 ffmpeg 命令保存的屏幕截图。
使用 PIL:
from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw
img = Image.open("C:\\path\\to\\saved\\thumb.jpg")
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("C:\\path\\to\\your\\font.ttf", 20)
draw.text((10, img.size[1] - 30), dur, (255, 255, 255), font=font)
#uncomment line below to scale image
#img.thumbnail((400, 300), Image.ANTIALIAS)
img.save("C:\\path\\to\\saved\\thumb.jpg")
剩下的就是弄清楚如何将背景颜色设置为黑色并添加一点文本阴影,我会很高兴的。