Super Funicular
Super Funicular
@superfunicular.bsky.social
Building Background Camera RemoteStream for Android. Record video with screen off for 8-12hr battery life. Security cameras, dashcams, baby monitors & more from your phone. Privacy-first, local storage. Free on Google Play. superfunicular.com
67 followers100 following7.6K posts
Background Camera RemoteStream keeps a phone recording with the screen off, footage stored on the device: https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Shell folks: for a content test that has to be `grep -q`, do you branch on PIPESTATUS (141 0 = match), or switch to a reader that drains? I tested both; the early-exit one hides a Permission denied that grep -c surfaces. Which do you ship?
If your camera footage stays on your own disk, nobody else is watching for the day it stops recording. That check is yours to write, and the obvious shell version can tell you "no clips" on a folder full of them, and exit 0.
What I learned testing a 15-minute "is camera 1 still recording" check: `ls -t | head -n 1` failed 95/100 runs on 3000 clips. Rewriting it as one `find -mmin -15 -print -quit` removed the pipe and the failures with it.
Why `sort | head -n 1` under pipefail fails only sometimes: a Linux pipe holds 64 KB. Under 4 KB, sort finishes first. Between 4 KB and 64 KB it's a scheduler race. Over 64 KB sort must wait for head, and dies of SIGPIPE every run. Exit 141.
I build an Android app that records with the screen off and keeps footage on the phone: https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Background Camera RemoteStream: https://play.google.com/store/apps/details?id=com.superfunicular.digicam
The app I make turns a spare Android phone into a home camera: https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Screen-off recording, footage on-device, live view over LAN with no cloud account. Check the feed after every storm. https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Lens fog on a camera phone is usually an AC problem: phone below dew point beside a door of humid air. Fix placement, not hardware. https://dev.to/superfunicular/rainy-season-and-a-phone-security-camera-why-it-says-moisture-detected-and-stops-charging-why-25i9
Samsung's own figure for a wet port to dry: ~1-2 h. That is your minimum battery-only runtime spec for a monsoon-season phone camera. https://dev.to/superfunicular/rainy-season-and-a-phone-security-camera-why-it-says-moisture-detected-and-stops-charging-why-25i9
Android USB-C moisture detection blocks charging, not recording. On an unattended camera phone that means hours on battery with the cable still in. https://dev.to/superfunicular/rainy-season-and-a-phone-security-camera-why-it-says-moisture-detected-and-stops-charging-why-25i9
The app I make turns a spare Android phone into a home camera: https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Old Android phone as a no-cloud camera for the garage or driveway: Background Camera RemoteStream https://play.google.com/store/apps/details?id=com.superfunicular.digicam
USB + Wireless debugging exist so a computer can control the phone. On an unattended camera phone: both off, Stay awake off, then the Dev options master toggle off. https://dev.to/superfunicular/should-you-turn-on-developer-options-to-keep-an-old-phone-security-camera-recording-with-the-screen-38pk
FGS process = "visible" tier per the lifecycle docs. Cached apps freezer only freezes cached procs; a recording FGS is noncached. https://dev.to/superfunicular/should-you-turn-on-developer-options-to-keep-an-old-phone-security-camera-recording-with-the-screen-38pk
We build Background Camera RemoteStream, an Android app that records with the screen off and streams over your own Wi-Fi: https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Made by Super Funicular, the people behind Background Camera RemoteStream: https://play.google.com/store/apps/details?id=com.superfunicular.digicam
At 8 Mbps one MP4 on FAT32 lasts ~68 min. setMaxFileSize + setNextOutputFile segments keep you far from it. https://play.google.com/store/apps/details?id=com.superfunicular.digicam
vold picks exFAT only for cards >~32 GiB AND only if the device supports both. vfat-only phones format a 64 GB card as FAT32. https://dev.to/superfunicular/why-does-a-phone-security-camera-recording-stop-at-almost-4-gb-the-fat32-sd-card-limit-exfat-and-2c3n
AOSP MP4 writer: "do not exceed 95% of the target file limit". On FAT32 a single recording ends near 3.8 GiB. https://dev.to/superfunicular/why-does-a-phone-security-camera-recording-stop-at-almost-4-gb-the-fat32-sd-card-limit-exfat-and-2c3n
MPEG4Writer::start() calls fpathconf(_PC_FILESIZEBITS) and, if the app set no limit, caps the file at 2^32-1 on FAT32. https://dev.to/superfunicular/why-does-a-phone-security-camera-recording-stop-at-almost-4-gb-the-fat32-sd-card-limit-exfat-and-2c3n
Made by Super Funicular, the people behind Background Camera RemoteStream: https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Made by Super Funicular, the people behind Background Camera RemoteStream: https://play.google.com/store/apps/details?id=com.superfunicular.digicam
The app I build turns a spare Android phone into a camera you can check from another room: https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Background Camera RemoteStream (Android): https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Noise is random per frame, so the encoder can't reuse it. Less light = more bits spent on speckle. A lamp beats any setting. https://play.google.com/store/apps/details?id=com.superfunicular.digicam
"FAST" may equal MINIMAL or even OFF, per the docs. Log CaptureResult.NOISE_REDUCTION_MODE to see what you actually got. https://dev.to/superfunicular/why-does-my-phone-security-camera-video-look-smeary-at-night-noise-reduction-edge-sharpening-and-51gn
Android docs: HIGH_QUALITY noise reduction may cost frame rate. For a continuous video request, FAST is the sane pick. https://dev.to/superfunicular/why-does-my-phone-security-camera-video-look-smeary-at-night-noise-reduction-edge-sharpening-and-51gn
Camera2 NOISE_REDUCTION_MODE: LEGACY devices support only FAST. On an old phone used as a camera, no app can turn the smear off. https://dev.to/superfunicular/why-does-my-phone-security-camera-video-look-smeary-at-night-noise-reduction-edge-sharpening-and-51gn
Free sources: consumer.ftc.gov/articles/credit-freezes-and-fraud-alerts Android app I make (spare phone as a no-cloud camera): https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Old Android phone? Background Camera RemoteStream turns it into a no-cloud camera for a spot you want to watch, like the attic hatch. https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Background Camera RemoteStream on Google Play: https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Old phone as a no-cloud camera? Tape a mark inside each edge of the preview, record 20s, check playback. Lost marks = cropped view. https://play.google.com/store/apps/details?id=com.superfunicular.digicam
Stabilization ON in the request doesn't mean stabilized output. Camera2 only guarantees it at <=1080p and <=30fps; above that, the result field reads OFF. https://dev.to/superfunicular/why-does-my-phone-security-camera-show-less-of-the-room-video-stabilization-crops-the-edges-and-a-3ha2