FFMPEG录屏

FFMPEG录屏

方式

使用 FFMpeg录屏通常有两种方式:

  1. 基于 gdigrab (使用CPU录制)
  2. 基于 DirectShow (使用显卡录制)

gdigrab方式实现更简单,更轻量,兼容性也更好。DirectShow方案需要额外下载 screen-capture-recorder

基于该方法,主要核心就是 ffmpeg的命令编写,具体命令如下:

1
ffmpeg -f gdigrab -framerate 30 -offset_x 0 -offset_y 0 -video_size 1920x1080 -i desktop -r 30 -vcodec libx264 -pix_fmt yuv420p -t 5 -y "output.mp4"

说明

ffmpeg 的命令输入,也需要考虑输入顺序的。先指定输入参数,再指定输出参数。

  • -f 表示指定文件格式或采集数据的设备,如果是 DirectShow 方案,就需要指定为 screen-capture-recorder。
    对于输入,如果不指定-f,ffmpeg 会根据输入数据,来判断数据的封装格式.
    对于输出,如果不指定-f,ffmpeg 也可以通过输出文件名进行推导.
    ffmpeg -formats可以列出所有的formats
  • -framerate 指定录制的视频帧率
  • -offset_x -offset_y 指定录制的区域左上角坐标
  • -video_size 指定录制的视频尺寸
  • -i 指定从哪儿采集数据,它是一个文件索引号。这里是指定输入的视频源。(i 表示input,不一定是表示视频文件,表示输入。如也可以是音频文件输入等)
  • -r 指定帧率
  • -vcodec 指定编码格式。libx264 这种格式录制出来的视频,清晰度更清晰,占用的文件大小更小,推荐使用。
  • -pix_fmt 像素格式,常规使用yuv420p
  • -t 时间,秒。如果不配置,可以在命令框按q退出
  • -y 表示强制覆盖,如果输出文件已经存在,就覆盖输出文件路径。这里需要注意下:输出文件路径带上 双引号 ,防止不合法路径将命令拆分了。
-->

请我喝杯咖啡吧~

支付宝
微信