feat: burst-video plugin for edge compute video capture#13
Open
feat: burst-video plugin for edge compute video capture#13
Conversation
Add a new plugin that captures and uploads video data when a Bee device is driving through active burst geometries. The plugin polls the beemaps API for burst polygons, uses image cache metadata for GPS location, and uploads matching video files to S3. New modules: - beeutil.geo: point-in-polygon utilities for burst geometry matching - beeutil.video: video file listing and S3 upload via ODC proxy - plugin.burst_video: main plugin with setup/loop/main pattern Closes CAP-71 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Check all image handles in batch for burst membership, not just the last one, so bursts entered and exited within a single poll window are not missed (P1) - Seed video_checked_at to time.time() during setup so the first loop only captures newly recorded videos instead of the entire backlog (P2) - Add in_flight_videos set to prevent duplicate upload submissions for files still being uploaded when the next poll runs (P2) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Only advance video watermark when no uploads are in-flight, so failed uploads are retried on subsequent loop iterations instead of being silently dropped. - Filter out bursts whose validFrom is in the future, preventing video uploads before scheduled burst windows begin. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
burst-videoplugin that captures and uploads video data when a Bee device drives through active burst geometries (CAP-71)beeutil.geomodule with ray-casting point-in-polygon for burst geometry matching (supports Polygon + MultiPolygon)beeutil.videomodule for listing MP4 files from/data/video/and uploading via ODC cache proxyHow it works
Test plan
devtools.py -i src/plugin/burst_video.pyCloses https://linear.app/hivemapper/issue/CAP-71
🤖 Generated with Claude Code