Release Notes for v4.9.1 (2024.12.28) — Latest

 

Overview

 

I didn’t intend on a point release, but do we ever plan such things? Two users contacted me about two separate RTSP issues, both solved now. If two users actually reported these issues, there are probably plenty others out there who aren’t reaching out, so….

 

HeimVision

 

I was not familiar with HeimVision cameras, and as far as I can tell, they’re impossible to buy (I’d like to have one on the test bench). My v4.9.0 fix related to Lorex cameras apparently caused a regression with HeimVision cameras. I was thankfully able to get this resolved very quickly, mostly because the reporting user was competent enough with pfsense to open up port 554 for me to reproduce the issue directly. It would have been very challenging to figure out otherwise.

 

TP-Link Tapo Audio

 

Shortly after resolving the HeimVision streaming issue, another user reached out regarding a new Tapo audio issue. I hadn’t touched audio code in ages (thankfully!), so this was very unexpected. Thankfully, I have a Tapo camera on my test bench and I was able to reproduce the issue quickly. I regularly do regression testing related to video, but since I hadn’t touched any audio code, I hadn’t bothered to check for audio regressions. I’d be a terrible QA resource.

 

Upon investigating, I found that the audio codec Streamie was using, was wrong. It was treating the audio as the proprietary Hikvision PCM audio instead of G.711a. Tracking this issue down to the first build that caused it, the only possibly related change was upgrading to Xcode 16. I analyzed the specific switch statement that converted the audio codec name to the audio codec type, and found that it matched the “pcma” audio codec on the “pcm” case, which is … unexpected.

 

Re-ordering the case statements resolved the issue, but this is concerning because either there’s a compiler bug, or after all these years I remain unaware of how Swift switch statements work.

 

TP-Link Tapo Audio

 

Local Proxy

 

It stands to reason that the Streamie user who helped me discover that an Apple TV is actually capable of displaying 64 concurrent video streams, also wants to display the cameras on more screens than the cameras themselves will support. Some of the cameras only support three concurrent streams, and they want more than three video walls around the school campus. This new “Local Proxy” feature is Streamie’s answer to that need.

 

Detailed here, the Local Proxy feature lets you specify one or more Streamie devices to directly access the cameras, and other devices to access the cameras indirectly via the proxy devices, all with minimal configuration, and based on multicast dns for device discovery.

 

Local Proxy Diagram

 

Changes

Adds

 

- Adds support for UIKeyCommand so that I can do Command + R to reload many screens. There's no UI indication that a reload is occurring, but it does in fact reload.

- Adds a new "local proxy" feature. This enables Streamie to provide more video walls than a camera would typically support based on its limited number of concurrent streams. This is accomplished by designating a Streamie device to be the "proxy server". Other Streamie devices on the local network, when enabled, will connect to that device instead of directly streaming the cameras.

- Adds more log output when pushing a recorded file to a file server, for debugging some issues.

 

Fixes

 

- Fixes an issue where sometimes the background view for a Member cell does not reload correctly because we query for it too quickly after the client connects and it is not yet ready to handle remote requests. We will retry several times, waiting a couple seconds between each try.

- Fixes a Tapo audio issue that was actually a compiler bug, as far as I can tell. The RTP audio codec "pcma" matched "pcm". I fixed this by moving that case statement down below the one that matches on "pcma". Incredible. [DD].

- Fixes an RTSP streaming issue related to HeimVision cameras. [JB]

 

Updates

 

- Updates the Streamie release notes link.

 

 

Details

 

Created: 4 weeks ago

Updated: 1 week ago

Author: Curtis Jones

Topics: Release Notes

 

About Streamie

 

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.