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

cabana: real-time cursor and video frame sync for chart and video #34301

Merged

Conversation

deanlee
Copy link
Contributor

@deanlee deanlee commented Dec 21, 2024

This PR introduces real-time, high-performance synchronization between the cursor and video frames, enhancing the user experience when interacting with the chart and video stream.

  • During Playback: While the stream is playing, hovering over the chart updates the video thumbnail to display the corresponding frame, allowing users to visually align data points with the video.

    simplescreenrecorder-2024-12-21_18.52.58.mp4
  • While Paused: When the stream is paused, the video area is painted with a larger thumbnail that syncs with the cursor’s position on the chart, providing a preview of the corresponding frame—similar to YouTube’s scrubbing behavior.

    simplescreenrecorder-2024-12-21_18.57.35.mp4
  • Slider Interaction: Dragging the slider also scrubs through the video frames, providing real-time feedback as the user navigates through the timeline.

    simplescreenrecorder-2024-12-21_22.36.33.mp4
  • Slider time indicator: Added a dynamic time indicator on the slider bar that follows the cursor, displaying the corresponding time position on the slider.
    2024-12-21_15-48

NOTE:

Changes from PR #34237 have been reverted in this PR due to event synchronization issues and significant performance delays on laptops without CUDA decoding, For more details, refer to the discussions in PRs #34237 and #34298.

TODO:

// TODO: Dynamically generate more thumbnails during frame decoding to improve scrubbing smoothness.

@github-actions github-actions bot added the tools label Dec 21, 2024
@deanlee deanlee changed the title caana: real-time cursor and thumbnail synchronization between chart and video cabana: real-time cursor and thumbnail synchronization between chart and video Dec 21, 2024
@deanlee deanlee marked this pull request as draft December 21, 2024 10:19
@deanlee deanlee changed the title cabana: real-time cursor and thumbnail synchronization between chart and video cabana: real-time cursor and video frame synchronization between chart and video Dec 21, 2024
@deanlee deanlee changed the title cabana: real-time cursor and video frame synchronization between chart and video cabana: real-time cursor and video frame sync for chart and video Dec 21, 2024
@deanlee deanlee marked this pull request as ready for review December 21, 2024 12:00
@deanlee deanlee force-pushed the cabana_sync_thumbnail_with_chat_tooltip branch 2 times, most recently from ff9384b to ba0e950 Compare December 21, 2024 13:13
@deanlee deanlee force-pushed the cabana_sync_thumbnail_with_chat_tooltip branch 4 times, most recently from 39eacc0 to d3d4563 Compare December 21, 2024 15:52
@deanlee deanlee force-pushed the cabana_sync_thumbnail_with_chat_tooltip branch from d3d4563 to 4a8bceb Compare December 21, 2024 15:55
@adeebshihadeh adeebshihadeh merged commit 822f613 into commaai:master Dec 21, 2024
16 checks passed
@deanlee deanlee deleted the cabana_sync_thumbnail_with_chat_tooltip branch December 21, 2024 22:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants