需要搞一个从999倒计时到100的视频,在开始和结束的时候变动慢,在中间部分变动快,经综合考虑,用python的pillow画出所有图片,再用ffmpeg转化成视频。


from PIL import Image
from PIL import Image, ImageDraw, ImageFont
import random

def rndColor():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))
font = ImageFont.truetype(font='/home/yu/.local/share/fonts/仿宋_GB2312.ttf',size=220)

# dog=Image.new('RGBA',(1280,720), (0, 0, 0,0))
# draw=ImageDraw.Draw(dog)
# draw.text((500,300),'666',font=font,fill=rndColor2())



# dog.save('a0.png')
fu=0
lu='a'

for indd in range(999,99,-1):
    # print(indd)
    
    timein=1
    #dog=Image.new('RGBA',(1280,720), (0, 0, 0,0))
    dog=Image.open('bk.png')
    draw=ImageDraw.Draw(dog)
    draw.text((500,300),str(indd),font=font,fill=rndColor())
    if indd>900 or indd <151:
        timein=10
        if indd>989 or indd <111:
            timein=20
            pass
        pass
    for i in range(0,timein):
        dog.save(lu+str(fu)+'.png')
        fu=fu+1
        pass

    
    print(lu+str(fu)+'.png')
    pass

用ffmpeg转视频

ffmpeg -r 20 -f image2 -i a%d.png -c:v h264_nvenc out.mp4