Mac使用FFmpeg进行屏幕录制,并使用VLC本地播放

这是一篇关于如何在Mac上使用FFmpeg进行屏幕录制,并使用VLC播放器进行本地播放的教程,默认读者已经安装好了FFmpegVLC播放器。 本文将介绍如何使用FFmpeg命令行工具进行屏幕录制,并通过VLC播放器进行实时播放,对于FFmpegVLC的安装和基础使用,读者可以参考相关文档。

1. Mac上捕获屏幕的FFmpeg输入源

在Mac上,FFmpeg可以使用avfoundation输入源来捕获屏幕内容。要查看可用的设备列表,可以运行以下命令:

bash 复制代码
ffmpeg -f avfoundation -list_devices true -i ""

你会看到类似如下的输出:

bash 复制代码
AVFoundation video devices:
[0] Capture screen 0
[1] FaceTime HD Camera

AVFoundation audio devices:
[0] MacBook Pro Microphone
[1] Multi-Output Device

2. 直播Mac屏幕

假设你要推流到一个 RTMP 服务器(例:rtmp://localhost/live/stream)

2.1 不包含音频的屏幕录制命令:

bash 复制代码
ffmpeg \
  -f avfoundation -framerate 30 -i "0:none" \
  -c:v libx264 -preset veryfast -f flv rtmp://localhost/live/stream

2.2 包含音频的屏幕录制命令:

bash 复制代码
ffmpeg \
  -f avfoundation -framerate 30 -i "0:0" \
  -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 6000k \
  -c:a aac -b:a 128k \
  -f flv rtmp://localhost/live/stream

解释:

  • "0:0" → (屏幕设备 ID : 音频设备 ID)
  • 0 = 主屏幕
  • 0 = 麦克风
  • -framerate 30 → 流畅度佳,CPU占用适中
  • -f flv → RTMP 必须使用 FLV 封装
  • libx264 → 网络直播最稳定

2.3 配置nginx-full

通常路径:

bash 复制代码
/opt/homebrew/etc/nginx/nginx.conf

nginx.conf中添加RTMP模块配置:

nginx 复制代码
rtmp {
    http { ... }

    # 下面是要添加的内容
    server {
        listen 1935;

        application live {
            live on;
            record off;
        }
    }
}

2.4 启动nginx-full

bash 复制代码
brew services start nginx-full

2.5 验证RTMP是否启动成功

bash 复制代码
lsof -i :1935

如果看到 nginx 在监听该端口,说明启动成功

bash 复制代码
nginx   12345   ...   LISTEN

2.6 推流FFmpeg

bash 复制代码
ffmpeg \
  -f avfoundation -framerate 30 -i "0:none" \
  -c:v libx264 -preset veryfast -f flv rtmp://localhost/live/stream

2.7 使用VLC播放RTMP流

打开VLC播放器,选择"打开网络串流",输入以下URL:

bash 复制代码
rtmp://localhost/live/stream

点击"播放",即可观看实时屏幕录制内容。

3. 最后

在本文中,除了介绍如何使用FFmpeg在Mac上进行屏幕录制外,还涵盖了如何配置nginx-full以支持RTMP流的推送和播放。关于nginx-full的更多配置和使用,可以参考相关文档。

我的博客地址

相关推荐
行百里er1 天前
一个还没写代码的开源项目,我先来“画个饼”:Spring Insight
后端·开源·github
知行力1 天前
【GitHub每日速递 20260108】告别云服务弊端,Memos隐私至上自托管笔记服务来袭!
笔记·github
无限进步_1 天前
【数据结构&C语言】对称二叉树的递归之美:镜像世界的探索
c语言·开发语言·数据结构·c++·算法·github·visual studio
心动啊1211 天前
FFMPeg在Python中的使用
ffmpeg
CoderJia程序员甲1 天前
GitHub 热榜项目 - 日榜(2026-1-7)
人工智能·ai·大模型·github·ai教程
逛逛GitHub1 天前
GitHub 上 2300 点赞的搜索 Agent,有点惊艳啊。
github
詹某某34111 天前
国密内网IP证书申请指南
github·ssl
提笔忘字的帝国1 天前
【2026最新收集】github国内镜像站,高速访问
github
朱昆鹏1 天前
IDEA Claude Code or Codex GUI 插件【开源自荐】
前端·后端·github
ONLYOFFICE1 天前
入门指南:远程运行 ONLYOFFICE 协作空间 MCP 服务器
运维·服务器·github·onlyoffice