FFmpeg录制屏幕及声音

目录

前言

一、dshow

二、gdigrab(强烈建议)

抓取整张桌面

抓取屏幕中特定的一个窗口

抓取屏幕及声音



前言

在Windows系统使用抓取屏幕数据有两种方法:gdigrab和dshow。

一、dshow

使用前需要先安装screen-capture-recorder,下载地址

下载完后直接默认安装。注意,需要Java运行环境(Java Runtime Environment),如果没有的话下载一个就行。

安装好之后,执行命令行

ffmpeg -list_devices true -f dshow -i dummy

screen-capture-recorder就是录屏要用的。

virtual-audio-capturer就是抓取屏幕声音的。

然后执行命令行录制屏幕

ffmpeg -f dshow -i video="screen-capture-recorder" -vcodec libx264 ffmpeg01.mp4

目前使用ffmpeg version 6.1.1录屏是会提示失败,使用ffmpeg version 4.0.2能支持(具体原因没去细究)

二、gdigrab(强烈建议)

根据雷神的文章里阐述:gdigrab是FFmpeg专门用于抓取Windows桌面的设备。非常适合用于屏幕录制。而且不需要额外安装软件。

它通过不同的输入URL支持两种方式的抓取:

抓取整张桌面

(1)"desktop":抓取整张桌面。或者抓取桌面中的一个特定的区域。

ffmpeg -f gdigrab -framerate 30 -i desktop -c:v libx264 -pix_fmt yuv420p output.mp4

ffmpeg -f gdigrab -framerate 30 -i desktop -c:v libx264 output.mp4

抓取屏幕中特定的一个窗口

(2)"title={窗口名称}":抓取屏幕中特定的一个窗口(目前中文窗口还有乱码问题)。

gdigrab另外还支持一些参数,用于设定抓屏的位置:

offset_x:抓屏起始点横坐标。

offset_y:抓屏起始点纵坐标。

video_size:抓屏的大小。

framerate:抓屏的帧率。

ffmpeg -f gdigrab -offset_x 100 -offset_y 200 -video_size 640x480 -i desktop output.mp4

抓取屏幕及声音

在录制屏幕声音需要用到dshow里的virtual-audio-capturer

ffmpeg -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer" -c:v libx264 -c:a libmp3lame output.mp4


相关推荐
全栈探索者14 小时前
从素材到成片:ffmpeg 拼接、转码与字幕,一条流水线交付
macos·ffmpeg·aigc·comfyui·视频剪辑
扶尔魔ocy20 小时前
【QT+FFmpeg】知识点编目及传送门
qt·ffmpeg
甜到心里的蛋糕2 天前
AI 生成 MV 音频异响排查:频谱定位、片段替换与 Nginx 缓存
人工智能·python·nginx·ffmpeg·音视频·音频处理
白搞电子4 天前
ESP-Mosaico 音乐驱动动画:节拍检测、RMS 包络与预制动作编排
ffmpeg
FlightYe4 天前
视界原理之3D视频(三):解码和显示
android·linux·3d·ffmpeg·音视频·android runtime
FlightYe4 天前
linux系统编程(十七):内存管理基础
android·linux·ffmpeg·音视频·android runtime
信可维4 天前
用无头 Chrome 逐屏截图 + ffmpeg 拼竖版视频:1080×1920 全流程与 4 个坑
chrome·ffmpeg·音视频
FlightYe4 天前
音视频修炼之容器与协议(二):HLS和DASH流媒体
android·linux·ffmpeg·音视频·android runtime·dash
GreenHandBruce4 天前
基于Qt 6.12.0 + FFmpeg 9.0.2的4k视频播放器
qt·ffmpeg·音视频
Android系统攻城狮5 天前
Linux FFmpeg深度解析之avformat_open_input调用流程与实战(一)
linux·运维·ffmpeg·车载音视频·ffmpeg音视频·音视频进阶手册