Feature request: Easy stream switching

This is a feature request/suggestion for both the desktop and iOS software. Some cameras support multiple streams, which is currently configured in the camera preferences “input or stream number”. It would be AMAZING if the stream could easily be switched/changed from the camera view.

My cameras are configured to record in full res to the onboard storage, and a lower res/lower frame rate stream is sent to SecuritySpy. This works great for detection and general monitoring, but when opening the live view it would be INCREDIBLE to see the full res/frame rate stream (with smoother motion and more detail when zoomed). Seems easy enough to add a control to allow stream switching from here, right? Something else that might also be helpful is the ability to name streams (e.g. hi-res/lo-res) to easily identify the stream when switching.

What do you think? Useful? I know I would love it!

Thanks for considering it, and keep up the great work.

Comments

  • Thanks for the suggestion, however this is not how SecuritySpy is currently designed: it needs a constant stream to do its work, which includes motion detection, web streaming, recording etc. If the stream were to switch to one of a different resolution, all this would be interrupted. Plus, for the vast majority of users for whom SecuritySpy is the primary NVR (i.e. no camera recording or recording elsewhere), there is no utility in having SecuritySpy receive a lower-resolution stream - best results are always obtained from the highest-resolution stream. I would suggest that even for you, where you may be using SecuritySpy just for monitoring and alarms but not recording, it would still be beneficial to be receiving the full-resolution streams at all times. This ensures that motion detection works well, any recordings that are saved are in the highest quality, and when you want to view the high-res stream, it is immediately available.

  • This is unfortunate, as the disk space requirements are ridiculous for the number of captures I get per day (around 50-100). Right now, 1080p at 6fps does great detection at a reasonable size, but it is hard to watch for any details or fast motion. 4k 60fps always delivers what I want, but storing clips of this size is just not possible for me. I guess I’ll just have to continue using a separate app for live viewing, which is not ideal but gives me what I need.

    Thanks anyway.

  • Senna_F1
    edited February 2022

    Hi Ben, I thought I'd add to this thread since it's somewhat related to the OP, and is directly related to what you said above.

    When you say "and when you want to view the high-res stream, it is immediately available." I'm not sure how that can be done when viewing captured files, but is exactly what I'd like to be able to do. We can't pinch&zoom, nor can we save the file to Photos for viewing with the Photos viewer, which does allow pinch&zoom. Also, the link generated by long pressing on a captured file, the *.viewcam.me, is not usable in my case. I dont open ports, but use VPN instead. I can replace the *.viewcam.me with my SS IP, and that works, but still no pinch&zoom once the video starts playing.

    Here's what I've noticed. The iOS Files app has the best video viewer. Pinch&Zoom, Save to Photos, and a Timeline with thumbnails!

    I have added a 'Connect to Server' entry in my Files app so I can get to my SS captures via the app. The URL scheme for this app is 'shareddocuments://' Although I haven't been able to get to any specific drive or folder.

    Some things/code I found for doing this:

    https://stackoverflow.com/questions/46499842/open-ios-11-files-app-via-url-scheme-or-some-other-way

    https://blog.robenkleene.com/2019/12/01/jumping-directly-to-folders-on-ios/

    https://www.macstories.net/ios/fs-bookmarks-a-shortcut-to-reopen-files-and-folders-directly-in-the-files-app/

    If your iOS app could generate the correct File app URL for the captured file, that would be great.


    P.S. Having the thumbnails in Captured Files the same size as the thumbnails in the 'Cameras' view (full width of iPhone screen) and the ability to filter by Person detected, Vehicle, etc would be nice. Basically, I want to find people, but the thumbnails are way too small, and there is no filter.

  • Hi @therrera - yes, 4K video at 60fps will produce large files, however I would suggest that this is a far higher frame rate than most users would need. My advice is generally that you should go for the highest resolution that the camera allows, but that you should moderate the frame rate - around 10fps is normally perfectly good. When an event does happen, in order to identify the people/vehicles etc. involved, all you need is one or two good frames, and 10fps will get you this. And at 10fps, your storage requirements will be far more reasonable.

    @Senna_F1 - this is a quite different topic, but useful feedback nonetheless. Yes, I agree that the addition of pinch/zoom to the movie player would be a nice feature, and we are planning to implement it, however it is quite difficult to do (as it requires us to write our own player from the ground up rather than use Apple's default one), which is why it hasn't been done yet.

    The address that SecuritySpy uses to generate links uses what SecuritySpy detects is the address used to access it remotely, which works for the vast majority or users, but is unfortunately not possible when you are using a VPN rather than direct access via port forwarding. Would you consider changing from your current method of access, to port forwarding?

    As for the thumbnail size for captured files: the size of these can be adjusted via the SecuritySpy settings option which you can find via the Settings app on your iOS device (scroll down the long list until you get to SecuritySpy).

  • Ben,

    I personally don't think you should code your own player. Plenty of players on the phone already support this. VLC, Photos, Files (my favorite), and others I'm sure. Why not implement the URL scheme for one or more of the existing apps? That's really what I see the 'Share' functionality doing in other apps anyway. Being able to open the file in another app, Save to Photos, etc. These arent an option right now.

    My thumbnails were already set to Large. The difference between Large, Medium and Small seems negligible. More space is given to the Date and Time than the image. Date mostly just repeats itself so is not that useful. Maybe Type could be an icon to take less space instead of 'Movie' or 'Image' Which BTW, if we filter by Type Movie, we don't need to see Movie repeated each time. Anyway, lots of info other than the thumbnail here that seems redundant or could be made smaller, moved to below each thumbnail, or a sliding header if it rarely changes (date), and then you could make the thumbnails larger. And don't forget about being able to select 'Person' etc, like you can on the Desktop. Since my M1 Mac mini cannot play more than 1 cameras footage at a time (we've already gone over that and were not able to figure anything out), I figured I'd suggest how to better the iOS app's playback without writing your own player as I had seen you say that in other posts. I say implement URL schemes, and let other apps do the heavy lifting of video playback, freeing up your time to work on smaller tweaks.

    Thanks for listening,

    Mark

  • Ben, one more thing where SecuritySpy stands out compared to HKSV. I'm using both BTW.. Although the notification itself doesn't have the same rich options asHKSV, SecuritySpy has a much better image in the notification. A zoomed in potion of what caused the trigger. If this zoomed in image were also used as the thumbnail for the files in the Captured Files section of iPhone app (along with them being larger), that would be really cool!

  • Hi @Senna_F1 nice idea to use another player, but I don't think it would be a great user experience if when you tap on a movie file to play it, it invokes a different app that then switches into the foreground. And then you would have to close that and open SecuritySpy again to get back to the file list. There are some other technical issues that we need our own player to overcome too (e.g. playing files over HTTPS without a valid SSL certificate, which happens in various situations). So I really do think we need our own revamped player implemented within the SecuritySpy app itself.

    I take your points about the thumbnail/text display in the file list, I'll see if we can improve this for the next update, perhaps with a larger "large" size for the thumbnails and more efficient text.

    In terms of the notification images vs. the image in the thumbnail, these should be the same, if not almost the same. For both, this is taken as the first frame with some motion in it in the event. Is this not what you are seeing?

  • Senna_F1
    edited February 2022

    Hi Ben,

    I didnt mean to replace the built-in video player, or launch into an external one. I think the SHARE action should be able to open in another player, or Save to photos, etc... So using the Share action and URL schemes basically to make use of a better video player.


    On the thumbnail question. For captured files, my thumbnail is always the *entire* frame from the camera. The full 4k image just resized to a thumbnail. So whatever SS saw, is very very small. No way I can see it. The Notification image is usually exactly what caused the trigger, person, or a car. So you take the full-frame, then you crop to what was detected, and that is what is used in the notification image. So I'm saying use that same image, or close to it, as the thumbnail for the video so we can quickly see what the trigger was.

    on my phone, I cant see what the trigger was:

    https://imgur.com/a/DJjGvFj

    The notification image should be used as the video thumbnail:

    https://imgur.com/a/Nb8aQxC

  • The problem with the share function is that SecuritySpy has to decide on the type of object it's sharing before the user invokes the share panel. Currently, if the file is small enough (<20 MB or so), the SecuritySpy app will download the whole file and will share it as-is. This has the best user experience, as then any app that can accept video files (e.g. Files, Photos) can be used. However, this doesn't work for large files and/or when the user has a slow data connection on their iOS device; it would take too long to download the file. This is why we then revert to sharing by link, but then you have a somewhat different/limited set of share options - for example you can't save this to the Files or Photos app. I don't believe there is a good way around this.

    As for the movie thumbnails, you make a good point. We won't be able to use exactly the same image (because the notification images all come out at different aspect ratios depending on the shape of the motion, and this would look weird in the movie list), but perhaps we can take the smallest image, at the same aspect ratio as the movie itself, that contains the motion.

  • Senna_F1
    edited February 2022

    Hi Ben,

    Wow... This is very interesting and promising! First, the video has to be less than 10MB to get the useful options. Hardly any of my videos fall below 10MB, so I had never even seen the option when trying to share. But wow, when I can download them (<10 MB), it's perfect!!! The video player in Photos allows zoom, has a timeline, it's great! Honestly, where I live, large files should not be a problem at all. I have fiber at home, and even with just LTE, 200MB is nothing. It sure would be WONDERFUL if this could be changed/configured.

    Last, I always get the 'save to files' option. So when you say " his is why we then revert to sharing by link, but then you have a somewhat different/limited set of share options - for example you can't save this to the Files or Photos app", that might not be the case anymore. Of course Save to Files just saves a TXT file. But nevermind that... Let's hear it for bigger file downloads!!! Yes please!

  • Ben
    Ben
    edited February 2022

    Agreed, we should have a user-selectable threshold for when the share-by-file option turns into a share-by-link option. Or - perhaps better - an option that pops up when you start to share, that asks you whether you want to share as a file or a link. I'll see if we can add this soon.

    Yes, you can save the link to Files, but as you say it just saves it as a text file with a link in it, not a movie file. Links are useful for sending somewhere so that you can download the movie on a different device, but not so useful for what you are describing, which is to play the file on the same iOS device.