CircleCI-Public / CircleCI-Public/macos-orb

Screen recording permissions

Open
#73 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Shell
Stars
16
Forks
12
PR merge metrics
No merged PRs in 30d

Description

## Describe Request:

I'm trying to record test videos using either ffmpeg or appium mac2 driver (as far as I know, it uses ffmpeg behind the scenes anyway)

## Examples:

`deviceId == 0` is screen capture in CircleCI VM.

In python code is simple:

```
appium_driver.start_recording_screen(deviceId=0)
```

Or using raw ffmpeg:
```
ffmpeg -f avfoundation -i "0" -t 10 output.mp4
```

But I can't give permissions somehow. Once I start video recording, there is a popup:

image

And an error:

```
[ffmpeg] objc[23088]: class `NSKVONotifying_AVCaptureScreenInput' not linked into application
```

What I've tried:

basically main are ffmpeg and .machine-agent, others are just out of desperation 🙂

```
- macos/add-permission:
bundle-id: /Applications/Utilities/Terminal.app
permission-type: kTCCServiceScreenCapture
- macos/add-permission:
bundle-id: /private/tmp/.machine-agent
permission-type: kTCCServiceScreenCapture
- macos/add-permission:
bundle-id: /usr/local/bin/ffmpeg
permission-type: kTCCServiceScreenCapture
- macos/add-permission:
bundle-id: /opt/homebrew/bin/appium
permission-type: kTCCServiceScreenCapture
```

## Supporting Documentation Links:

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the shown macos/add-permission configuration and reproducing the ffmpeg avfoundation command or Appium start_recording_screen call in the CircleCI macOS environment. Investigate which executable or application needs screen-capture permission, and consider the work complete when recording succeeds without the permission prompt or the reported ffmpeg error.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, shell
Domain
ci-cd, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.