Releases: ysdede/opencamera-omt
v1.55.0-omt.3
This patch release refines the C++ core introduced in OMT.2 with critical protocol compliance fixes and performance tuning for professional workflows.
Protocol Hardening & Interoperability
- Strict Handshake: The OMT sender now strictly enforces the connection handshake. Video transmission is blocked until a valid
<OMTSubscribe>command is confirmed. This resolves race conditions where some receivers (like vMix) would erroneously open duplicate connections, doubling bandwidth usage. - Buffer Pooling Sync: Tuned
libomtcpp's internal TCP buffer sizes (64KB) and async pool counts to exactly match referencelibomtnetdefaults. This ensures consistent congestion control behavior across mixed OMT networks. - Quality Negotiation: Fixed an issue where Suggested Quality commands from receivers could be ignored. Added "Auto (Receiver Suggested)" mode to Video Settings, allowing the sender to dynamically adapt its VMX profile (LQ/SQ/HQ) in real-time based on receiver requests.
Critical Fixes
- OBS Studio Stutter Fix: Resolved a timestamp synchronization issue that caused severe video stuttering in the OBS OMT Plugin. The native layer now generates precise, monotonic timestamps (100ns precision) instead of generic placeholders, ensuring frame-perfect playback in OBS Studio.
- Robust XML Parsing: Patched the metadata parser to handle non-null-terminated strings, improving compatibility with 3rd-party C# clients (resolves "Unknown metadata" connection failures).
Distribution Information
- Version Name: 1.55.0-omt.3
- Version Code: 95
- SHA-256 Checksum:
b218049bfe64062d3377b537287e09e7d03758ec04eff87c10ce9086a46eed08
v1.55.0-omt.2: libomtcpp core library rewrite and network stability improvements
Major Breakthrough: Modular C++ Architecture and Stability
This release introduces a complete rewrite of the OMT core into a modular C++ architecture, mirroring the original libomtnet design. This transition moves the codebase from monolithic JNI stubs to a robust, thread-safe library structure, significantly improving connection stability and performance.
New Features and Improvements
- Async Threaded Sender: Implemented a "Thread-per-Client" model. Network communication now runs on dedicated background threads, ensuring that camera preview and UI remains responsive and lag-free even during network jitter.
- Bidirectional Quality Negotiation: Added support for the OMT "Suggested Quality" command. The application now automatically responds to quality requests from OMT receivers (such as vMix or the OBS OMT plugin).
- Automatic Congestion Control: The sender monitors network quality in real-time. If a sustained frame drop rate is detected (above 5%), it proactively downgrades the VMX profile (HQ -> SQ -> LQ) to maintain connection stability.
- On-the-Fly Quality Switching: Adjust streaming quality in Settings without stopping the stream. The VMX encoder re-initializes instantly upon preference changes without requiring an app restart.
- Professional On-Screen Display (OSD):
- Replaced numeric quality codes with broadcast-standard labels: LQ (Low), SQ (Standard), and HQ (High).
- Live Bandwidth Estimator: Displays real-time Mbps based on the current VMX profile and frame statistics.
- Overlay Notifications: Temporary UI messages (e.g., "Quality Adjusted: VMX HQ") provide feedback for dynamic or manual quality updates.
- Adaptive Buffering: TCP send buffers are dynamically calculated based on resolution and selected profile (up to 1.5MB+ for HQ) to handle high-bitrate data spikes.
Fixed Issues
- Fixed critical string encoding issues in MainActivity that affected international locales.
- Resolved JNI linking errors and missing extern declarations in OMTBridge.
- Corrected OMT profile delegation in OMTStreamingManager for accurate UI reporting.
- Fixed a bug where OMT settings were not consistently applied on first launch.
Distribution Information
- Version Name: 1.55.0-omt.2
- Version Code: 94
- Build Architecture: arm64-v8a
- Minimum SDK: API 21 (Android 5.0)
Open Camera OMT v1.55.0-omt - Initial Release
Open Camera OMT v1.55.0-omt
First release of Open Camera with Open Media Transport (OMT) network streaming support. Stream your Android camera directly to vMix, OBS (via OMT plugin), or the OMT Viewer app over WiFi.
Features
- Real-time network streaming via OMT protocol
- VMX video codec with hardware-optimized NEON compression
- Automatic discovery using mDNS/Bonjour (zero-config)
- Quality presets: Low (~43 Mbps), Medium (~100 Mbps), High (~130 Mbps)
- Resolution support: 720p, 1080p, 4K
- Frame drop monitoring with on-screen warnings
- Unique device naming for multi-phone setups
Requirements
- Android 5.0+ (API 21)
- ARM64 device (arm64-v8a)
- WiFi network connection
Installation
Download OpenCameraOMT.apk and install. Grant camera and network permissions when prompted.
Verification
SHA-256: ADFA5AD6ACF4FA45996B6EEC334DDB761EB54C262DBC44C344083753C7896EC9
Based On
Open Camera 1.55 by Mark Harman (GPLv3)