Sunsetting the Free Tier
Please read!
Streamie has provided a generous free tier for years. We have made the decision to sunset that. In the coming days and weeks, the free tier will be deactivated.
You have a great opportunity to support continued Streamie development. We understand that subscriptions aren’t awesome. To that end, our pricing model includes massive discounts for prepaying for long timeframes that effectively amount to a one-time-purchase. Check out Settings => Purchases => Upgrade for details.
Use code “TCS10” at checkout to save 10% today!
Chinstrap Codable v2
Chinstrap Codable v1 has been the standard serialization mechanism in Streamie since maybe v3.9.0 (I’m just doing a quick search of release notes to come to this conclusion), which was almost three years ago. It has worked well, but there were some significant shortcomings that resulted in a lot of boilerplate code that was unenjoyable to maintain.
This update is a full replacement for v1, which means that it is used for communication between Streamie and Penguin, between Penguin and Penguin, and between Streamie and Streamie. It is also used for NAS and Cloud recording. This will hopefully provide the flexibility we need to more easily improve APIs going forward.
Probably in the next several months we will deprecate and remove support for v1 — mostly depending on how quickly we can get the bulk of Streamie installations updated.
Module Renderer v2
The original module layout language was all wrapped up in JSON. It was awful. I’ve finally replaced it with a custom language that is purpose built. I’ve written up a tutorial on it, which can be found here.
Having updated the layout language, I also replaced the standard modules with their new equivalents. Lastly, the Discover modules have also been updated. discover.streamieapp.com
Discover Cameras
Balloons, waves, the solar system and more. We’ve added a bunch of new video generators that you can stream. Find them in the app and here.
What’s Next
What I’d really like to do is have a camera in Streamie that shows the International Space Station’s Earth Cam. That video stream is available on YouTube. It can be streamed from YouTube via HLS with some effort. Two distinct problems: (1) Add HLS client support. (2) Add YouTube API support for getting the HLS URL.
After a cursory refresher on M3U8 and a glance at parsing MPEG-TS, I think it’ll be doable. The YouTube side of things is sketchier. But even just having HLS support will be nice.
Adds
- Adds the new Module Layout v2 system. This new layout language includes numerous improvements that make it easier to create a single interface that renders correctly for a variety of screen sizes, while also being considerably more concise in expressing that interface.
- Adds a new video generator: Waves.
- Adds a new video generator: Solar System.
- Adds a new video generator: Balloons.
- Adds support for grouping by Section in the Groups, Modules screens (like it already exists for the Cameras screen).
- Adds support for Stripe checkout which can be initiated from directly within Streamie. This is all based in the Settings => Purchases screen.
- Adds a new serialization protocol designated Chinstrap v2, which is now the default. Backwards compatibility exists in Penguin for the next several months while users update.
- Adds "Sections" support to the Home => Groups screen.
- Adds "Sections" support to the Home => Modules screen.
Improves
- Improves the behavior when connecting to a camera that was recently noted as being offline. If you use the "Direct Connect" option to force a direct connection to a camera, and the connection is successfully, Streamie's internal "is reachable" state for that camera is immediately updated to reflect that the camera is actually reachable. Formerly, that state would only be updated when the periodic check occurred.
- Improves code readability in the Module code editor by setting a black background color.
- Improves the Module code editor by adjusting its bottom offset when a keyboard appears on screen such that the code at the bottom is no longer inaccessible. [Grok]
- Improves the behavior of the code editor by making it apply code changes when the screen is exited, no longer requiring manually tapping Options => Save each time, which was stupid.
- Improves how StreamingSession supports the URL camera source: it now uses the urlCameraType
to find the right streamnig protocol instead of trying to intuit it by looking at the URL scheme or file extension. This has worked until now, but will be problematic with our eventual HLS support.
Fixes
- Fixes some sort of issue in the MemberScreen. It was reported that setting an Autostream group worked, but displayed, "Unknown Group: <group id>." Similarly, the SnapshotCell displayed, "Streaming Group: <group id>." The groups were being pulled from the Chinstrap object cache directly. I updated the snapshot cell to use the getPenguin() API. Shoot. That's wrong. I'm supposed to use the cache for that. [DV]
- Fixes another Ubiquiti UniFi Protect JSON compatibility issue: LedSettings => blinkRate is apparently optional in some circumstances. [DV]
- Fixes a crash related to dragging-and-dropping to the origin location.
- Fixes a Gentoo memory leak that can occur when it cannot encode generated frames fast enough.
- Fixes a crash that occurs because we were not correctly checking that all of the data for the RTP chunk was available.
Updates
- Updates release notes link for v4.10.4.
- Updates the in-app and web rendering of Help Markdown so that code blocks are better indented.
- Updates the Weather module with support for the new layout mechanism.
- Updates the Clock module with support for the new layout mechanism.
- Updates the Discover service (discover.streamieapp.com) with support for Modules.
- Updates the Gentoo "Side Scroller" video generator with mountains.
- Updates the new-user-setup code to create a Module v2-based Clock and Weather module.
- Updates the "it's time to upgrade" prompt with an Upgrade button which directs the user to the Upgrades screen.
- Updates the free tier down to four cameras and two devices, plus a warning message that persists until an upgrade is applied.
Other
- Disables the AM/PM symbol from the Clock module because that's stupid.
- Adds in some initial code for eventually supporting HLS as a video source.
- Refactors Gentoo to remove the repetitive initialization of the various generators, allowing the RTSP server to initialize them on demand.
Created: 1 month ago
Updated: 21 hours 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.