Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HomeKit Secure Video Support? #33

Open
dfbills opened this issue Jun 17, 2019 · 34 comments
Open

HomeKit Secure Video Support? #33

dfbills opened this issue Jun 17, 2019 · 34 comments

Comments

@dfbills
Copy link

dfbills commented Jun 17, 2019

It would be fantastic to expand this product to support Apple's HomeKit Secure Video feature. Apple seems to have tailor made this product to work with hkcam!

@looxonline
Copy link

If I understand correctly the secure video implementation requires a subscription to at least the 200GB iCloud service and then it offers a rolling recording in the cloud of 10 days and timestamps events within that recording.

Instead of storing the video in iCloud it would be cool if it could still be stored on the local device (like the snapshots are) so that no monthly sub is required and they would only be captured and stored based on an event and not on a full rolling 10 day window.

@brutella
Copy link
Owner

@looxonline How would we access the video content stored on disk?

The snapshots are accessed via a custom HomeKit characteristic.
This works because snapshots are not that big.

@looxonline
Copy link

looxonline commented Jun 21, 2019

@brutella Indeed, if the custom characteristic does not support content that is larger than a snapshot then it would be difficult to keep this kind of functionality within the HomeKit ecosystem but the reality remains that we have a very versatile machine (pi) that the hkcam software is running on top of and so provided we can generate small video clips we could handle the viewing of them using another cloud service.

For instance, I have a dropbox account. Let's imagine that we create an automation that takes a snapshot based on a motion sensor AND also takes a short video clip provided we have set this feature to be enabled in some (hypothetical) configuration file. The snapshot will give me some idea of whether or not I am interested in viewing the video clip (wind blowing a leaf - ignore - or maybe something that requires a bit more attention - view clip). If the hkcam were to place the video clips in a folder on the pi and name them something that is intuitive and perhaps matches with the name of the snapshot (date-time-room?) then the user (me or anyone else) could handle how they will sync that folder to their own cloud service (rclone is a very simple tool that will take care of this job easily - https://github.com/ncw/rclone). As the clip is created it would then be synced and then I could simply open my dropbox app and view it from there.

For users who may find it difficult to set up a command line version of rclone (few I suppose since this is a hobbyist project to begin with) then they could access the recorded clips locally using a network share or by taking the SD card out of the pi and mounting it elsewhere. Alternately there could be a simple script that dumps the contents of the clips folder into a flash stick as soon as one is plugged in...rough ideas but the general principle would be to enable short clip (30s to 60s) recording based on events and then let the user decide how they want to use the clips.


Edit:

This need not even conflict with the secure video feature since ffmpeg could have the encoded output sent to a named pipe which would allow us to use it as an input to other instances of ffmpeg and specify as many endpoints (ingest point/local storage) as we want.

I'd actually love to get involved in the dev as I use ffmpeg on a daily basis but unfortunately I have never used go in my life. Maybe when things get not so busy in a few weeks from now :)

@ProjectInkfish
Copy link

@brutella Any updates on the Secure Video support with iOS 13 launching next week? I haven't been able to find the documentation on how to support it.

@AndreaCCIE
Copy link

Unfortunately It won’t be part of iOS 13.0

@ProjectInkfish
Copy link

Unfortunately It won’t be part of iOS 13.0

What is your reference for this? I haven't seen anything indicating this feature was dropped.

@AndreaCCIE
Copy link

What is your reference for this? I haven't seen anything indicating this feature was dropped.

https://twitter.com/viticci/status/1171505720392470529

@ProjectInkfish
Copy link

-___- I'm disappointed that you were right, haha. I hadn't seen that in the features that were left off. But I believe they are all planned for 13.1? No? I just haven't seen any mentions from developers.

@AndreaCCIE
Copy link

AndreaCCIE commented Sep 16, 2019

It “should” be part of iOS1[3-9]\.X “sometime in the future”
I'm running the 13.1 but can't see any reference to it.

@Korni22
Copy link

Korni22 commented Oct 4, 2019

FYI: iOS 13.2 Beta 1 seems to include the first HomeKit Secure Video related things:

https://www.reddit.com/r/HomeKit/comments/ddat3w/homekit_secure_video_playback_view/

@AndreaCCIE
Copy link

FYI: iOS 13.2 Beta 1 seems to include the first HomeKit Secure Video related things: ...

@Korni22 you are right, it seems... but unfortunately it’s not. Moreover, there is no documentation at all yet.

@ProjectInkfish
Copy link

Looks Secure Video is live in 13.2 today!

@cannikin
Copy link

Can confirm, there are all kinds of video streaming/recording options on my Logitech Circle 2. Is it just a matter of updating HKcam's accessory information as supporting those features or is this a major change to get this working? Maybe even requiring a registration with Apple?

image

image

@brutella
Copy link
Owner

The required characteristics for getting Secure Video were already added with c8a4306.
The missing pieces are the payloads and the protocol to negotiate video recording.
There is currently no official documentation available about that.

@RefineryX
Copy link

@brutella - is this added to the native HomeKit app? I have installed HKCam but do not see the options for secure video recording?

@RefineryX
Copy link

The required characteristics for getting Secure Video were already added with c8a4306.
The missing pieces are the payloads and the protocol to negotiate video recording.
There is currently no official documentation available about that.

Actually, maybe I have misunderstood this? Would the recording only be available for your Home app or would this work with the Secure Video feature with Home + iCloud?

@tokamac
Copy link

tokamac commented Feb 4, 2020

Some good news: KhaosT/HAP-NodeJS#741 (comment)

@gabrielcsapo
Copy link

Any updates on supporting this?

@cannikin
Copy link

Word is Apple just open sourced HomeKit so I'd think these protocols should be available now, or soon!

@RefineryX
Copy link

Here is the official GitHub Repository
https://github.com/apple/HomeKitADK

@gabrielcsapo
Copy link

Looks like you still need a license to use secure video apple/HomeKitADK#56

@hazcod
Copy link

hazcod commented Jul 31, 2020

Specification has been reverse engineered and published here @brutella : https://github.com/Supereg/secure-video-specification

@libewa
Copy link

libewa commented Dec 18, 2020

Unfortunately It won’t be part of iOS 13.0

Apple presented it on WWDC20 in July, is it in iOS / iPadOS / tvOS 14 and macOS Big Sur?

@runrennerrun
Copy link

has anyone managed to get this running as HSV camera?

@nanosonde
Copy link

nanosonde commented Jan 11, 2022

Homekit Secure Video was finally implemented in homebridge-camera-ffmpeg: https://github.com/Sunoo/homebridge-camera-ffmpeg/tree/hksv

Related PR: homebridge-plugins/homebridge-camera-ffmpeg#1200

Maybe you can get an idea of what needs to be implemented in golang.

@ghost
Copy link

ghost commented Jul 4, 2022

Any update on this? HKSV still a thing, or not possible by hkcam?

@jankornblum
Copy link

Any news regarding HKSV support? Would be great.

@Littlericket
Copy link

For now i‘m using camera ui with homebridge to get HKSV support. Would love to skip the homebridge part and using hkcam standalone - it seems more „stable“.

@leoduth
Copy link

leoduth commented Oct 13, 2023

Des nouvelles concernant le support du HKSV ? Ce serait génial.

Hello no news about the HKSV support ?

@Littlericket
Copy link

Scrypted is a great alternative.

@leoduth
Copy link

leoduth commented Oct 13, 2023

Scrypted is a great alternative.

is there an alternative, like here, to use a usb webcam to transfer it to Homekit?

because I have the impression that Scrypted only works with Wifi cameras?

@Littlericket
Copy link

Scrypted is a great alternative.

is there an alternative, like here, to use a usb webcam to transfer it to Homekit?

because I have the impression that Scrypted only works with Wifi cameras?

You can integrate USB cams with ffmpeg.

@leoduth
Copy link

leoduth commented Dec 9, 2023

Scrypted is a great alternative.

is there an alternative, like here, to use a usb webcam to transfer it to Homekit?
because I have the impression that Scrypted only works with Wifi cameras?

You can integrate USB cams with ffmpeg.

I tried, but I can't get it to work in Scrypted. Do you have a tutorial?

@Littlericket
Copy link

Scrypted is a great alternative.

is there an alternative, like here, to use a usb webcam to transfer it to Homekit?
because I have the impression that Scrypted only works with Wifi cameras?

You can integrate USB cams with ffmpeg.

I tried, but I can't get it to work in Scrypted. Do you have a tutorial?

The easiest way to integrate any webcam is via mediamtx (https://github.com/bluenviron/mediamtx) which provides a RTSP, or RTC, and is lightweight.
The output of RTSP can be put into scrypted as an input. Mediamtx is easy to configure. Generic Webcam example is here: https://github.com/bluenviron/mediamtx#generic-webcam

This also means that mediamtx can be run on any rpi with full libcamera support somewhere (even with hw encoding) and scrypted on a bigger host, since the needed movement detection for HSV is resource hungry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests