尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證A virtual camera for Teams on Windows 11: make yourself smaller in the picture, blur or replace the background with an AI cut-out on your own GPU, fix the colors.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Cam Tweak reads your real webcam, edits the picture and hands the result to Teams and other video apps as the camera "CamTweak".
Everything runs locally, without a cloud and without an account.
Open PowerShell and paste this line:
powershell -c "irm https://applirado.github.io/camtweak/install.ps1 | iex"
It downloads the setup of the latest release and runs it; Windows asks once for admin rights, because the virtual camera is registered for the whole PC. Run the same line again to update. Remove Cam Tweak under Settings > Apps.
You can also download CamTweak-<version>.msi from the releases
page, for example to distribute it with Intune. It is not signed yet, so when you open it from the browser,
SmartScreen asks first: choose More info > Run anyway.
Requirements: Windows 11 (64-bit), a webcam, about 40 MB of disk space. The cut-out runs on a DirectX 12 graphics card or, more slowly, on the CPU.
Tip: For the empty room, set the camera's exposure, white balance and focus to manual and record the room the way it normally looks (chair in its place, just without yourself).
Prerequisites: Visual Studio 2022 with Desktop development with C++ (toolset v143), Windows 11 SDK.
MSBuild.exe CamTweak.sln -t:restore -p:RestorePackagesConfig=true
MSBuild.exe CamTweak.sln -p:Configuration=Release -p:Platform=x64
Output in bin\Release: CamTweak.exe, CamTweakSource.dll, ONNX Runtime (onnxruntime*.dll),
DirectML.dll and models\selfie_segmenter_landscape.onnx.
For development, scripts\install.cmd installs the build output from bin\Release like the setup does
(as administrator), and scripts\uninstall.cmd removes it again. Don't mix them with the setup on one machine.
Prerequisite: .NET SDK 8 or later (WiX Toolset v5 is restored from NuGet). After the Release build:
dotnet build installer -c Release
Output: bin\Release\installer\CamTweak-<version>.msi. One package for English and German; Windows picks the
language from the display language. It installs to C:\Program Files\CamTweak, registers the virtual camera
and creates a Start menu shortcut. Uninstalling also removes the autostart entry and the settings of the
uninstalling user; installing a newer version replaces the old one and keeps the settings.
The version is set in src\Shared\Version.h, for the binaries and the setup; raise it for every release.
Pushing a tag v<version> runs release.yml: it builds the setup from the tagged
code, tests installing and removing it on a clean Windows and attaches it to a draft release. Write the
release notes, then publish the draft. The website in website/ is published by
pages.yml on every push to main.
| Part | Purpose |
|---|---|
src/CamTweak | Tray app (Win32, C++20): reads the camera (Media Foundation), cut-out, background, color, size/position, UI, starts the virtual camera (MFCreateVirtualCamera) |
src/CamTweakSource | Media Foundation source (COM DLL) loaded by the Windows camera service; delivers the frames to Teams & co. (NV12/RGB32, 1080p/720p/360p, 30 fps) |
src/Shared | Exchange format between the two (file mapping at %ProgramData%\CamTweak\frame.bin with a sequence lock), image functions and the version |
models | MediaPipe Selfie Segmenter as ONNX |
installer | MSI setup (WiX v5) |
install.ps1 | The one-line install: downloads and runs the setup of the latest release |
website | The project page at https://applirado.github.io/camtweak/ |
Important files in src/CamTweak:
| File | Contents |
|---|---|
CameraPipeline.cpp | Opening the camera, per-frame image processing, compositing, handing over to the virtual camera |
Segmenter.cpp | AI cut-out with ONNX Runtime (DirectML, otherwise CPU) |
RoomMatte.cpp | Refining the mask with the recorded empty room |
ColorAdjust.h | Brightness, contrast, saturation, color temperature |
Popup.cpp | Window with preview, tabs and sliders |
Strings.h | All texts (German/English) |
The DLL runs in the camera service (session 0, LOCAL SERVICE) and cannot see named objects of the user session;
hence the exchange through a shared file mapping. Settings are stored in HKCU\Software\CamTweak,
the recorded empty room in %LOCALAPPDATA%\CamTweak\room.png.
%LOCALAPPDATA%\CamTweak\dump.flag while the camera is running.
Cam Tweak then saves the camera picture, AI mask, comparison with the empty room, final mask and result
as PNGs next to it, plus info.txt (model, GPU/CPU, timing).%LOCALAPPDATA%\CamTweak\events.log logs gaps in the camera stream, very slow frames
and camera and cut-out errors.e43fec3f-98a3-438b-a7ba-45a7aa8ced45), readable e.g. with
WpfTraceSpy. Detailed traces are only available in the Debug build.Cam Tweak is released under the MIT License. For the components it builds on and ships, see third_party/NOTICES.md.