最近我身边几个老伙计又鸽了,随之而来的则是观众们潮水一般的催更……
摸鱼的方式各不相同,而拖更的理由却千篇一律:
而且对于一些刚接触自媒体的小白来说……
所以啊,相信很多UP主都有幻想过,要是自己的电脑能够自己学会做视频该多好?
由于各种技术水平的限制,即便是如今「大数据」、「云计算」、「人工智能」等颇具未来感的词汇脍炙人口,响彻了祖国的大江南北,我们还是会感觉到,将它们实际运用到我们的视频制作中,是一件天马行空的事情。但真的是这样吗?
虽说完全实现全自动生成丰富多彩的视频这一美好愿景离我们遥不可及,但我们至少能够通过一些技术,借助机器,来帮我们完成一些需要重复劳动的工作。今天呢,同和君就向大家介绍几个能够显著提升视频剪辑效率的软件(或脚本)和小技巧,以及展示下,身为程序猿的UP主们,在自媒体界应有的职业素养。
TOP13:图片的拼合与裁剪
笔者表示经常会在专栏的作者群看到这样的吐槽:
其实无非就涉及一个图片的尺寸问题,清晰度越高,图片占用的区域就越大。那么,我们为了有效地控制图片的大小,首先就应当从图片本身的分辨率入手。这里介绍一个简单粗暴的方法:预览+截图!
如果有图片的裁剪、拼接方面的需求,其实也不必为此专门打开PS,通过几个小工具就能轻易实现这个效果,以上图为例:
看上去似乎很复杂,但实际上手会发现真的简单了很多。有的时候我们做视频可能会需要做一些图像的拼接,如果用这招,会比把所有图片都拖进软件一张张调要高效很多。最近比较忙,等笔者有空的时候,说不定会写一个合并以上两步操作的图片处理脚本呢,敬请期待~
TOP12:一键抠图
项目地址:https://github.com/zihuaweng/Interactive-image-segmentation-opencv-qt项目作者:zihuaweng又快到双十一了,相信大家都对淘宝网的AI抠图+智能海报处理略有耳闻。那么现在我们就来介绍一项类似的智能抠图工程:使用opencv进行交互式抠图。
如果你面前有一堆需要抠像的图片,而它们又不需要精修的时候,这个脚本便派上用场了~
原理:其实这一系列的操作都调用了OpenCV中的Grabcut算法,如果用最通俗易懂的语言来解释,大概就是:遍历图像以找到抠图边缘(打开冰箱门)→裁掉抠图边缘以外的像素(把大象塞进去)→保存为新图片(关上冰箱门)。但如果深入去研究,就会发现它还涉及很多高等数学的理论:
有兴趣的小伙伴可以自己去看哈:https://www.cnblogs.com/mikewolf2002/p/3341418.html
TOP11:一键生成字符画
这个完全就是来搞笑,来装13的,给几张图大家感受一下:
TOP10:一键制作表情包
项目地址:https://segmentfault.com/a/1190000015871278项目作者:Akers只要你水过群,肯定就看过这样的沙雕表情包:
还有这样的:
看到这里,各位UP主是否也想着制作一份自定义的表情包呢?这里就有一个网站可以快速生成你想要的表情包:https://sorry.xuty.tk/source_of_evil其原理仍然万卷不离其宗,把大象塞进冰箱:准备好图片&文字→叠在一起→输出图片。这个算法比上边抠图那个简单,无非就是拼图游戏;不过文字居中这一布局还是需要一点计算的:
具体到代码层面的知识,还是建议大家前往原文进行学习观摩~从静态表情包到动态表情包,就是在原先的基础上引入了时间轴、帧率等视频方面的内容,相信对于各位聪明的观众朋友们来说是不难理解的了~
TOP9:一键生成封面
嗯,这个是笔者自己写的算法~具体实现的图片变换如下:
有LOGO的还可以自己决定位置并贴入:
核心代码如下:
#语言:Python def background(self, img_url):#处理封面 img = Image.open(img_url) w, h = img.size if(w>=h*16/9): re_bg_w=math.ceil(1080*w/h) re_bg_h=1080 re_fg_w=1920 re_fg_h=math.ceil(1920*h/w) else: re_bg_w=1920 re_bg_h=math.ceil(1920*h/w) re_fg_h=1080 re_fg_w=math.ceil(1080*w/h) back_img_tmp = img.resize((re_bg_w,re_bg_h),Image.ANTIALIAS)#把原图放大为背景图 img2 = img.resize((re_fg_w,re_fg_h),Image.ANTIALIAS)#把原图处理成前景图 bg_pointx = int((re_bg_w-1920)/2) bg_pointy = int((re_bg_h-1080)/2) back_img_tmp2 = back_img_tmp.crop([bg_pointx,bg_pointy,bg_pointx+1920,bg_pointy+1080])#裁切背景图 img = back_img_tmp2.filter(ImageFilter.GaussianBlur(radius=18))#模糊背景图 fg_pointx = int((1920-re_fg_w)/2) fg_pointy = int((1080-re_fg_h)/2) img.paste(img2, (fg_pointx,fg_pointy,fg_pointx+re_fg_w,fg_pointy+re_fg_h))#拼合 bg = Image.new("RGB", img.size, (255,255,255))#这两步是用来转换的,无论PNG还是JPG统统转成JPG bg.paste(img) return bg
笔者暂时还没学PYQT,求好心人帮忙写一个GUI……
TOP8:一键去除黑边
项目地址:https://blog.csdn.net/qq_38269799/article/details/80687830项目作者:youngkun_wtu10月25日,雷军在故宫博物院发布了小米新手机MIX3,刚刚买了小米8的笔者表示血亏,不就是贵了600块吗?为了一个减压神器(滑盖),值了!(可见同和君平时的学业&工作压力还是蛮大的,口口大家以后不要再催更了好么) 然鹅不论是米8还是MIX3,他们都有一个共同的19:9全面屏。全面屏的手机当然吼啊,看上去逼格更高了你说是不~但随之而来的就是兼容性的问题:
这个时候,我们就需要一款软件,来批量处理我们的手机截图:
核心代码如下:
def change_size(read_file): image=cv2.imread(read_file,1) #读取图片 b=cv2.threshold(image,25,255,cv2.THRESH_BINARY) #设定裁剪相关的参数 binary_image=b[1] #生成具有三通道的二值图 binary_image=cv2.cvtColor(binary_image,cv2.COLOR_BGR2GRAY) #改为单通道 print(binary_image.shape) x=binary_image.shape[0] print("高度x=",x) y=binary_image.shape[1] print("宽度y=",y) edges_x=[] edges_y=[] for i in range(x): for j in range(y): if binary_image[i][j]==255: edges_x.append(i) edges_y.append(j) left=min(edges_x) #左边界 right=max(edges_x) #右边界 width=right-left #宽度 bottom=min(edges_y) #底部 top=max(edges_y) #顶部 height=top-bottom #高度 pre1_picture=image[left:left+width,bottom:bottom+height] #图片截取 return pre1_picture #返回图片数据
其实整个算法的核心就在这一步的处理:「cv2.threshold(image,black_value,255,cv2.THRESH_BINARY) 」其中black_value决定了将要去除的黑边的深度(数值越大包容性越强),举个例子:
原作者只给了代码,没给GUI,不过这个有没有图形界面都无所谓了,把要处理的文件扔进一个文件夹,然后指定一个输出文件夹,并设定好black_value,剩下的交给脚本即可~
TOP7:一键生成电子相册(自动处理图片的变换、放大和位移)、快捷生成视频字幕、自动定位相片在时间轴中的位置等等……
项目地址:https://github.com/RocHo/finalcutproxhelpers/项目作者:阿布垃机手册
具体的请看以上视频哈,阿布老师已经讲得灰常详细了~
TOP6:音频可视化
项目地址:https://github.com/NIPE-SYSTEMS/html5-web-audio-showcase项目作者:NIPE-SYSTEMS记得以前我们把音乐合集上传到b站的时候,都是一图流的:
但正如网易云最新改版中引入的音谱动画一样,如果只有静态的图片未免太单调了点。于是就有了将「HTML5 Web Audio API Showcase」模块引入视频这个神奇的想法:
TOP5:数据可视化
项目地址:https://github.com/Jannchie/Historical-ranking-data-visualization-based-on-d3.js项目作者:Jannchie见齐我们经常能在b站看到这样的视频:
这些视频通过抓取海量的数据,呈现出了某一个领域的潮流、趋势、和发展的大致状况。也正是将莫得感情,冷冰冰的数字变得生动形象了起来,这种类型的视频才如此吃香。
官方教程:
TOP4:快速下载网站视频
项目地址:https://you-get.org/项目作者:soimort
想下载什么样的视频,直接一行代码搞定!以及下边这个笔者自制的视频会教你如何抓取网络上的素材与资源,有兴趣的小伙伴可以去看下哈~教你如何免费下载90%的网站资源素材!www.miaopai.com
TOP3:一键生成视频旁白
项目地址:https://gtts.readthedocs.io/en/latest/项目作者:Pierre Nicolas Durette(MIT)使用流程:
先新建一个文本文档,把你想要谷歌娘朗读的内容复制粘贴进去,然后敲入命令,静候数秒即可获得原汁原味的机械音旁白!该操作很适合那些羞于启齿的UP主……
TOP2:基于ffmpeg的批量视频处理
项目地址:http://ffmpeg.org/FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。—— 开源中国利用这一套工具,我们能够极度简化视频的制作流程:• 一行命令就能实现转码、截取、合并、拼合、推流、存流等等等等你想得到的、想不到的各种需求。• 可移植性极强,可基于ffmpeg实现跨平台的影视处理开发,已知的如暴风影音、QQ影音、格式工厂等软件都有使用他们的源代码,但它们并没有遵守LGPL/GPL协议,没有公开任何源代码,所以被人举报,然后进入了FFmpeg官网上的耻辱黑名单……• 除了上文所说的视频音频编码,它还可以进行视频裁剪、缩放、色域转换等一系列的后期处理。
由于涉及的内容太多,感兴趣的小伙伴可以买本书专门学习一下:
TOP1:一键生成视频并上传
基于上述的一系列功能,我们最终实现了一键生成视频+自动上传的脚本,详情请去我的油管频道查看,由于各种因素,该项内容不在此处作过多的描述。
结束语之前师兄有跟我说过,懒惰是人的天性。但也正因如此,聪明的人从不偷懒。人生在世,不过百年。我们应当将有限的生命投入到更多有意义的事情中去,而不是无脑地、机械地干着重复的工作,无谓地消耗自己的生命。人工智能在不久的未来取代大部分人类的工作已成定局,唯独能够证明我们是人类的,便是我们独一无二的思想与创意。今天给大家介绍的几款软件、几样小技巧,不知朋友们是否满意呢?嗯……已经可以预见私信要被诸如「Github是什么,可以吃吗?」、「你给出的代码该怎么使用啊」、「太复杂了,求编译好的软件」这样的问题塞满了……同和君只做分享,具体该怎样实现,还需要大家继续学习编程方面的知识鸭!至于具体的软件、脚本资源嘛,还请大家关注我们的公众号「砚园君」,回复「视频制作」字样即可获取!