Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🎬🎥 OBS CLI

obs-cli is a command-line interface for OBS Studio.

It allows you to control OBS Studio from the command line, making it easier to automate scene switching, source toggling, and more.

This implementation of obs-cli is:

⚠️ Only the new OBS WebSocket API (v5) is supported!

💻 Installation

You can install obs-cli using pip(x):

# pipx
pipx install obs-cli
# pip
pip install --user obs-cli

🛠️ Usage

Here's the general usage of obs-cli:

obs-cli --help

This will show you the available commands and options.

🌟 Features

🎞️ Scene Management

You can manage scenes using the scene command:

obs-cli scene --help

For example, to switch to a scene named "Scene2":

obs-cli scene switch --scene "Scene2"

To list all scenes:

obs-cli scene list

📦 Item Management

You can manage scene items using the item command:

obs-cli item --help

For example, to hide an item named "Item1" in a scene named "Scene2":

obs-cli item hide --scene "Scene2""Item1"

And to show it:

obs-cli item show --scene "Scene2""Item1"

To list all items in a scene:

obs-cli item list --scene "Scene2"

🎤 Input Management

You can manage inputs using the input command:

obs-cli input --help

For example, to get the settings of an input named "Mic/Aux":

obs-cli input get "Mic/Aux"

To set the device_id of a webcam input named "Webcam":

obs-cli input set"Webcam" device_id /dev/v4l/by-id/usb-Elgato_Elgato_Facecam_FW52K1A04919-video-index0

To list all inputs:

obs-cli input list

🎨 Filter Management

You can manage filters using the filter command:

obs-cli filter --help

For example, to enable a filter named "Filter1" on an input named "Mic/Aux":

obs-cli filter enable"Mic/Aux""Filter1"

And to disable it:

obs-cli filter disable "Mic/Aux""Filter1"

To list all filters on an input:

obs-cli filter list "Mic/Aux"

⌨️ Hotkey Management

You can manage hotkeys using the hotkey command:

obs-cli hotkey --help

For example, to trigger a hotkey named "Hotkey1":

obs-cli hotkey trigger "Hotkey1"

To list all hotkeys:

obs-cli hotkey list

🎥 Virtual Camera Management

You can manage the virtual camera using the virtualcam command:

obs-cli virtualcam --help

For example, to start the virtual camera:

obs-cli virtualcam start

To stop the virtual camera:

obs-cli virtualcam stop

To toggle the virtual camera:

obs-cli virtualcam toggle

To get the status of the virtual camera:

obs-cli virtualcam status

📡 Stream Management

You can manage the stream using the stream command:

obs-cli stream --help

For example, to start streaming:

obs-cli stream start

To stop streaming:

obs-cli stream stop

To toggle streaming:

obs-cli stream toggle

To get the status of the stream:

obs-cli stream status

🎥 Record Management

You can manage recording using the record command:

obs-cli record --help

For example, to start recording:

obs-cli record start

To stop recording:

obs-cli record stop

To toggle recording:

obs-cli record toggle

To get the status of the recording:

obs-cli record status

📄 License

This project is licensed under the GPL-3.0 License.

See LICENSE for more information.

About

CLI for controlling OBS Studio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🎬🎥 OBS CLI

obs-cli is a command-line interface for OBS Studio.

It allows you to control OBS Studio from the command line, making it easier to automate scene switching, source toggling, and more.

This implementation of obs-cli is:

⚠️ Only the new OBS WebSocket API (v5) is supported!

💻 Installation

You can install obs-cli using pip(x):

# pipx
pipx install obs-cli
# pip
pip install --user obs-cli

🛠️ Usage

Here's the general usage of obs-cli:

obs-cli --help

This will show you the available commands and options.

🌟 Features

🎞️ Scene Management

You can manage scenes using the scene command:

obs-cli scene --help

For example, to switch to a scene named "Scene2":

obs-cli scene switch --scene "Scene2"

To list all scenes:

obs-cli scene list

📦 Item Management

You can manage scene items using the item command:

obs-cli item --help

For example, to hide an item named "Item1" in a scene named "Scene2":

obs-cli item hide --scene "Scene2""Item1"

And to show it:

obs-cli item show --scene "Scene2""Item1"

To list all items in a scene:

obs-cli item list --scene "Scene2"

🎤 Input Management

You can manage inputs using the input command:

obs-cli input --help

For example, to get the settings of an input named "Mic/Aux":

obs-cli input get "Mic/Aux"

To set the device_id of a webcam input named "Webcam":

obs-cli input set"Webcam" device_id /dev/v4l/by-id/usb-Elgato_Elgato_Facecam_FW52K1A04919-video-index0

To list all inputs:

obs-cli input list

🎨 Filter Management

You can manage filters using the filter command:

obs-cli filter --help

For example, to enable a filter named "Filter1" on an input named "Mic/Aux":

obs-cli filter enable"Mic/Aux""Filter1"

And to disable it:

obs-cli filter disable "Mic/Aux""Filter1"

To list all filters on an input:

obs-cli filter list "Mic/Aux"

⌨️ Hotkey Management

You can manage hotkeys using the hotkey command:

obs-cli hotkey --help

For example, to trigger a hotkey named "Hotkey1":

obs-cli hotkey trigger "Hotkey1"

To list all hotkeys:

obs-cli hotkey list

🎥 Virtual Camera Management

You can manage the virtual camera using the virtualcam command:

obs-cli virtualcam --help

For example, to start the virtual camera:

obs-cli virtualcam start

To stop the virtual camera:

obs-cli virtualcam stop

To toggle the virtual camera:

obs-cli virtualcam toggle

To get the status of the virtual camera:

obs-cli virtualcam status

📡 Stream Management

You can manage the stream using the stream command:

obs-cli stream --help

For example, to start streaming:

obs-cli stream start

To stop streaming:

obs-cli stream stop

To toggle streaming:

obs-cli stream toggle

To get the status of the stream:

obs-cli stream status

🎥 Record Management

You can manage recording using the record command:

obs-cli record --help

For example, to start recording:

obs-cli record start

To stop recording:

obs-cli record stop

To toggle recording:

obs-cli record toggle

To get the status of the recording:

obs-cli record status

📄 License

This project is licensed under the GPL-3.0 License.

See LICENSE for more information.

About

CLI for controlling OBS Studio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🎬🎥 OBS CLI

obs-cli is a command-line interface for OBS Studio.

It allows you to control OBS Studio from the command line, making it easier to automate scene switching, source toggling, and more.

This implementation of obs-cli is:

⚠️ Only the new OBS WebSocket API (v5) is supported!

💻 Installation

You can install obs-cli using pip(x):

# pipx
pipx install obs-cli
# pip
pip install --user obs-cli

🛠️ Usage

Here's the general usage of obs-cli:

obs-cli --help

This will show you the available commands and options.

🌟 Features

🎞️ Scene Management

You can manage scenes using the scene command:

obs-cli scene --help

For example, to switch to a scene named "Scene2":

obs-cli scene switch --scene "Scene2"

To list all scenes:

obs-cli scene list

📦 Item Management

You can manage scene items using the item command:

obs-cli item --help

For example, to hide an item named "Item1" in a scene named "Scene2":

obs-cli item hide --scene "Scene2""Item1"

And to show it:

obs-cli item show --scene "Scene2""Item1"

To list all items in a scene:

obs-cli item list --scene "Scene2"

🎤 Input Management

You can manage inputs using the input command:

obs-cli input --help

For example, to get the settings of an input named "Mic/Aux":

obs-cli input get "Mic/Aux"

To set the device_id of a webcam input named "Webcam":

obs-cli input set"Webcam" device_id /dev/v4l/by-id/usb-Elgato_Elgato_Facecam_FW52K1A04919-video-index0

To list all inputs:

obs-cli input list

🎨 Filter Management

You can manage filters using the filter command:

obs-cli filter --help

For example, to enable a filter named "Filter1" on an input named "Mic/Aux":

obs-cli filter enable"Mic/Aux""Filter1"

And to disable it:

obs-cli filter disable "Mic/Aux""Filter1"

To list all filters on an input:

obs-cli filter list "Mic/Aux"

⌨️ Hotkey Management

You can manage hotkeys using the hotkey command:

obs-cli hotkey --help

For example, to trigger a hotkey named "Hotkey1":

obs-cli hotkey trigger "Hotkey1"

To list all hotkeys:

obs-cli hotkey list

🎥 Virtual Camera Management

You can manage the virtual camera using the virtualcam command:

obs-cli virtualcam --help

For example, to start the virtual camera:

obs-cli virtualcam start

To stop the virtual camera:

obs-cli virtualcam stop

To toggle the virtual camera:

obs-cli virtualcam toggle

To get the status of the virtual camera:

obs-cli virtualcam status

📡 Stream Management

You can manage the stream using the stream command:

obs-cli stream --help

For example, to start streaming:

obs-cli stream start

To stop streaming:

obs-cli stream stop

To toggle streaming:

obs-cli stream toggle

To get the status of the stream:

obs-cli stream status

🎥 Record Management

You can manage recording using the record command:

obs-cli record --help

For example, to start recording:

obs-cli record start

To stop recording:

obs-cli record stop

To toggle recording:

obs-cli record toggle

To get the status of the recording:

obs-cli record status

📄 License

This project is licensed under the GPL-3.0 License.

See LICENSE for more information.

About

CLI for controlling OBS Studio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🎬🎥 OBS CLI

obs-cli is a command-line interface for OBS Studio.

It allows you to control OBS Studio from the command line, making it easier to automate scene switching, source toggling, and more.

This implementation of obs-cli is:

⚠️ Only the new OBS WebSocket API (v5) is supported!

💻 Installation

You can install obs-cli using pip(x):

# pipx
pipx install obs-cli
# pip
pip install --user obs-cli

🛠️ Usage

Here's the general usage of obs-cli:

obs-cli --help

This will show you the available commands and options.

🌟 Features

🎞️ Scene Management

You can manage scenes using the scene command:

obs-cli scene --help

For example, to switch to a scene named "Scene2":

obs-cli scene switch --scene "Scene2"

To list all scenes:

obs-cli scene list

📦 Item Management

You can manage scene items using the item command:

obs-cli item --help

For example, to hide an item named "Item1" in a scene named "Scene2":

obs-cli item hide --scene "Scene2""Item1"

And to show it:

obs-cli item show --scene "Scene2""Item1"

To list all items in a scene:

obs-cli item list --scene "Scene2"

🎤 Input Management

You can manage inputs using the input command:

obs-cli input --help

For example, to get the settings of an input named "Mic/Aux":

obs-cli input get "Mic/Aux"

To set the device_id of a webcam input named "Webcam":

obs-cli input set"Webcam" device_id /dev/v4l/by-id/usb-Elgato_Elgato_Facecam_FW52K1A04919-video-index0

To list all inputs:

obs-cli input list

🎨 Filter Management

You can manage filters using the filter command:

obs-cli filter --help

For example, to enable a filter named "Filter1" on an input named "Mic/Aux":

obs-cli filter enable"Mic/Aux""Filter1"

And to disable it:

obs-cli filter disable "Mic/Aux""Filter1"

To list all filters on an input:

obs-cli filter list "Mic/Aux"

⌨️ Hotkey Management

You can manage hotkeys using the hotkey command:

obs-cli hotkey --help

For example, to trigger a hotkey named "Hotkey1":

obs-cli hotkey trigger "Hotkey1"

To list all hotkeys:

obs-cli hotkey list

🎥 Virtual Camera Management

You can manage the virtual camera using the virtualcam command:

obs-cli virtualcam --help

For example, to start the virtual camera:

obs-cli virtualcam start

To stop the virtual camera:

obs-cli virtualcam stop

To toggle the virtual camera:

obs-cli virtualcam toggle

To get the status of the virtual camera:

obs-cli virtualcam status

📡 Stream Management

You can manage the stream using the stream command:

obs-cli stream --help

For example, to start streaming:

obs-cli stream start

To stop streaming:

obs-cli stream stop

To toggle streaming:

obs-cli stream toggle

To get the status of the stream:

obs-cli stream status

🎥 Record Management

You can manage recording using the record command:

obs-cli record --help

For example, to start recording:

obs-cli record start

To stop recording:

obs-cli record stop

To toggle recording:

obs-cli record toggle

To get the status of the recording:

obs-cli record status

📄 License

This project is licensed under the GPL-3.0 License.

See LICENSE for more information.

About

CLI for controlling OBS Studio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🎬🎥 OBS CLI

obs-cli is a command-line interface for OBS Studio.

It allows you to control OBS Studio from the command line, making it easier to automate scene switching, source toggling, and more.

This implementation of obs-cli is:

⚠️ Only the new OBS WebSocket API (v5) is supported!

💻 Installation

You can install obs-cli using pip(x):

# pipx
pipx install obs-cli
# pip
pip install --user obs-cli

🛠️ Usage

Here's the general usage of obs-cli:

obs-cli --help

This will show you the available commands and options.

🌟 Features

🎞️ Scene Management

You can manage scenes using the scene command:

obs-cli scene --help

For example, to switch to a scene named "Scene2":

obs-cli scene switch --scene "Scene2"

To list all scenes:

obs-cli scene list

📦 Item Management

You can manage scene items using the item command:

obs-cli item --help

For example, to hide an item named "Item1" in a scene named "Scene2":

obs-cli item hide --scene "Scene2""Item1"

And to show it:

obs-cli item show --scene "Scene2""Item1"

To list all items in a scene:

obs-cli item list --scene "Scene2"

🎤 Input Management

You can manage inputs using the input command:

obs-cli input --help

For example, to get the settings of an input named "Mic/Aux":

obs-cli input get "Mic/Aux"

To set the device_id of a webcam input named "Webcam":

obs-cli input set"Webcam" device_id /dev/v4l/by-id/usb-Elgato_Elgato_Facecam_FW52K1A04919-video-index0

To list all inputs:

obs-cli input list

🎨 Filter Management

You can manage filters using the filter command:

obs-cli filter --help

For example, to enable a filter named "Filter1" on an input named "Mic/Aux":

obs-cli filter enable"Mic/Aux""Filter1"

And to disable it:

obs-cli filter disable "Mic/Aux""Filter1"

To list all filters on an input:

obs-cli filter list "Mic/Aux"

⌨️ Hotkey Management

You can manage hotkeys using the hotkey command:

obs-cli hotkey --help

For example, to trigger a hotkey named "Hotkey1":

obs-cli hotkey trigger "Hotkey1"

To list all hotkeys:

obs-cli hotkey list

🎥 Virtual Camera Management

You can manage the virtual camera using the virtualcam command:

obs-cli virtualcam --help

For example, to start the virtual camera:

obs-cli virtualcam start

To stop the virtual camera:

obs-cli virtualcam stop

To toggle the virtual camera:

obs-cli virtualcam toggle

To get the status of the virtual camera:

obs-cli virtualcam status

📡 Stream Management

You can manage the stream using the stream command:

obs-cli stream --help

For example, to start streaming:

obs-cli stream start

To stop streaming:

obs-cli stream stop

To toggle streaming:

obs-cli stream toggle

To get the status of the stream:

obs-cli stream status

🎥 Record Management

You can manage recording using the record command:

obs-cli record --help

For example, to start recording:

obs-cli record start

To stop recording:

obs-cli record stop

To toggle recording:

obs-cli record toggle

To get the status of the recording:

obs-cli record status

📄 License

This project is licensed under the GPL-3.0 License.

See LICENSE for more information.

About

CLI for controlling OBS Studio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🎬🎥 OBS CLI

obs-cli is a command-line interface for OBS Studio.

It allows you to control OBS Studio from the command line, making it easier to automate scene switching, source toggling, and more.

This implementation of obs-cli is:

⚠️ Only the new OBS WebSocket API (v5) is supported!

💻 Installation

You can install obs-cli using pip(x):

# pipx
pipx install obs-cli
# pip
pip install --user obs-cli

🛠️ Usage

Here's the general usage of obs-cli:

obs-cli --help

This will show you the available commands and options.

🌟 Features

🎞️ Scene Management

You can manage scenes using the scene command:

obs-cli scene --help

For example, to switch to a scene named "Scene2":

obs-cli scene switch --scene "Scene2"

To list all scenes:

obs-cli scene list

📦 Item Management

You can manage scene items using the item command:

obs-cli item --help

For example, to hide an item named "Item1" in a scene named "Scene2":

obs-cli item hide --scene "Scene2""Item1"

And to show it:

obs-cli item show --scene "Scene2""Item1"

To list all items in a scene:

obs-cli item list --scene "Scene2"

🎤 Input Management

You can manage inputs using the input command:

obs-cli input --help

For example, to get the settings of an input named "Mic/Aux":

obs-cli input get "Mic/Aux"

To set the device_id of a webcam input named "Webcam":

obs-cli input set"Webcam" device_id /dev/v4l/by-id/usb-Elgato_Elgato_Facecam_FW52K1A04919-video-index0

To list all inputs:

obs-cli input list

🎨 Filter Management

You can manage filters using the filter command:

obs-cli filter --help

For example, to enable a filter named "Filter1" on an input named "Mic/Aux":

obs-cli filter enable"Mic/Aux""Filter1"

And to disable it:

obs-cli filter disable "Mic/Aux""Filter1"

To list all filters on an input:

obs-cli filter list "Mic/Aux"

⌨️ Hotkey Management

You can manage hotkeys using the hotkey command:

obs-cli hotkey --help

For example, to trigger a hotkey named "Hotkey1":

obs-cli hotkey trigger "Hotkey1"

To list all hotkeys:

obs-cli hotkey list

🎥 Virtual Camera Management

You can manage the virtual camera using the virtualcam command:

obs-cli virtualcam --help

For example, to start the virtual camera:

obs-cli virtualcam start

To stop the virtual camera:

obs-cli virtualcam stop

To toggle the virtual camera:

obs-cli virtualcam toggle

To get the status of the virtual camera:

obs-cli virtualcam status

📡 Stream Management

You can manage the stream using the stream command:

obs-cli stream --help

For example, to start streaming:

obs-cli stream start

To stop streaming:

obs-cli stream stop

To toggle streaming:

obs-cli stream toggle

To get the status of the stream:

obs-cli stream status

🎥 Record Management

You can manage recording using the record command:

obs-cli record --help

For example, to start recording:

obs-cli record start

To stop recording:

obs-cli record stop

To toggle recording:

obs-cli record toggle

To get the status of the recording:

obs-cli record status

📄 License

This project is licensed under the GPL-3.0 License.

See LICENSE for more information.

About

CLI for controlling OBS Studio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🎬🎥 OBS CLI

obs-cli is a command-line interface for OBS Studio.

It allows you to control OBS Studio from the command line, making it easier to automate scene switching, source toggling, and more.

This implementation of obs-cli is:

⚠️ Only the new OBS WebSocket API (v5) is supported!

💻 Installation

You can install obs-cli using pip(x):

# pipx
pipx install obs-cli
# pip
pip install --user obs-cli

🛠️ Usage

Here's the general usage of obs-cli:

obs-cli --help

This will show you the available commands and options.

🌟 Features

🎞️ Scene Management

You can manage scenes using the scene command:

obs-cli scene --help

For example, to switch to a scene named "Scene2":

obs-cli scene switch --scene "Scene2"

To list all scenes:

obs-cli scene list

📦 Item Management

You can manage scene items using the item command:

obs-cli item --help

For example, to hide an item named "Item1" in a scene named "Scene2":

obs-cli item hide --scene "Scene2""Item1"

And to show it:

obs-cli item show --scene "Scene2""Item1"

To list all items in a scene:

obs-cli item list --scene "Scene2"

🎤 Input Management

You can manage inputs using the input command:

obs-cli input --help

For example, to get the settings of an input named "Mic/Aux":

obs-cli input get "Mic/Aux"

To set the device_id of a webcam input named "Webcam":

obs-cli input set"Webcam" device_id /dev/v4l/by-id/usb-Elgato_Elgato_Facecam_FW52K1A04919-video-index0

To list all inputs:

obs-cli input list

🎨 Filter Management

You can manage filters using the filter command:

obs-cli filter --help

For example, to enable a filter named "Filter1" on an input named "Mic/Aux":

obs-cli filter enable"Mic/Aux""Filter1"

And to disable it:

obs-cli filter disable "Mic/Aux""Filter1"

To list all filters on an input:

obs-cli filter list "Mic/Aux"

⌨️ Hotkey Management

You can manage hotkeys using the hotkey command:

obs-cli hotkey --help

For example, to trigger a hotkey named "Hotkey1":

obs-cli hotkey trigger "Hotkey1"

To list all hotkeys:

obs-cli hotkey list

🎥 Virtual Camera Management

You can manage the virtual camera using the virtualcam command:

obs-cli virtualcam --help

For example, to start the virtual camera:

obs-cli virtualcam start

To stop the virtual camera:

obs-cli virtualcam stop

To toggle the virtual camera:

obs-cli virtualcam toggle

To get the status of the virtual camera:

obs-cli virtualcam status

📡 Stream Management

You can manage the stream using the stream command:

obs-cli stream --help

For example, to start streaming:

obs-cli stream start

To stop streaming:

obs-cli stream stop

To toggle streaming:

obs-cli stream toggle

To get the status of the stream:

obs-cli stream status

🎥 Record Management

You can manage recording using the record command:

obs-cli record --help

For example, to start recording:

obs-cli record start

To stop recording:

obs-cli record stop

To toggle recording:

obs-cli record toggle

To get the status of the recording:

obs-cli record status

📄 License

This project is licensed under the GPL-3.0 License.

See LICENSE for more information.

About

CLI for controlling OBS Studio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

🎬🎥 OBS CLI

obs-cli is a command-line interface for OBS Studio.

It allows you to control OBS Studio from the command line, making it easier to automate scene switching, source toggling, and more.

This implementation of obs-cli is:

⚠️ Only the new OBS WebSocket API (v5) is supported!

💻 Installation

You can install obs-cli using pip(x):

# pipx
pipx install obs-cli
# pip
pip install --user obs-cli

🛠️ Usage

Here's the general usage of obs-cli:

obs-cli --help

This will show you the available commands and options.

🌟 Features

🎞️ Scene Management

You can manage scenes using the scene command:

obs-cli scene --help

For example, to switch to a scene named "Scene2":

obs-cli scene switch --scene "Scene2"

To list all scenes:

obs-cli scene list

📦 Item Management

You can manage scene items using the item command:

obs-cli item --help

For example, to hide an item named "Item1" in a scene named "Scene2":

obs-cli item hide --scene "Scene2""Item1"

And to show it:

obs-cli item show --scene "Scene2""Item1"

To list all items in a scene:

obs-cli item list --scene "Scene2"

🎤 Input Management

You can manage inputs using the input command:

obs-cli input --help

For example, to get the settings of an input named "Mic/Aux":

obs-cli input get "Mic/Aux"

To set the device_id of a webcam input named "Webcam":

obs-cli input set"Webcam" device_id /dev/v4l/by-id/usb-Elgato_Elgato_Facecam_FW52K1A04919-video-index0

To list all inputs:

obs-cli input list

🎨 Filter Management

You can manage filters using the filter command:

obs-cli filter --help

For example, to enable a filter named "Filter1" on an input named "Mic/Aux":

obs-cli filter enable"Mic/Aux""Filter1"

And to disable it:

obs-cli filter disable "Mic/Aux""Filter1"

To list all filters on an input:

obs-cli filter list "Mic/Aux"

⌨️ Hotkey Management

You can manage hotkeys using the hotkey command:

obs-cli hotkey --help

For example, to trigger a hotkey named "Hotkey1":

obs-cli hotkey trigger "Hotkey1"

To list all hotkeys:

obs-cli hotkey list

🎥 Virtual Camera Management

You can manage the virtual camera using the virtualcam command:

obs-cli virtualcam --help

For example, to start the virtual camera:

obs-cli virtualcam start

To stop the virtual camera:

obs-cli virtualcam stop

To toggle the virtual camera:

obs-cli virtualcam toggle

To get the status of the virtual camera:

obs-cli virtualcam status

📡 Stream Management

You can manage the stream using the stream command:

obs-cli stream --help

For example, to start streaming:

obs-cli stream start

To stop streaming:

obs-cli stream stop

To toggle streaming:

obs-cli stream toggle

To get the status of the stream:

obs-cli stream status

🎥 Record Management

You can manage recording using the record command:

obs-cli record --help

For example, to start recording:

obs-cli record start

To stop recording:

obs-cli record stop

To toggle recording:

obs-cli record toggle

To get the status of the recording:

obs-cli record status

📄 License

This project is licensed under the GPL-3.0 License.

See LICENSE for more information.

About

CLI for controlling OBS Studio

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages