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的更多配置和使用,可以参考相关文档。

我的博客地址

相关推荐
右耳朵猫AI17 小时前
GitHub周趋势2026W22 | AI编程工具、知识图谱、自托管、AI代理、代码智能
人工智能·github·ai编程
逻极17 小时前
Git 从入门到精通:版本控制协作实战指南
git·github·分支管理·版本控制
用户74595717484018 小时前
hug:写 Python API,几行代码就够了
github
DogDaoDao19 小时前
【GitHub】VoxCPM2 实战全解析:原理、部署与效果对比
深度学习·大模型·github·音频·语音模型·tss·文本生成语音
朱涛的自习室21 小时前
Munk AI 正式开源:一个“自我进化”的 AI 测试引擎
android·人工智能·github
lpfasd1231 天前
2026年第23周GitHub趋势周报
github
Aliaoo1 天前
GitHub Copilot 改按量计费 72 小时:$28→$746 的账单、暂停新注册,以及这对普通开发者意味着什么
github·copilot
撸码小狂魔1 天前
GitLab CI/CD 使用指南(小白版)
github
易生一世1 天前
GitHub Copilot概述
github
暴雨课堂1 天前
宝塔和云效webhook配置
github