DJI Pocket 4 接入 Mac 实测:让 Chrome 使用 1080p30,恢复 macOS 抠像

我的 DJI Pocket 4 通过 USB 接到 Mac,在 StreamYard 里已经选择了 1080p,Chrome 的摄像头轨道也报告 1920×1080、30 帧,但相机机身仍然显示 4K30。结果是:macOS 的人像和背景替换无法使用,只剩下屏幕氛围灯。

最后解决这次问题的,并不是再调一次 StreamYard 的分辨率,而是在 Chrome 启动时加入一个参数:--disable-features=ConfigureCaptureBeforeStart。完全退出并重新启动 Chrome 后,Pocket 4 机身变成了 1080p30,macOS 抠像也恢复可用。

这是一次具体设备和软件组合上的实测记录。它说明这个方法在我的环境里有效,尚不能证明所有 Mac、摄像头或 Chrome 版本都会有相同结果。

博客封面,现代数码技术编辑插画,一台 Mac 笔记本通过 USB 线连接一台按 DJI 官方产品图绘制的 DJI Osmo Pocket 4 手持三轴云台相机,具有顶部云台镜头、横向旋转触摸屏、屏幕下两个功能按钮及下方摇杆和橙色录制按钮,电脑屏幕用示意人像展示清晰的人物轮廓与替换后的简洁背景,设备外观采用概念化绘制而非冒充真实产品照片或操作截图,画面主标题严格写 Pocket 4 × Mac,副标题严格写 1080p30 · macOS 抠像,角落写 实测方法,干净的深蓝与暖白配色,专业但亲切,清晰易读,画面只使用这三组文字,不增加配置名称、帧率或其他事实,

为什么网页显示 1080p,机身却仍然是 4K30

排查时最容易被误导的,就是 StreamYard 页面上的“1080p”。网页拿到的视频大小,与 USB 摄像头实际使用的采集格式,不一定是同一件事。浏览器和系统的采集链路可以处理画面尺寸,因此网页显示 1080p,仍不能单独证明相机已经从 4K 切换到了 1080p。

这次我们同时查看了三个位置:StreamYard 的相机设置、Chrome 的视频轨道信息,以及 Pocket 4 的机身显示。前两处都显示 1080p30,机身却显示 4K30,macOS 的效果菜单也没有恢复。这就是为什么单看网页的设置,无法判断问题是否已经解决。

对这台设备查询 macOS 的摄像头格式能力时,1920×1080 格式报告支持人像、摄影室灯光和背景替换;3840×2160 格式报告不支持这些效果,但支持屏幕氛围灯。这与实际看到的菜单差异一致。这个结果针对本次设备和系统组合,不能扩大成“所有 Mac 在 4K 下都无法抠像”。

同一个 StreamYard 网站,换成 Firefox 打开后,Pocket 4 机身会显示 1080p,抠像也能使用。不过此前使用 Firefox 一段时间后可能发生断流,原因还没有查清。因此,我希望继续使用 Chrome,同时让它正确切换相机格式。

加的到底是什么配置

完整参数是:

--disable-features=ConfigureCaptureBeforeStart

--disable-features 是 Chrome 的启动参数,用来关闭指定的内部功能。ConfigureCaptureBeforeStart 对应的是苹果平台摄像头采集的一条初始化路径。

我们核对了这台电脑安装版本对应的 Chromium 摄像头源码。在这个版本中,该功能默认开启:先设置选定的摄像头格式,再启动采集。关闭它之后,代码执行的顺序变成:先启动采集,再设置选定的摄像头格式。

因此,这个参数没有直接写入“1920×1080”,也不是一个“所有摄像头强制 1080p”的开关。StreamYard 仍然需要请求 1080p30;改变的是 Chrome 在 macOS 上落实摄像头格式时的启动顺序。这个改动作用于使用该采集路径的 Chrome 摄像头会话,并不只限定 Pocket 4。

Firefox 的完整实现与 Chrome 的这条备用路径并不完全相同。这个方法应当理解为:针对我们发现的初始化差异,选择一个有源码依据的 Chrome 采集顺序,再用真实设备验证。它不是给 Chrome 安装了 Firefox 的摄像头驱动。

中文技术说明图,标题严格写 本次实测,左右两个清晰流程区,左区标题 默认启动,左区依次显示 先设置格式 → 再启动采集,下方显示 机身 4K30 和 仅氛围灯;右区标题 调整启动参数,右区依次显示 先启动采集 → 再设置格式,下方显示 机身 1080p30 和 抠像恢复;数据与逻辑仅限以上给定内容,结果只表示这次设备实测,使用按 DJI 官方产品图绘制的 Osmo Pocket 4 手持云台相机和人物轮廓图标,相机带横向旋转触摸屏、屏幕下两个功能按钮及下方摇杆和橙色录制按钮,右区以绿色勾表示已验证,左区不用故障警告图标,专业编辑信息图,深蓝白色背景,中文必须逐字准确,不增加其他分辨率、参数、承诺或时间,

配图为流程示意;“机身 4K30”和“机身 1080p30”表示相机上的显示,并非真实操作截图。

先用终端验证一次

第一步,保存正在进行的工作,用 Command+Q 完全退出 Chrome。只关闭浏览器窗口不够。启动参数需要在 Chrome 主进程启动时生效;向已经运行的 Chrome 再传一次参数,不能据此判断配置已经应用。

第二步,在 Terminal 中运行:

open -a "Google Chrome" --args --disable-features=ConfigureCaptureBeforeStart --restore-last-session

--restore-last-session 用来请求恢复上一轮会话的标签页,方便回到原来的工作页面。它不是修复相机的关键参数。我的专用启动入口还指定了 --profile-directory=Default,以使用这台电脑现有的 Chrome 配置档;其他人的配置档可能不同,验证时可以先用上面这条不指定配置档的命令。

第三步,在 Chrome 地址栏打开 chrome://version,查看“命令行”一栏,确认里面确实有 --disable-features=ConfigureCaptureBeforeStart。Chromium 官方文档也建议在这个页面核对启动命令,而不要只依赖 chrome://flags 的显示。

第四步,打开 StreamYard,选择 Pocket 4,并把相机分辨率设置为 1080p。关闭其他正在使用这台相机的程序或网页,避免多个采集会话影响判断。再查看 Pocket 4 机身是否变成 1080p30,以及 macOS 的人像或背景替换是否可用。

这里的成功标准是“机身显示与系统效果同时恢复”,不能只用网页上的 1080p 作为依据。本次重启后,机身显示 1080p30,macOS 抠像恢复,这两项都得到了实际确认。

把命令做成应用,用 Command+空格启动

最初保存的 .command 文件,是一个可执行的 shell 脚本:双击后由终端运行,脚本再带着参数启动 Chrome。它不是新的浏览器,也不是插件或摄像头驱动。“启动入口”只是对这个文件用途的描述。

为了日常使用方便,我把这条启动命令封装成了 Chrome Pocket4.app,放在用户的 ~/Applications/ 目录。以后按 Command+空格,输入 Chrome Pocket4,选中应用并回车即可。Spotlight 的启动和搜索操作可参阅 Apple 官方说明。

这个小应用做了一个必要的检查:如果 Chrome 已经带着该参数运行,就直接打开现有 Chrome;如果 Chrome 正在运行但没有该参数,就提示先保存工作、完全退出,再重新启动。它不会为了应用参数而强制结束浏览器。

其他读者也可以使用 Mac 自带的“自动操作”制作类似入口:新建“应用程序”,添加“运行 Shell 脚本”,Shell 选择 /bin/zsh,填入下面的代码,然后保存为 Chrome Pocket4.app。Apple 的 Automator 工作流说明介绍了新建、添加动作和保存的流程。

if /usr/bin/pgrep -x 'Google Chrome' >/dev/null; then
  /usr/bin/osascript -e 'display alert "请先完全退出 Chrome" message "保存工作后按 Command+Q,再打开这个应用。"'
  exit 1
fi
/usr/bin/open -a '/Applications/Google Chrome.app' --args \
  --disable-features=ConfigureCaptureBeforeStart \
  --restore-last-session

这段简化示例要求先退出 Chrome;本机已经安装的入口另加了检查现有进程参数的逻辑。保存后的应用可以放进“应用程序”目录,也可以拖到 Dock,作为平时启动 Chrome 的入口。如果刚保存时 Spotlight 尚未找到它,可以先在 Finder 中打开一次。

本机安装好的应用,也可以直接从 Terminal 调用:

open "$HOME/Applications/Chrome Pocket4.app"

之前保留的脚本入口仍然可以调用:

"$HOME/Applications/Chrome-Pocket4-1080p.command"

能不能改成 Chrome 的默认设置

可以把“每次都带这个参数启动”变成自己的固定使用方式:以后统一从 Chrome Pocket4.app 启动,也可以把它放到 Dock。这相当于把配置保存在启动入口里,日常使用不必重复输入命令。

但它不是 Chrome 配置档里的一个永久偏好。我们核对了安装版本的 chrome://flags 注册源码,没有找到 ConfigureCaptureBeforeStart 的页面入口;本次也没有找到能把它保存成 macOS 普通 Chrome 图标默认参数的官方设置项。

如果 Chrome 完全退出后,重新从原来的 Google Chrome 图标或某个网页链接启动,仍可能以普通启动方式运行。等 Chrome 已由专用入口启动并保持运行后,再打开其他链接,通常会使用这个已有的浏览器进程;需要确认时,仍以 chrome://version 的命令行为准。

本次没有修改 Google Chrome 应用包里的文件。这样专用入口与浏览器本体分开保存,Chrome 正常更新时不需要重新改它的程序文件。也没有把启动入口设为系统默认浏览器;那是“网页链接由谁打开”的另一项设置,不能直接替代这里的启动参数。

适用范围与恢复方法

本次验证环境为 macOS 27.0.1,Chrome 154.0.8037.95,DJI Osmo Pocket 4,通过 USB Webcam/UVC 模式连接 StreamYard。验证日期为 2026 年 10 月 4 日。

已经确认的结果是:带该参数完全重启 Chrome 后,Pocket 4 机身显示 1080p30,macOS 抠像可用。尚未完成的是数小时录制或直播的持续稳定性测试,因此不能把这次结果写成“已解决所有断流问题”。此前 Firefox 的断流也没有查明原因。

如果更新 Chrome 后效果改变,先检查 chrome://version 是否仍有参数,再检查机身显示和系统效果。这个内部功能开关未来可能改变或移除;Chromium 官方文档明确说明部分启动参数用于开发或临时场景,不能把某个版本的成功结果视为永久保证。

需要恢复原来的行为时,完全退出 Chrome,再从普通 Google Chrome 图标启动,不传这个参数即可。专用应用和 .command 文件只是便捷入口,可以留着以后对照使用。