Mac Screen Capture
I started messing around screen capture on Mac, and found that it was way easier to get up-and-running than I had expected. So, I created a new Capture Source type and shoehorned it into Streamie. In short, your Mac screen is now a video source in Streamie. You can see it in Streamie, you can record it, share it, run AI image analysis on it, and even live stream it to YouTube … which you can see demonstrated in the video here:
The resolution on my display is so high that I doubt live streaming my typical work day would be of any benefit to others. I’m certainly not reducing the resolution for the sake of others, but I might give it a try anyway.
The dumbest thing I discovered during this process is that there is apparently no solid way to identify the particular display the user has selected in a way that can be reliably persistent across reboots and such. I imagine this is a move by Apple to prevent undesired tracking. Meanwhile, if you choose Display #2 to live stream and then you reboot your computer and macOS decides that’s Display #4 now, then, sucks to be you. I decided to identify the displays by their layout positions. If you connect a 2nd display, even via an iPad or Apple TV, each additional display is located at a different position in the layout grid. This is definitely not a particularly foolproof way to keep track of displays, but it is minimally adequate.
Nature vs Nurture
You know what’s fun? Developing new and interesting features. Improving existing features. Optimizing performance. Fixing bugs. It is always my desire and inclination to work on something that maybe won’t even be recognized for the value it provides — like eking out a tiny efficiency gain — but I’ll know.
In contrast, you know what’s not fun? Working on store integration. Monitoring sales. Monetizing features. All of the things essential for the continued survival of the product and company, and I don’t really want to do any of them.
With regard to the former category, I’ve been reading up on SRTP and RTSPS. These features will allow for secure streaming. I hope to see these features incorporated into Streamie in the coming weeks unless these efforts are derailed by more pressing work.
With regard to the latter category, v4.11.0 (the previous release) introduced upgrades for Cameras & Devices. This release introduces supplementary upgrades and other things, including: NAS recording, YouTube live streaming, multiple locations and Streamie branded merchandise (shirts, hoodies, mugs, stickers, etc). You can check this all out in Settings => Purchases.
Streamie Merch
You didn’t ask for it, and we delivered! T-Shirts, full-zip hoodies, stickers, mugs. I feel like I will have “arrived” when I randomly see someone wearing a Streamie shirt while I’m out-and-about. Check it out here.
Adds
- Adds support for macOS screen capture as a video source. You can capture your entire Mac display, stream, share, recording and even push to YouTube.
- Adds support for auto-showing and auto-hiding the navigation bar in the streamer view based on mouse movement. This should work for both macOS and iPadOS users.
- Adds humidity support to the backend weather API and to the Weather (v2) module. I'll maybe update the default module after the bulk of users have migrated.
- Adds a new "Other Upgrades" screen with items other than Streamie Camera & Device service.
- Adds additional store items including branded merchandise (shirts, hoodies, mugs, stickers, etc), and app upgrades (nas recording, live streaming, multiple locations).
Improves
- Improves error handling in the face of sporadic video decoder issues where the only solution is to continue to increase the wait time until decoder restart until we finally wait long enough that the decoder is happy enough to start working again.
- Improves the audio level indicator so that it'll show up immediately instead of waiting for valid audio data. This is important beacuse if we're playing silence, the audio level indicator would never show up.
- Improves the alert controller so that we can click anywhere on the screen to dismiss it. This may have regressive implications for the modal status uses (such as when switching accounts) -- to be addressed later.
- Improves the ONVIF Camera Configure screen with improved prompts about what information is expected.
- Improves how Module Layout v2 parses percentages for margin
, position
, etc. For instance, margin
is a four-value type, such as 5% 10% 5% 10%, which is interpreted as top, right, bottom, left margins. You can now just use '%' as the margin, and that particular edge will be ignored. This is useful for text areas with variable amounts of text. You can position the container attached to the top, left and right with no bottom margin, and the text can grow downwards as necessary.
- Improves the Apple TV interface that presents the scannable code for beginning the upgrade checkout process: it now has some prompt text to further explain why you're seeing a scannable code.
- Improves the error message shown to the user when trying to do a remote stream hosted by an older version of Streamie.
- Improves Streaming Session so that consecutive video decoding errors cause an increasing delay before decoder restart. This is critical for times when the video decoder is just having a bad day and rapid restarts after decoding failures just never results in anything resolving.
Fixes
- Fixes a crash in YouTube Service related to calculating the GoP duration and bitrate.
- Fixes an issue when inviting a member by scanning a code where the code was not dismissable in some situations such as on a Mac without the ability to perform swipe gestures. The scannable code is now presented to the user by pushing it onto the navigation controller.
- Fixes a Module Layout v2 issue. When I added support for # comments, I broke support for #rgb colors. Whoops. Also fixes some parsing error messages.
- Fixes a crash that can occur when trying to do a remote stream hosted by an older version of Streamie.
- Fixes the new lines that were present in the Account => Purchases => Upgrades screen due to my use of multi-line strings.
- Fixes a typo related to the default module source when creating a Custom v2 module. In addition to fixing the typo, I also created a copy of the default module at the incorrect name so that the current version will work as expected.
- Fixes the "Function Name" label in the Module Discover Details screen which should have read "Module Name".
- Fixes issues related to correctly supporting Chinstrap Codable v1 and v2 for relayed messages between Chatter nodes.
- Fixes a crash that can occur with bad module layout data.
- Fixes a logging issue where atomic objects were printed instead of the value represented by the atomic objects.
Updates
- Updates the iOS notification service to handle several notification types that I had omitted.
- Updates the YouTube Live Stream functionality, now that it is certainly stable and generally functional, so that it is a paid upgrade. Anyone can use it for free for 30 minutes at a time.
- Updates the prompt text for navigating to an unread message from Streamie Support.
- Updates the error message that the user sees when Streamie attempts (and fails) a relay connect due to relay being disabled. This updated error message makes it clear that an account upgrade is required; it is not a configuration issue.
- Updates the AVAudioSession to include recording for macCatalyst, which we need for YouTube live streaming of capture sessions.
Other
- Imports some Objective-C code for wrapping libsrtp, a library which I haven't yet incorporated into Streamie, but I wanted to get this wrapper code in place anyway. Ultimately this'll move us towards SRTP support, which'll eventually let us add real RTSPS support.
Created: 1 week ago
Updated: 5 days ago
Author: Curtis Jones
Topics: Release Notes
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.