summaryrefslogtreecommitdiff
path: root/reolink (unfollow)
Commit message (Collapse)Author
2023-10-02reolink: Security fixes for LWP::UserAgentJon duSaint
Modify pledge/unveil calls so LWP::UserAgent will work.
2023-10-02reolink: Don't die when camera unavailableJon duSaint
Now that multiple cameras are supported, keep going when one can't be reached for some reason.
2023-10-02reolink: Set default retention to 72 hoursJon duSaint
There's plenty of storage; may as well keep images around longer.
2023-09-16reolink: Simplify child process handlingJon duSaint
Since all we care about is whether the video-generating process is still running, we can remove the SIGCHLD handling that updates the list of child processes in favor of directly checking them when decideding whether to generate a video or not.
2023-09-16reolink: Minor fixesJon duSaint
* Pass along camera quality kludge flag to Snap. * Print an error when waitpid finds a child not in the list * More directly search for today's video
2023-09-16Reolink.pm: Clean up args in newJon duSaint
Make the previous change here more tidy.
2023-09-14reolnk: Support multiple camerasJon duSaint
Multiple cameras can now have snapshots taken and videos generated. The cameras are hardcoded for now. Images and videos go into a per-camera spool.
2023-09-14reolink: Fix local import pathJon duSaint
Derp error caused the local module not to be imported when --debug was specified.
2023-09-14Reolink.pm: Add additional parameters to new()Jon duSaint
* debug => [0|1] Enable/disable debug printing. Not much of this so far. * image_quality_workaround => [0|1] Newer Reolink firmware (unknown which versions or when it started) generate JPEG images with empty or missing quantization tables. This is probably fine, except a years-old bug in ffmpeg's mjpeg module causes it to choke when this field is missing, so timelapse videos can't be created. Setting this flag causes the image data to get run through Image::Magick, setting a quality of 99, before saving.
2023-09-12Reolink.pm: Support HTTPSJon duSaint
Newer Reolink firmware supports HTTPS and ships with HTTP API access disabled by default. Switch to LWP::UserAgent for HTTPS support and redirect to HTTPS if needed.
2023-09-06reolink: Fixes for video format switchJon duSaint
All the things that prevented the previous commit from working. The iDevice can now play video, as can Firefox.
2023-08-30reolink: Change video formatJon duSaint
The state of video in the browser is a hot mess. And not in a good way. Google and Mozilla support the fancy VP9 encoding. Apple does not. Sadly, since the videos have reasonably good quality and small size. Apple supports H.265, also a fancy encoding. But neither Google nor Mozilla support that. What they all can agree on is H.264. Which isn't bad, but isn't great either. But since those dorks can't get their act together, then H.264 it is for the rest of us. The "front end" people do stupid tricks like encode each video in several different formats and let the browser choose, but come on, really?
2023-08-20reolink: switch reolink_ip to ntp_ipJon duSaint
The value is used to set the NTP server for the cameras, so may as call call it by a name that corresponds.
2022-07-24reolink: add video tabJon duSaint
The output web page now has slideshow and video tabs. The video tab lets you select from and play existing videos. N.b. videos that are still being generated will show up.
2022-07-24reolink: switch to small videos onlyJon duSaint
Full size takes forever to generate (which will eat into the power budget once remote) and is larger than needed for what it is. Switch to generate the small size only.
2022-07-24reolink: Fix video generation and add enhancementsJon duSaint
When the spool was different from default, the process child found no screenshots as it wasn't loading the config file. Fix that. Also add a `"timelapse"` command to trigger generation (primarily for debugging), and save off a "keyframe" for each video generated.
2022-07-18reolink: generate simple slideshow web pageJon duSaint
Static page with simple slideshow, generated after each snapshot and respool.
2022-07-17reolink: minor input validation improvementsJon duSaint
2022-07-17reolink: sandbox fixesJon duSaint
Enable config file creation and exec (for video creation).
2022-07-17reolink: Allow reloadJon duSaint
Turns out support for reload was present since the beginning, so enable the rc "reload" action.
2022-07-17reolink: Add spool retention policyJon duSaint
Default now is to keep images in spool only for 24 hours. This can be changed via a client command or the config file.
2022-07-16reolink: rearrange sandbox code so it works with daemonizeJon duSaint
2022-07-16reolink: remove chroot refsJon duSaint
2022-07-16reolink: Sandbox server with unveilJon duSaint
2022-07-16reolink: Hoist load_params to mainJon duSaint
Prepare for use by Client.
2022-07-16reolink: Fix more missing spool dir bugsJon duSaint
2022-07-16reolink: Install reolink.conf.5 to correct directoryJon duSaint
2022-07-16reolink: Add man pages and example configurationJon duSaint
2022-07-16reolink: Fix missing spool dir bugJon duSaint
Add `spool_dir` to `%default_config` and `%debug_config` so as not to store snapshots in `/`.
2022-07-15reolink: Install and rc scriptsJon duSaint
2022-07-09reolink: Add timelapse video generationJon duSaint
2022-05-17reolink: client/server to take snapshots from a Reolink IP cameraJon duSaint
2022-05-01Move Reolink to its own subdirJon duSaint