{"id":19602624,"url":"https://github.com/wang-bin/obs-browser","last_synced_at":"2025-06-28T19:32:20.168Z","repository":{"id":141348926,"uuid":"213878622","full_name":"wang-bin/obs-browser","owner":"wang-bin","description":null,"archived":false,"fork":false,"pushed_at":"2020-06-15T08:25:53.000Z","size":611,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"wang","last_synced_at":"2025-02-26T15:45:28.305Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/wang-bin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","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":"2019-10-09T09:39:47.000Z","updated_at":"2020-06-15T08:28:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"9fd36d20-49dc-4eae-86b4-5fa199cd81be","html_url":"https://github.com/wang-bin/obs-browser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wang-bin/obs-browser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wang-bin%2Fobs-browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wang-bin%2Fobs-browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wang-bin%2Fobs-browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wang-bin%2Fobs-browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wang-bin","download_url":"https://codeload.github.com/wang-bin/obs-browser/tar.gz/refs/heads/wang","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wang-bin%2Fobs-browser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262484139,"owners_count":23318402,"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":[],"created_at":"2024-11-11T09:25:08.472Z","updated_at":"2025-06-28T19:32:20.134Z","avatar_url":"https://github.com/wang-bin.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# obs-browser\n\nCEF Based obs-studio browser plugin\n\n## JS Bindings\n\nobs-browser provides a global object that allows access to some obs specific functionality from javascript.\n\n### Get OBS Studio Browser Plugin Version\n```\nwindow.obsstudio.pluginVersion\n// =\u003e 1.24.0\n```\n\n### Register for visibility callbacks\n```\n/**\n * onVisibilityChange gets callbacks when the visibility of the browser source changes in OBS\n *\n * @param {bool} visibility - True -\u003e visible, False -\u003e hidden\n */\nwindow.obsstudio.onVisibilityChange = function(visibility) {\n\t\n};\n```\n\n### Register for active/inactive callbacks\n```\n/**\n * onActiveChange gets callbacks when the active/inactive state of the browser source changes in OBS\n *\n * @param {bool} True -\u003e active, False -\u003e inactive\n */\nwindow.obsstudio.onActiveChange = function(active) {\n\t\n};\n```\n\n### Register for scene change callbacks\n```\nwindow.addEventListener('obsSceneChanged', function(evt) {\n\tvar t = document.createTextNode(evt.detail.name);\n    document.body.appendChild(t);\n});\n```\n#### Other events that are available\n* obsStreamingStarting\n* obsStreamingStarted\n* obsStreamingStopping\n* obsStreamingStopped\n* obsRecordingStarting\n* obsRecordingStarted\n* obsRecordingStopping\n* obsRecordingStopped\n\n### Get the current scene\n```\nwindow.obsstudio.getCurrentScene(function(data) { console.log(data); });\n\ndata is a Javascript object containing the following properties:\n* width\n* height\n* name\n```\n\n### Get OBS output status\n```\nwindow.obsstudio.getStatus(function data) { console.log(data); });\n\ndata is a Javascript object containing the following properties:\n* recording (true/false)\n* streaming (true/false)\n* replaybuffer (true/false)\n```\n\n## Building on OSX\n\n### Building CEF\n#### Getting\n*  Download CEF Mac 64 from [http://opensource.spotify.com/cefbuilds/index.html](http://opensource.spotify.com/cefbuilds/index.html)\n  *  Use CEF branch 3112\n*  Extract and cd into the folder\n\n#### Setting Up Project\n```\nmkdir build\ncmake -D CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY=libc++ -G Xcode ..\nopen cef.xcodeproj/\n```\n\n#### Building\nBuild in Xcode (⌘+B)\n\nTODO: tell user to move stuff, or update FindCEF.cmake\n\n### Building OBS and obs-browser\n#### Installing Dependencies\n```\nbrew install ffmpeg x264 qt5 cmake\n```\n\n#### Setting Up Project\n```\ngit clone --recursive https://github.com/jp9000/obs-studio.git\ncd ./obs-studio\ngit clone git@github.com:kc5nra/obs-browser.git ./plugins/obs-browser\necho \"add_subdirectory(obs-browser)\" \u003e\u003e ./plugins/CMakeLists.txt\nmkdir build\ncd ./build\ncmake -D CMAKE_PREFIX_PATH=/usr/local/opt/qt5/lib/cmake -D CEF_ROOT_DIR=/Users/username/Development/cef_binary_3.2883.1540.gedbfb20_macosx64 -D BUILD_BROWSER=yes -G Xcode ..\nopen obs-studio.xcodeproj/\n```\n\n#### Building\nBuild in Xcode (⌘+B)\n\n## Building on Windows\n\n### Building CEF\n#### Getting\n*  Download CEF Windows 64bit from [http://opensource.spotify.com/cefbuilds/index.html](http://opensource.spotify.com/cefbuilds/index.html)\n  *  Use CEF branch 3440 or newer (3579 if you want shared texture support)\n*  Extract and cd into the folder\n\n#### Setting Up the Project\n* Run cmake-gui\n  * In \"where is the source code\", enter in the repo directory (example: C:/Users/User/Desktop/cef_binary_3.2743.1445.gdad7c0a_windows64).\n  * In \"where to build the binaries\", enter the repo directory path with the 'build' subdirectory (example: C:/Users/User/Desktop/cef_binary_3.2743.1445.gdad7c0a_windows64/build).\n* Press 'Configure' and select the generator that fits to your installed VS Version:\nVisual Studio 12 2013 Win64, Visual Studio 14 2015 Win64 or Visual Studio 15 2017 Win64\n* Press 'Generate' to generate Visual Studio project files in the 'build' subdirectory.\n* Open cef.sln from the 'build' subdirectory\n\n#### Building\n* Build at least libcef_dll_wrapper (as Release), the rest is optional and are just clients to test with\n\n### Building OBS and obs-browser\n#### Follow the OBS build instructions\n[https://github.com/jp9000/obs-studio/wiki/Install-Instructions#windows](https://github.com/jp9000/obs-studio/wiki/Install-Instructions#windows)\n\n#### Setting Up Project\n* Enable BUILD_BROWSER and set the CEF_ROOT_DIR path in cmake-gui for obs-studio (example: C:/Users/User/Desktop/cef_binary_3.2743.1445.gdad7c0a_windows64)\n* * Press 'Generate' to generate Visual Studio project files in the 'build' subdirectory.\n* Open obs-studio.sln from the 'build' subdirectory\n\n#### Building\nBuild in Visual Studio\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwang-bin%2Fobs-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwang-bin%2Fobs-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwang-bin%2Fobs-browser/lists"}