ffmpeg 安装和录屏(python)
介绍
FFmpeg 是一个开放源代码的自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。 “FFmpeg”这个单词中的“FF”指的是“Fast Forward”。
安装
本文只单独介绍如何在Windows和macOS下安装FFmpeg,暂不讨论在Linux下的情况。
FFmpeg的官网为https://ffmpeg.org/download.html
Windows
- 首先打开上面的官网下载链接,找到Windows模块下的Windows builds from gyan.dev
- 在新打开的gyan.dev的页面中找到Release部分,Links里第一个full(如红箭头所示)的链接直接点击下载FFmpeg的最新版压缩包。
- 下载下来的7z安装包先解压,然后将解压后的文件夹放至你不会随意删掉或改动为止的路径下(如C盘的Program Files但不是必须放到C盘)。
- 复制ffmpeg解压后文件夹内的bin文件夹路径(如下图所示)
- 打开设置-系统-关于-高级系统设置
- 打开高级系统设置后点开环境变量,找到系统变量中的Path变量双击点开。
- 新打开的页面点击右边的新建,粘贴进去在第四步复制的bin文件夹链接
- 添加完后一步一步确定-确定-确定。
- win+R,输入cmd,回车,打开cmd
- 输入FFmpeg并回车测试是否安装成功,显示类似下图即为安装成功
命令行录屏
gdigrab基于Win32 GDI的屏幕捕获设备。可以捕获Windows桌面屏幕显示区域的画面图像,包含windows窗口显示画面。
参数说明
framerate:帧率 desktop:desktop是指输入设备是桌面屏幕 draw_mouse:是否绘制鼠标,0:不绘制鼠标,1:绘制鼠标(如果为空默认为1) -offset_x:捕获的区域X坐标,屏幕左上角为起始坐标(0,0),右下角为(screenSize,screenSize) -offset_y:捕获的区域Y坐标
1 录制桌面,支持微软自带播放器和浏览器播放
ffmpeg -f gdigrab -i desktop -vcodec libx264 -pix_fmt yuv420p output.mp4 -y
指定编码格式和像素格式
2 指定录制时长
ffmpeg -f gdigrab -i desktop -vcodec libx264 -pix_fmt yuv420p -t 60 output.mp4
-t 指定录制时间长度,单位秒
3 指定捕获区域(不加-offset_x 和 -offset_y就是捕获全屏)
ffmpeg -f gdigrab -i desktop -offset_x 10 -offset_y 20 -vcodec libx264 -pix_fmt yuv420p -t 60 output.mp4
python调用ffmpeg进行录屏
#coding:utf-8 import time import os import datetime import subprocess def live_video(): # 用时间命名录屏的输出文件 file_name = datetime.datetime.now().strftime('%Y-%m-%d-%H-%M-%S.mp4') # 开始录屏 live_video = subprocess.Popen('ffmpeg -f gdigrab -i desktop -vcodec libx264 -vf "pad=ceil(iw/2)*2:ceil(ih/2)*2" -pix_fmt yuv420p {} -y'.format(file_name),shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE) #录屏10秒 time.sleep(10) # 发送q指令给ffmpeg,退出录屏 live_video.stdin.write('q'.encode("GBK")) live_video.communicate() live_video()
参考链接:
https://www.zl-asica.com/2020/ffmpeg/
https://blog.51cto.com/fengyuzaitu/3610970
https://www.jianshu.com/p/fa5e0d530628
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY