As soon as I released v4.3.1, I immediately discovered an obnoxious bug that prevented one from adding as many accounts to a device as should be permitted. That’s the way it goes. Getting this bug fix into the App Store was the main driver for the short release cycle here.
When testing something a while back, I disabled Transcode-When-Remote-Streaming on my account (which hosts the default Streamie HQ Cam). I also set that camera to 4K mode. It turns out that a keyframe and such from that camera can be greater than 1MB, which is also the limit I had set for maximum message size on the WebSocket. You add this all up and it means that no one could stream that camera. I’ve bumped that limit up to 10MB, so you guys should be safe sharing your 8K cameras.
It occurred to me not long ago that it was silly that all Modules rendered in a 16-by-9 aspect ratio. They’re not cameras, after all. So, I’ve updated the renderer to support arbitrary aspect ratios, and the parser to read a “size” property in the module configuration. So, if you want really tall-and-thin modules or whatever, you can do that now.
I was doing some final remote-streaming testing, using a friend’s cameras, and the remote streaming simply wouldn’t start. No errors. It just wouldn’t ever start. I enabled debugging logs on both ends to find out what was going on. The remote end was using a pre-4K Apple TV. The root of the issue was that VideoToolbox would let me configure and create an encoder instance targeting H.265 but when I actually tried to use it, it would immediately fail with -12908 (kVTCouldNotFindVideoEncoderErr). Streamie will now catch that error, and if the output mechanism doesn’t care about the specific codec (as is the case with remote streaming), it will gracefully downgrade to H.264 and try again.
The rest of the changes are all minor optimizations, bug fixes, etc. There was one obscure crash fix.
Enjoy!
- Updates Streamie's release notes link to the correct link for v4.3.2.
- Updates the name of the Smart Devices screen to read "Smart Devices" instead of "Devices".
- Updates the maximumMessageSize
for Streamie WebSocket connections from 1MB to 10MB. In the ridiculous case where you're doing remote streaming and you have transcoding disabled and you're streaming a 4k camera, it is possible to exceed that former 1MB limit which results in the receive-side call to receiveMessage() to fail with a "Message too long" error.
- Updates various uses of SourceListScreen to use excluded
instead of included
when it was more appropriate to do so (and would actually now yield the desired result).
- Improves the security of camera sharing by increasing the standard (and required) shareId from 10 characters to 32.
- Improves client-side debug logging related to requests and responses.
- Improves caching on the API server to dramatically reduce response times (also for web) by reducing the need for database queries.
- Adds support for storing/retrieving the width/height of a Module so that the StreamerCoordinator can correctly set the aspect ratio when first loading the source (before streaming begins).
- Adds support to the various Module types for providing a layout size if they can specify one.
- Adds support to ModuleRenderer for parsing a top-level "size" object that we use to compute an aspect ratio so that we can display the module in the native shape.
- Removes a bunch of deprecated API server code and functionality.
- Fixes an issue where snapshots for cameras, modules might not be displayed; doing a pull-to-refresh will now resolve that.
- Fixes a remote streaming issue that can occur when older hardware (that doesn't support H.265 encoding) is serving the remote stream.
- Fixes a crash that can occur when a Focus Action is defined on a camera, and then the camera is streamed outside the context of a Group.
- Fixes a ridiculous regression where multi-account limits were not correctly applied.
- Fixes an issue with configuring File Servers (of any type), where it was possible to choose HomeKit source types. The bug was located in the SourceListScreen and how it handled filtering source types.
Created: 2 months ago
Updated: 1 month ago
Author: Curtis Jones
Topics: Release Notes Remote Streaming Video Codecs
Streamie provides a best-in-class user experience on your iPhone, iPad, Apple TV and Apple Silicon Mac, with an intuitive user interface that makes it simple to discover, stream, record, monitor and share your HomeKit, Google Nest, Ubiquiti UniFi Protect and ONVIF-compatible IP and RTSP cameras. Streamie keeps you informed with motion event notifications and it works with most cameras using its advanced audio and video codec support. You can watch your cameras from anywhere, record 24/7 to your private NAS, remotely manage multiple locations, device permissions and seamlessly synchronize settings across your devices; configure Hubitat smart home automations, live stream to YouTube and rely on the in-app technical support system when you need help -- and you can also reach us by phone. Download Streamie today for all of your CCTV needs.