作者:豆豆。
来源:Python技术
人和动物的本质区别在于,人类懂得制造和使用工具,这是由自古以来就存在的基因决定的。
前段时间朋友的生意需要很多原创短视频,问我能不能帮忙。了解具体需求后,发现不需要高质量的内容,操作也不是很复杂,可以用Python。
要实现自动化操作,也是答应这个事情。
我们知道PyAutoGUI是一个通过编程控制鼠标和键盘的Python库,所以我们应该从它开始。
#安装。
Win和macOS的安装命令是有区别的。
## windowspy -m pip安装pyautogui # # macospyth3-m pip安装pyautogui
#屏幕位置。
屏幕上的位置由笛卡尔坐标表示。X坐标从左上角的0开始,向右增加。与数学不同,Y坐标从左上角的0开始向下递增。
因此,左上角的像素位于坐标(0,0)。如果您的屏幕分辨率是1920 x 1080,右下角的像素将是(1919,1079),因为像素来自坐标0。
开始的时候。屏幕分辨率可以通过size()函数获得,当前鼠标位置可以通过position()函数获得。
0,0 X增加- - | | Y增加| || 1920 x 1080屏幕| | | V | | | | |-1919,1079
导入pyautoguix,y=pyautogui.position () print (x,y) x,y=pyautogui.size () print (x,y) # #输出结果545 4371440 900。
#鼠标移动。
鼠标的运动分为绝对坐标运动和相对坐标运动。
例如,如果您想将鼠标移动到坐标(100,100),只需直接调用moveTo函数。
导入pyautogui#将鼠标移动到pyautogui.moveTo(100,200) #将鼠标移动到pyautogui.moveTo(无,500) #将鼠标移动到(600,500)坐标pyautogui.moveTo(600,无)#将鼠标移动到(100,200)坐标,这是一个连续的过程,需要2秒pyautogui.moveTo(100,200,2)。
移动功能是简单的相对移动。
导入pyautogui#将鼠标移动到pyautogui.moveTo(100,200)#将鼠标向下移动50像素pyautogui.move(0,50)#将鼠标向左移动30像素pyautogui.move(-30,0)#将鼠标向左移动30像素pyautogui.move
#鼠标拖动。
与鼠标移动相比,鼠标拖动也分为绝对坐标拖动和相对坐标拖动。同样,dragTo函数使用绝对坐标,拖动使用相对坐标。
导入pyautogui#按住鼠标左键将目标拖动到pyautogui.dragto (100,200,button=' left') #按住鼠标左键将目标拖动到(100,200)坐标,这是一个连续的过程。需要2秒pyautogui.dragto (100,200,2,button=' left') #按住鼠标右键将目标向右移动30像素,这是一个连续的过程,需要2秒pyautogui.drag (30,0,2,button=' right ')。
#鼠标点击。
我们可以通过click()函数模拟鼠标点击。
导入pyautogui#单击pyautogui .在当前位置单击()#将鼠标移动到(100,200)坐标,然后单击#。然而,这种方法有点奇怪,有时会失败。您可以使用move来单击pyautogui。单击(x=100,y=200) #双击当前位置的pyautogui.doubleClick()。
#控制键盘。
键盘控制常用于输入字符串、按键和组合键。
导入pyautogui#输入“hello world”py autogui . write(‘hello world!’).)#按enter/F1 pyautogui .按(' enter') pyautogui .按(' f1') #组合键command apy autogui . hotkey(' command ',' a ')。
#制作视频。
有了以上的基础,我们就可以开始视频制作了,这次使用的是剪辑软件。
这里需要熟悉剪辑的操作步骤,基本上分为三个部分:将指定的图片拖动到视频轨道中、调整视频时长、导出。
最终效果如下:
#编码=utf-8导入时间导入pyautogui #将图片拖入轨道def drag_img_to_track(): #选中图片pyautogui.moveTo(170,270) pyautogui.doubleClick() #拖拽图片至轨道pyautogui.dragTo(120,600,1,button='left')#调整视频时长def drag_img_to_3_min(): #选中轨道中的第一张图pyautogui.moveTo(125,600) pyautogui.click() #拖拽至第三分钟pyautogui.moveTo(135,600) pyautogui.dragTo(700,600,1,button='left')#删除旧的素材def delete_top_img(): #删除轨道中的第二张图片pyautogui.moveTo(300,160)pyautogui。双击()pyautogui。按('退格')#输入是pyautogui.moveTo(650,470)时间。睡眠(0.5)pyautogui。单击()#导出def导出(名称): pyautogui。moveto(126,600)pyautogui。单击()pyautogui。热键(' command ',' e ')pyautogui。写下时间。睡眠(1)pyautogui。moveto(800,393)pyautogui。点击()时间。睡眠。click()索引=0计数=2而索引计数3360拖动_ img _ to _ track()拖动_ img _ to _ 3 _ min()删除字符串(索引))
# 总结
今天我们通过pyautogui实现了全自动制作视频,我们只需要将素材导入到剪映中即可。
由于可交换的图像格式大小限制,只录制了一小部分,你可以通过调整主函数中的数数值来控制制作视频的个数。