{"id":23304299,"url":"https://github.com/clowd/obs-express","last_synced_at":"2025-08-22T08:32:27.188Z","repository":{"id":54595516,"uuid":"522337628","full_name":"clowd/obs-express","owner":"clowd","description":"A tiny OBS build with a simple command line interface.","archived":false,"fork":false,"pushed_at":"2023-09-25T16:42:05.000Z","size":1403,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-18T02:19:56.956Z","etag":null,"topics":["desktop-duplication","ffmpeg","obs","obs-studio","screen-recorder","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clowd.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},"funding":{"github":"caesay","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2022-08-07T22:21:29.000Z","updated_at":"2024-03-02T23:36:44.000Z","dependencies_parsed_at":"2023-01-22T16:46:05.500Z","dependency_job_id":null,"html_url":"https://github.com/clowd/obs-express","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clowd%2Fobs-express","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clowd%2Fobs-express/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clowd%2Fobs-express/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clowd%2Fobs-express/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clowd","download_url":"https://codeload.github.com/clowd/obs-express/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230575766,"owners_count":18247484,"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":["desktop-duplication","ffmpeg","obs","obs-studio","screen-recorder","windows"],"created_at":"2024-12-20T11:16:31.144Z","updated_at":"2024-12-20T11:16:31.754Z","avatar_url":"https://github.com/clowd.png","language":"C++","funding_links":["https://github.com/sponsors/caesay"],"categories":[],"sub_categories":[],"readme":"## obs-express\nThis is a custom build of OBS, ffmpeg, and a light-weight executable wrapper. It is only 50mb (22mb compressed) and is capable of recording and encoding a specific region of the screen at an extremely high speed thanks to OBS.\n\n------\n\n### Usage \n\nThe command line help is as follows:\n\n```txt\nobs-express v1.0.0, a command line screen recording utility\n  bundled with obs-studio v29.1.3\n  created for Clowd (https://github.com/clowd/Clowd)\n\nGlobal:\n  --help                  Show this help text\n\nRequired:\n  --output {filePath}     The file for the generated recording\n\nOne of:\n  --region {x,y,w,h}      A capture region to spanning multiple monitors\n  --monitor {szDevice}    Only capture the specified monitor\n\nOptional:\n  --adapter {int}         The index of the graphics device to use\n  --speaker {dev_id}      Output device ID to record (can be multiple)\n  --microphone {dev_id}   Input device ID to record (can be multiple)\n  --fps {int}             The target video framerate (default: 30)\n  --crf {int}             Quality from 0-51, lower is better. (default: 24)\n  --maxWidth {int}        Downscale output to a maximum width\n  --maxHeight {int}       Downscale output to a maximum height\n  --tracker               If the mouse click tracker should be rendered\n  --trackerColor {r,g,b}  The color of the tracker (default: 255,0,0)\n  --lowCpuMode            Maximize performance if using CPU encoding\n  --hwAccel               Use hardware encoding if available\n  --noCursor              Do not render mouse cursor in recording\n  --pause                 Pause before recording until start command\n  --preview {hWnd}        Render a recording preview to window handle\n  --omux {name:value}     Add custom muxer/ffmpeg output options\n```\n\nThe parameter `--output` is required, and you must specify either `--region` or `--monitor`. You can retrieve `szDevice` for a monitor using win32 `GetMonitorInfo`.\n\nBoth the `--speaker` and `--microphone` parameters can be specified more than once, to record multiple devices. \nThey support `default` being passed in as the value to use the default device, or the `{ID}` of the device as returned from `MMDeviceEnumerator`.\nMaximum 5 simultaneous audio devices.\n\n### Realtime Commands\n\nWhile the recorder is running, you can provide the following commands via stdin:\n\n- `q` or `Ctrl+C`: Stop recording and quit.\n- `start`: Used in conjunction with the --pause parameter.\n- `mute`: Mutes an audio device. Must provide the device type and index (order in which it was provided in command line arguments). \n  Examples:\n  - Mute the first speaker device: `mute s 0`\n  - Mute the second microphone device: `mute m 1`\n- `unmute`: Unmutes an audio device. Same syntax as `mute`.\n- `pause`: Pauses the capture/rendering pipeline. Can be resumed with `start`.\n\n\n### Compiling\n\nRequirements:\n - Visual Studio 17.2.6 or later\n - Desktop development with C++ (Workload)\n - Windows SDK 10.0.20348\n\nThe following will perform a full build and output `obs-express.zip` to the project directory.\n```cmd\ngit clone --recursive https://github.com/clowd/obs-express.git\nconfigure-obs.cmd\npack-release.cmd\n```\n\nNow open `ObsExpressCpp.sln` in Visual Studio and you should be able to F5 and run/debug the program.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclowd%2Fobs-express","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclowd%2Fobs-express","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclowd%2Fobs-express/lists"}