{"id":15050771,"url":"https://github.com/space-code/capture-kit","last_synced_at":"2026-01-02T04:42:14.467Z","repository":{"id":199881428,"uuid":"701206260","full_name":"space-code/capture-kit","owner":"space-code","description":"CaptureKit is a framework written in Objective-C that provides functions that can be used to capture the contents of a screen.","archived":false,"fork":false,"pushed_at":"2023-10-20T04:31:06.000Z","size":926,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2025-02-21T01:03:20.939Z","etag":null,"topics":["avfoundation","capture-screen","capture-video","objective-c"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/space-code.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-06T06:43:45.000Z","updated_at":"2025-01-10T03:12:59.000Z","dependencies_parsed_at":"2023-10-13T05:25:24.884Z","dependency_job_id":"db4499b0-5d21-4283-9f1d-0170ab2ecc48","html_url":"https://github.com/space-code/capture-kit","commit_stats":null,"previous_names":["space-code/capture-kit"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/space-code%2Fcapture-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/space-code%2Fcapture-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/space-code%2Fcapture-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/space-code%2Fcapture-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/space-code","download_url":"https://codeload.github.com/space-code/capture-kit/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243511214,"owners_count":20302525,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avfoundation","capture-screen","capture-video","objective-c"],"created_at":"2024-09-24T21:29:18.024Z","updated_at":"2026-01-02T04:42:14.409Z","avatar_url":"https://github.com/space-code.png","language":"Objective-C","readme":"![capture-kit: a framework written in Objective-C that provides functions that can be used to capture the contents of a screen](https://raw.githubusercontent.com/space-code/capture-kit/dev/Resources/capture-kit.png)\n\n\u003ch1 align=\"center\" style=\"margin-top: 0px;\"\u003ecapture-kit\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://cocoapods.org/pods/CaptureKit\"\u003e\u003cimg alt=\"CodeCov\" src=\"https://img.shields.io/cocoapods/v/CaptureKit.svg?style=flat\"\u003e\u003c/a\u003e\n\u003ca href=\"https://cocoapods.org/pods/CaptureKit\"\u003e\u003cimg alt=\"CodeCov\" src=\"https://img.shields.io/cocoapods/l/CaptureKit.svg?style=flat\"\u003e\u003c/a\u003e\n\u003ca href=\"https://cocoapods.org/pods/CaptureKit\"\u003e\u003cimg alt=\"CodeCov\" src=\"https://img.shields.io/cocoapods/p/CaptureKit.svg?style=flat\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/space-code/capture-kit\"\u003e\u003cimg alt=\"CI\" src=\"https://github.com/space-code/capture-kit/actions/workflows/ci.yml/badge.svg?branch=main\"\u003e\u003c/a\u003e\n\u003ca href=\"https://codecov.io/gh/space-code/capture-kit\"\u003e\u003cimg alt=\"CodeCov\" src=\"https://codecov.io/github/space-code/capture-kit/graph/badge.svg?token=aRe5JBCNtX\"\u003e\u003c/a\u003e \n\u003c/p\u003e\n\n## Description\n`capture-kit` is a framework written in Objective-C that provides functions that can be used to capture the contents of a screen.\n\n- [Usage](#usage)\n- [Requirements](#requirements)\n- [Communication](#communication)\n- [Contributing](#contributing)\n- [Author](#author)\n- [License](#license)\n\n## Usage\n\n1. Create a new instance of `NVCaptureService` that encompasses screen capturing functionality.\n\n```objc\nNVCaptureService *captureService = [[NVCaptureService alloc] init];\n```\n\n2. Set a delegate to receive recording-related events:\n\n```objc\ncaptureService.delegate = self;\n```\n\n3. An optional step: If you want to capture microphone sound, you need to obtain a microphone ID. To do this, create a new instance of `NVAudioService` that provides a list of connected device IDs.\n\n```objc\nNVAudioService *audioService = [[NVAudioService alloc] initWithMediaDeviceProvider:[NVMediaDeviceProvider new]];\nNSArray\u003cNSString *\u003e *ids = [audioService audioDevicesIDs];\n```\n\nYou can also check whether an audio device is connected to the system like this:\n```objc\nBOOL isConnected = [audioService isAudioDeviceConnected:@\"\u003cdevice_id_here\u003e\"];\n```\n\n4. Start screen capture\n\n```objc\nNSRect sampleRect = CGRectMake(0, 0, 1200, 1800);\nNSURL *sampleURL = [[NSURL alloc] initWithString:@\"file_url\"];\n\n[_captureService startRecordingWithAudioDeviceID:@\"\u003cdevice_id_here\u003e\"\n                                            rect:sampleRect\n                                 directDisplayID:kCGDirectMainDisplay\n                                   outputFileURL:sampleURL];\n```\n\nAlso, you can pass a custom capture configuration using ```objc - (void)startRecordingWithConfiguration:deviceID:rect:directDisplayID:outputFileURL:```\n\n5. For pausing, resuming, and cancelling, you can use the following methods:\n\n```objc\n- (void)pause\n- (void)resume\n- (void)stop\n```\n\n## Requirements\n- macOS 11.0+\n- Xcode 14.0\n\n## Communication\n- If you **found a bug**, open an issue.\n- If you **have a feature request**, open an issue.\n- If you **want to contribute**, submit a pull request.\n\n## Contributing\nBootstrapping development environment\n\n```\nmake bootstrap\n```\n\nPlease feel free to help out with this project! If you see something that could be made better or want a new feature, open up an issue or send a Pull Request!\n\n## Author\nNikita Vasilev, nv3212@gmail.com\n\n## License\ncapture-kit is available under the MIT license. See the LICENSE file for more info.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspace-code%2Fcapture-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspace-code%2Fcapture-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspace-code%2Fcapture-kit/lists"}