现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
def convert\_images\_to\_gif(output_file):
# 读取目录下图片,用Pillow模块的Image和所有图片合并
# 成一张gif
images = glob.glob(f"output/\*.jpg")
images.sort()
frames = [Image.open(image) for image in images]
frame_one = frames[0]
frame_one.save(output_file, format="GIF", append_images=frames[1:],
save_all=True, duration=40, loop=0)
def convert\_mp4\_to\_gif(input_file, output_file):
convert_mp4_to_jpgs(input_file)
convert_images_to_gif(output_file)
if __name__ == "\_\_main\_\_":
convert_mp4_to_gif("demo.mp4", "output.gif")
执行完成后,发现gif文件大小暴增
可以尝试通过减少帧的数量来优化gif的大小,比如这个视频一共有60帧,我们只取30帧,大小就会减半
frame_one.save(output_file, format="GIF", append_images=[f for i, f in enumerate(frames[1:]) if i % 2 == 0],
save_all=True, duration=40, loop=0)
实现逻辑是用enumerate函数过滤取偶数张图片来合成,最小大小从3.9M压缩到2M。
写完这个代码后,发现还有另一个牛逼的库moviepy,2行代码就可以搞定
def mp4\_to\_gif2():
clip = VideoFileClip("demo.mp4")
clip.write_gif("output2.gif")
moviepy把实现细节已经封装非常简约了,然后提供了一大堆参数可以让开发者自行配置。但使用moviepy转的文件有9M,我相信可以用参
数来优化调整。
你不得不承认Python生态就是库多,各种各样的轮子都有,没有做不到的,只有你找不到的。
当然,你也可以将gif转回成MP4格式,比如你看到一些搞笑的gif将它转换成mp4放到短视频平台,说不定就火了。
def convert\_gif\_to\_mp4():
import moviepy.editor as mp
clip = mp.VideoFileClip("demo.gif")
clip.write_videofile("output.mp4")
最后,如果你稍微懂点运营,把它做成工具,挂到网上,又是一个吸粉的神器,岂不美哉。 关于这篇文章有不懂的小伙伴记得点赞收藏,然
后再来私信我哟!!!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!