Play DishCam runs as video in the app - #196
Merged
Merged
Conversation
…iews. Co-authored-by: Cursor <cursoragent@cursor.com>
…yback gaps. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-authored-by: Cursor <cursoragent@cursor.com>
… rows. Skip MP4 preload until play, answer HEAD on the local mirror, and treat S3 403 as missing. Co-authored-by: Cursor <cursoragent@cursor.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
DishCam photographs a dish over and over and saves the whole run as one big multi-photo file, alongside a small text file holding the run's settings. Today Data Hub just stores both, so you have to download the big file and open it in something else to see what happened.
This turns that photo stack into a video that plays on the run page.
What you'll see
How the conversion works
The camera's two files arrive separately and either can land first. Instead of retrying and burning time, the converter checks whether its partner file has arrived yet. If not, it stops quietly and lets the second arrival do the work, so nothing half-finished shows up in the app.
Once both are present it reads the photos one at a time and feeds them straight into ffmpeg, a standard video tool now included in the processing image. A single run can be hundreds of 12-megapixel photos, so loading them all at once would run the job out of memory.
Three choices worth flagging:
Reliability
Setup notes
dishcamto the list of instrument types.brew install ffmpeg). Tests that need it skip themselves when it is missing, so nothing breaks without it. It is installed in CI and included in the processing image.Test plan
make py-testpasses (342 unit tests pass locally)Made with Cursor