/obs-zoom-and-follow-zh

Dynamic zoom and mouse tracking script for OBS Studio(中文汉化版本)

Primary LanguagePythonApache License 2.0Apache-2.0

Zoom and Follow

Have you ever needed to zoom in on your screen to show some fine detail work, or to make your large 4k/ultrawide monitor appear less daunting on stream? Zoom and Follow for OBS Studio does exactly that, zooms in on your mouse and follows it around. Configurable and low-impact, you can now do old school Camtasia zoom live!

Maintained for the current release version of OBS

Built using Python 3.10

Inspired by caharkness's Magic Window

Last updated: 2023 April 16

Dependencies

Install

  • Install Python 3

    Make sure that you configure the correct version of Python within OBS in the "Scripts" window > "Python Settings" tab

  • Install PyWinCtl

    Be sure to install to the Python version that OBS is using.

  • Add zoom_and_follow_mouse.py as an OBS script

Note: I will not provide support on how to install Python or any dependencies as each system and platform is different and I am only set up to test on the current versions of Windows 11 and macOS.

How to Use

  1. In the "Tools > Scripts" Menu of OBS
    • Select a source to zoom into as part of the script settings
    • Configure the size of the zoom window
    • Change any of the other settings to adjust the zoom and follow behavior (Optional)
  2. In the "Settings > Hotkeys" Menu of OBS
    • Setup a hotkey for Enable/Disable Mouse Zoom
    • Setup a hotkey for Enable/Disable Mouse Follow
  3. In the "Edit Transform" menu for the source:
  • Set the "Bounding Box Type" to Scale to inner bounds
  • Set the "Bounding Box Size" to the size you want on the canvas when zoomed out
  • Use Zoom hotkey to zoom in and out of the source
  • Optionally, use the Follow hotkey to toggle mouse tracking

Setting up zoom control for multiple sources

Duplicate and rename zoom_and_follow_mouse.py, and repeat the Install and How to Use sections with the duplicate copy.

To Do

  • Automatically setup transform bounding box
  • Only track windows/games when they are the active window
  • Further reduce CPU Usage in non-Windows systems