{"id":19478871,"url":"https://github.com/xan105/node-video-capture","last_synced_at":"2025-09-06T22:33:03.841Z","repository":{"id":97594113,"uuid":"322231598","full_name":"xan105/node-video-capture","owner":"xan105","description":"Record your screen using hardware accelerated encoder","archived":false,"fork":false,"pushed_at":"2024-05-10T15:37:32.000Z","size":141490,"stargazers_count":2,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-30T01:51:44.311Z","etag":null,"topics":["amf","capture","ffmpeg","nodejs","nvenc","recording","video","windows"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xan105.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"patreon":"xan105","custom":"https://www.paypal.me/xan105"}},"created_at":"2020-12-17T08:37:23.000Z","updated_at":"2025-08-23T21:41:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"c63a2d62-4c69-4b47-b877-efb416c79ec6","html_url":"https://github.com/xan105/node-video-capture","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xan105/node-video-capture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xan105%2Fnode-video-capture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xan105%2Fnode-video-capture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xan105%2Fnode-video-capture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xan105%2Fnode-video-capture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xan105","download_url":"https://codeload.github.com/xan105/node-video-capture/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xan105%2Fnode-video-capture/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273973598,"owners_count":25200575,"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","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["amf","capture","ffmpeg","nodejs","nvenc","recording","video","windows"],"created_at":"2024-11-10T19:51:50.071Z","updated_at":"2025-09-06T22:33:03.812Z","avatar_url":"https://github.com/xan105.png","language":"Shell","funding_links":["https://patreon.com/xan105","https://www.paypal.me/xan105"],"categories":[],"sub_categories":[],"readme":"About\n=====\n\nRecord your screen using hardware accelerated encoder.\u003cbr/\u003e\nNVIDIA nvenc or AMD amf.\n\nExample\n=======\n\n```js\nimport { hwencode } from \"@xan105/video-capture\";\n\nhwencode(\"./path/to/file.mp4\",\"h264_nvenc\")\n.then(console.log)\n.catch(console.error);\n```\n\nInstall\n=======\n\n```\nnpm install @xan105/video-capture\n```\n\nAPI\n===\n\n⚠️ This module is only available as an ECMAScript module (ESM) starting with version 2.0.0.\u003cbr /\u003e\nPrevious version(s) are CommonJS (CJS) with an ESM wrapper.\n\n## Named export\n\n#### `hwencode(filePath: string, codec: string, option?: obj): Promise\u003cstring\u003e`\n\nRecord your screen in .mp4 using NVIDIA nvenc or AMD amf with h264 or h265/HEVC hardware encoder at given location.\u003cbr/\u003e\nReturns mp4 filepath.\u003cbr/\u003e\n\n- filePath: output file location\u003cbr/\u003e\nNB: _filepath extension will be enforced to '.mp4'_\n\n- codec: \n\n  | |NVIDIA|AMD|\n  |---|------|---|\n  |H.264/AVC|h264_nvenc|h264_amf|\n  |H.265/HEVC|hevc_nvenc|hevc_amf|\n\n- option :\n\n```js\noption = {\n    overwrite: false, //Allow (true) file overwrite if target already exists\n    timeLength: \"00:00:20\", //duration\n    framerate: 60, //HEVC can reach up to 100, 120 or 150\n    probesize: 42, //1080p\n    threadQueue: 512,\n    size: \"1920x1080\", //default to current screen resolution\n    videoEncodingOptions: \"-rc:v vbr -level:v 4.2 -g:v 120 -bf:v 3 -qp:v 19\",//* default to a custom profile\n    bits10: false, //use 10bits color depth\n    mouse: false, //capture the mouse\n    audioInterface: null, //Windows interface name for audio loopback (aka record what you hear, stereo-mix, etc)\n    audioDelay: 900, //(ms) delay; Set to 0 to disable \n    audioEncodingOptions: \"\",//*\n    bitrate: {\n      video: 6000, //(k) video\n      min: 3000, //(k) video\n      max: 9000, //(k) video\n      audio: 160 //(k) audio\n    }\n  };\n```\n\nNB: *_Please refer to ffmpeg regarding video and audio encoding options._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxan105%2Fnode-video-capture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxan105%2Fnode-video-capture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxan105%2Fnode-video-capture/lists"}