Catalog npm
Back to packageRELEASE DETAILS

2.0.2

npm

@0biwank/screen-capture

Native screen + audio capture for macOS with file-backed HLS output.

desktop-capturemacosmpegtsnapinative-addonscreen-capturehlsvideo-encoding
Published22 Jun 2026
Direct dependencies2
Transitive dependenciesNot calculated

README

Current package documentation

@0biwank/screen-capture

Native macOS screen, window, camera, microphone, and system-audio capture with file-backed HLS output.

Requirements

  • macOS 14 or newer
  • Apple silicon (arm64) or Intel (x64)
  • Node.js 18 or newer, including N-API-compatible Electron releases

The npm package includes prebuilt binaries for both supported architectures and does not compile native code during installation.

Installation

npm install @0biwank/screen-capture

Usage

const capture = require('@0biwank/screen-capture');

const display = capture.listDisplaySources()[0];
const recordingId = `capture-${Date.now()}`;

capture.setSegmentReadyCallback(fullPath => {
  console.log('HLS segment ready:', fullPath);
});

const started = capture.startCapture({
  displayId: display.id,
  width: display.width,
  height: display.height,
  fps: 30,
  gopSize: 120,
  videoBitrate: 9_000_000,
  systemAudio: true,
  microphone: false,
  outputDir: '/tmp/native-capture',
  recordingId,
  segmentTime: 4,
});

if (!started) throw new Error(capture.getLastError());

Call stopCapture() to flush the final segment and close playlist.m3u8. Pause and resume are available through pauseCapture() and resumeCapture(). See index.d.ts for the complete API and option types.

Building From Source

Release binaries are built by .github/workflows/publish.yml. Local builds use:

npm ci --ignore-scripts
brew install nasm pkg-config
NATIVE_CAPTURE_ARCH=arm64 npm run build
# or NATIVE_CAPTURE_ARCH=x64 npm run build

See SOURCE.md for pinned upstream sources, checksums, and build details.

License

The distributed binary links FFmpeg configured with GPL support and x264. The package is distributed under GPL-2.0-or-later. See LICENSE and THIRD_PARTY_NOTICES.md. Distribution in another application should be reviewed for license compliance.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 2

Native requirements
2 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
node-gyp
Environment
{
  "local_name": "node-gyp",
  "alias": false,
  "peer_metadata": null
}
^11.4.2development
node-addon-api
Environment
{
  "local_name": "node-addon-api",
  "alias": false,
  "peer_metadata": null
}
^8.5.0development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "shasum": "fdb673420899328b1ee0cef1560fcdf846b9d6e8",
  "tarball": "https://registry.npmjs.org/@0biwank/screen-capture/-/screen-capture-2.0.2.tgz",
  "fileCount": 14,
  "integrity": "sha512-r0SR47grPVAMbqse/KYmiI6iR79Hru8LJKZSinf5PBKQ0cCZaEVMUZRw/og0Youu2cq2zfMBE/0rpU8dLihsqg==",
  "signatures": [
    {
      "sig": "MEUCIAbcaGUWCMh2HbnAF1yLMwkiZ/jHlJaaNz2P4ZZGT7zLAiEAzaro9RYXkGGiMnr96H7rHY4hCxJ8L9hE61swQho5gbQ=",
      "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
    }
  ],
  "unpackedSize": 42745393
}

Repository

PENDING
xakep8/screencapturenapi

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:05 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:9b2880ced688ab8bba8fe6186d452238b97cce022882a5912ea320e58905a6b9

Other collected versions

2.0.56 Jul2.0.42 Jul2.0.329 Jun1.0.18 OctView all collected versions →