Repository navigation
Releases
OsmoCam 1.2.1
Fixes from the first reports by Osmo Pocket users.
Unofficial and independent: not affiliated with, endorsed or sponsored by DJI.
Fixed
- H.265 live view showed nothing: the decoder switched between H.265 and H.264 at every keyframe (
Live view: H.265/Live view: H.264over and over in the console). It now stays on the camera's codec. - Computers without Wi-Fi (a desktop on Ethernet, for example) now get a clear message instead of
[Errno 1062] WlanOpenHandle failed. OsmoCam joins the camera's own Wi-Fi, so it needs a computer with Wi-Fi.
The Osmo Nano works as before. Osmo Pocket support is still experimental: if you have a Pocket, please open an issue with what works and what doesn't (the console output helps).
Install
See the README.
OsmoCam 1.2.0: Osmo Pocket (experimental)
Experimental support for the Osmo Pocket 3, 4 and 4P as a webcam.
Warning
Not tested with a real Osmo Pocket yet. This release follows the notes of the OpenPocketCine project, which verified these commands on the cameras, and it was checked only against simulated cameras. If you have a Pocket, please open an issue with what works and what doesn't (the console output helps). The Osmo Nano works as before.
Unofficial and independent: not affiliated with, endorsed or sponsored by DJI.
New (experimental)
- Osmo Pocket 3, 4 and 4P as a webcam: the camera's own session and keep-alive, and the H.265 live view of the Pocket 4 and 4P (decoded by the app; the virtual camera still gets ordinary frames).
- The live view decoder picks H.264 or H.265 by itself from the stream.
Install
See the README. Tested end to end only with the Osmo Nano.
Gimbal and zoom controls are in Osmo Client 1.4.0.
OsmoCam 1.1.5
A steadier picture.
Unofficial and independent: not affiliated with, endorsed or sponsored by DJI.
Fixed
- Live view: a large frame from the camera was split in two, which broke the picture until the next keyframe. Each frame is now assembled by the size it declares, and the camera's private metadata is removed before decoding.
Also
- Shared code with Osmo Client 1.3.0 (the camera can now be asked to join a shared Wi-Fi network; OsmoCam does not use it yet) and the updated protocol notes.
Install
See the README. Only the Osmo Nano has been tested.
Thanks to OpenPocketCine (Apache-2.0) for documenting the frame header.
OsmoCam 1.1.4
Maintenance release, shared with Osmo Client 1.2.0.
Unofficial and independent: not affiliated with, endorsed or sponsored by DJI.
Changed
- OsmoCam no longer sends a status subscription the camera was refusing at every connection. The video is unaffected (checked on an Osmo Nano: 30 fps, ~12 ms).
- The protocol document now describes the camera's status topics and the lists of supported settings it publishes.
Install
See the README. Only the Osmo Nano has been tested end to end.
OsmoCam 1.1.3
First step towards other DJI Osmo cameras (Osmo Action series).
Unofficial and independent: not affiliated with, endorsed or sponsored by DJI.
Changed
- An Osmo Action 6 paired and opened the link, but never sent video. Two things now follow what the Action series is known to need (as described by the MIT-licensed dji-vcam project for the Action 5 Pro):
- the app acknowledges the camera's own video position before the video starts (some cameras don't start otherwise);
- cameras other than the Osmo Nano also get the Action series' live view start, which registers with the camera's video encoder and keeps it alive.
- The Osmo Nano is unaffected (verified).
- When no video comes, the log now says what the camera sent instead, so a report shows where it stops. Action series owners: if you try it, please share that log.
Fixed
- Accented text from Windows'
netshshowed up garbled in the log. - "Camera … found over Bluetooth" now correctly says "not found".
Install
See the README. Only the Osmo Nano has been tested end to end.
OsmoCam 1.1.2
Fixes connecting on Windows computers where Wi-Fi is turned off.
Unofficial and independent: not affiliated with, endorsed or sponsored by DJI.
Fixed
- With Wi-Fi turned off on the computer (the Wi-Fi button in the quick settings, or airplane mode), Bluetooth found and paired the camera, but joining its Wi-Fi failed again and again with "Connection request failed with error 0x80342002", and OsmoCam then stopped with a traceback. OsmoCam now turns Wi-Fi on by itself before joining. If it is switched off with a hardware switch or key, or Windows doesn't allow it, OsmoCam stops at once with a short message that says what to do.
Install
Requires Bluetooth LE, Wi-Fi, Python 3.10 to 3.14 (3.14 recommended) and a virtual camera: OBS Studio on Windows and macOS, v4l2loopback on Linux.
- Download Source code (zip) below and extract it.
- Turn the camera on and close the DJI Mimo app on your phone.
- Start OsmoCam: double-click
osmocam.baton Windows; on macOS or Linux runsh osmocam.shin a terminal in that folder. The first run installs the requirements (needs internet once). - The first time, approve "OSMO" on the camera screen.
- In your video-call app, choose "OBS Virtual Camera" (Windows, macOS) or "OsmoCam" (Linux).
See the README for details.
OsmoCam 1.1.1
Fixes the install on computers where only Python 3.15 is installed.
Unofficial and independent: not affiliated with, endorsed or sponsored by DJI.
Fixed
- With only Python 3.15 installed, the first run failed (on Windows with "Failed building wheel for winrt-…" and "Microsoft Visual C++ 14.0 or greater is required", elsewhere with "No matching distribution found for pyvirtualcam"): some libraries have no build for Python 3.15 yet. The launchers now use Python 3.14 down to 3.10 only, and when none is installed they say so at once and how to add Python 3.14 (it can stay next to 3.15).
- Only ready-made packages are installed: a missing one fails in seconds instead of starting a compile.
- On Windows, the window stays open after an error, so the message can be read.
New in the README
- Step-by-step install for Windows, macOS (including setting up the OBS Virtual Camera) and Linux.
Install
Requires Bluetooth LE, Wi-Fi, Python 3.10 to 3.14 (3.14 recommended) and a virtual camera: OBS Studio on Windows and macOS, v4l2loopback on Linux.
- Download Source code (zip) below and extract it.
- Turn the camera on and close the DJI Mimo app on your phone.
- Start OsmoCam: double-click
osmocam.baton Windows; on macOS or Linux runsh osmocam.shin a terminal in that folder. The first run installs the requirements (needs internet once). - The first time, approve "OSMO" on the camera screen.
- In your video-call app, choose "OBS Virtual Camera" (Windows, macOS) or "OsmoCam" (Linux).
If you hit the error above with 1.1.0: install Python 3.14 from python.org (or run py install 3.14 on Windows with the Python install manager), download this release and start it again.
See the README for details.
OsmoCam 1.1.0: macOS and Linux
OsmoCam now runs on Windows, macOS and Linux.
Unofficial and independent: not affiliated with, endorsed or sponsored by DJI.
New
- macOS support: connection and live view tested with the Osmo Nano (about 13 ms median latency to the virtual camera). The webcam uses the OBS Virtual Camera (OBS Studio 30 or newer, set up once; see the README).
- Linux support with a v4l2loopback virtual camera, still being tested on real hardware.
- Live views that aren't 16:9 are letterboxed instead of stretched.
Fixed
- Without a virtual camera, OsmoCam retried it on every frame, which stalled the video and froze the preview page. It now checks once at startup, explains how to set it up, and carries on with the preview page.
- Installing with Python 3.15 failed (pyvirtualcam has no build for it yet). The launchers now use the newest Python from 3.10 to 3.14 and say what to install when the install fails.
- A clear message when Bluetooth is unavailable.
Install
Requires Bluetooth LE, Wi-Fi, Python 3.10 to 3.14 (3.14 recommended) and a virtual camera: OBS Studio on Windows and macOS, v4l2loopback on Linux.
- Download Source code (zip) below and extract it.
- Turn the camera on and close the DJI Mimo app on your phone.
- Start OsmoCam: double-click
osmocam.baton Windows; on macOS or Linux runsh osmocam.shin a terminal in that folder. The first run installs the requirements (needs internet once). - The first time, approve "OSMO" on the camera screen.
- In your video-call app, choose "OBS Virtual Camera" (Windows, macOS) or "OsmoCam" (Linux).
Only the Osmo Nano has been tested. See the README for details.
OsmoCam 1.0.0
First release of OsmoCam: use a DJI Osmo Nano as a Windows webcam, wirelessly, over the camera's own Wi-Fi.
Unofficial and independent: not affiliated with, endorsed or sponsored by DJI.
Features
- Sends the camera's live view (1280×720 at 30 fps) to the OBS Virtual Camera, which Zoom, Teams, Google Meet, Discord and most other apps can select.
- Low latency: about 12 ms (median) from the first packet of a frame to the virtual camera, plus the camera's own capture and Wi-Fi delay.
- Preview page in the browser at http://127.0.0.1:8090/.
- Reconnects by itself if the video stops; puts your Wi-Fi back on its own network when it exits.
Install
Requires Windows 10 or 11 with Bluetooth LE and a Wi-Fi adapter, Python 3.10 or newer, and OBS Studio for the virtual camera (it does not need to be open).
- Download Source code (zip) below and extract it.
- Turn the camera on and close the DJI Mimo app on your phone.
- Double-click
osmocam.bat. The first run installs the requirements (needs internet once). - The first time, approve "OSMO" on the camera screen.
- In your video-call app, choose "OBS Virtual Camera".
Only the Osmo Nano has been tested. See the README for details.