HTML 5 Video Support
Can I use HTML 5-style video to "receive" video from SecuritySpy? If so, how? If not, consider this a feature request. :-)
Why? I'm trying to embed multiple SecuritySpy video streams into an iOS app, and the combined mjpeg bandwidth is killing me. Well, my app. Are there other options for iOS that a *programmer* can use? I.e. not just "use this app"; I need "use this royalty-free library." :-)
Cheers
-- perry
Why? I'm trying to embed multiple SecuritySpy video streams into an iOS app, and the combined mjpeg bandwidth is killing me. Well, my app. Are there other options for iOS that a *programmer* can use? I.e. not just "use this app"; I need "use this royalty-free library." :-)
Cheers
-- perry
Comments
-
Hi Perry,
Currently the only alternative to JPEG for live streaming via SecuritySpy's web server is to use MPEG-4 over RTSP, which is a much lower-bandwidth stream. You'd then have to use something like FFmpeg to decode the video data.
A better alternative will be available in the next major release of SecuritySpy, which will support "HTTP Live Streaming". This employs a .M3U8 playlist within an HTML-5 tag in order to live-stream H.264-format video to a web browser (or a UIWebView in an iOS app).
However this won't be available for a while (probably towards the end of 2015). If you need more information on the MPEG-4 stream let me know, I'd be happy to provide it. And if you go down the RTSP/MPEG-4 route, the next version of SecuritySpy will also support RTSP/H.264 so it should be easy for you to switch to this once available, in order to get an even lower-bandwidth stream.
Your iOS app sounds interesting - are you able to divulge any details at this time? -
Great. HTTP live streaming is pretty much what I was asking for. I'll be happy to beta-test that for you. :-)
I took a brief stab at "raw" mp4 streaming (++video?codec=mp4&...) using MPMoviePlayerController on iOS. That fails ("AVErrorServerIncorrectlyConfigured"); it seems that the mp4 streamer built into iOS expects the server to support byte range requests, which yours (it claims) doesn't. Any suggestions?
Meanwhile, I can live with jpeg pulls for now and (I hope) switch to HTTP LS when it becomes available...
Cheers
-- perry -
Hi Perry,
MPMoviePlayerController is for playing back QuickTime Movie files over a network, so this isn't going to work for live video, where information about the media samples isn't known in advance (SecuritySpy does in fact support byte range requests when delivering files, however this concept does not apply to live streams).
I think for now the only solution for MPEG-4 streaming is using FFmpeg, which does the RTSP parsing and video decoding for you. I'm not sure how easy this is to integrate however, as I've never done it myself. This blog post describes the basics of how to do it. You would use the ++stream?codec=mp4v&cameraNum=x request in SecuritySpy to obtain an RTSP-over-HTTP stream with MPEG-4 video.
Otherwise, please check back in a few months on the status of HTTPS Live streaming, it would be great for you to beta test this feature when the time comes. -
Hi, Ben! How is HTTPS Live streaming coming along? You may have heard of this new Apple TV thing, and it doesn't *have* a browser. The only way to get video on it is streaming the Apple Way...
Cheers
-- perry -
Hi Perry, you are indeed correct about the Apple TV! We're working on this and a bunch of other things at the same time so it's taking a bit longer than expected. I can assure you that it's high priority!
-
Ok -this makes me feel better. I have been banging my head against the keyboard trying to figure out what I was doing wrong to get the new appleTV to work with SecuritySpy. No rush - just good to know it is a change to the webserver

Thanks!!
Eric -
Hi all,
Just to check, if this is the same issue I see now, where I'm told I need to install the Quicktime 7 plugin:
https://support.apple.com/en-us/HT205081
It says there that all Ben needs to do is to change from using the embed HTML tag to the HTML5 video tag, but perhaps it's more complicated than that?
Anyway I can re-install QT7 for the moment, so it's not a big problem.
Cheers,
Ed
Edit: removed chevrons around the tags. -
Hi Ed - there are two issues related to HTML5 and the QuickTime Plugin: playing back previously-captured video files, and playing live video. I think you might be talking about the former?
SecuritySpy already does use HTML5 <video> tags for playing previously-captured video where possible - this is possible when the video codec is H.264 and the audio codec (if there is audio present) is AAC. If the movie is recorded with any other codecs then it is not MP4-compliant and the HTML5 video tag cannot be used, so the QuickTime Plugin is the only way to play such movies in web browsers.
If your cameras support H.264 video compression, make sure you are using it in SecuritySpy, and set SecuritySpy to capture the incoming video without recompression, and you should get .m4v files, which will play back with HTML5 video tags without the need for the QuickTime Plugin. -
Hi Ben, I'm late to the party on this one and was trying to set up the SS Web Server today. I seem to be getting it done right in that I can successfully log-in, but am running into the missing plug-in thing others have spoken of above. I'm running 10.11.2 and I'm not finding the legacy plug-ins that Apple speaks of at: https://support.apple.com/en-us/HT205081. In fact, there's isn't a "disabled plug-ins" folder at all. What next? EP
-
Just to make sure this thread isn't going completely elsewhere, a brief reminder: *I* was asking for support of Apple-style "HTTP live streaming" (for both live-view and recorded-view streams). I only mentioned browsers to point out that the new Apple TV doesn't *have* one, so referring people to browser plug-ins is not helpful. We really need HTTP live streaming output from SecuritySpy (which would *also* help in the browser case).
Which Ben said he's working on. I'll just, uh, fidget here a bit. If you need a beta tester, you know where to find me. :-)
Cheers
-- perry -
@EricP - on the root level of your main system drive there is a Library folder. If you open this you should see both an "Internet Plug-Ins" folder and an "Internet Plug-Ins (Disabled)" folder - the latter should contain the QuickTime Plugin, which you can move to the former to re-enable the plugin. Then you need to restart Safari.
@PerryCynic - I hear you - coming soon
-
Thank you! I was apparently looking in the user/library folder... E
-
here's another beta tester for HTML5. We're Firefox users as well.
- casey
