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

Safari & Firefox skip video frames (are b-frames ignored?) #7961

Open
Wumpf opened this issue Oct 31, 2024 · 0 comments
Open

Safari & Firefox skip video frames (are b-frames ignored?) #7961

Wumpf opened this issue Oct 31, 2024 · 0 comments
Labels
🪳 bug Something isn't working 🎞️ video 🕸️ web regarding running the viewer in a browser

Comments

@Wumpf
Copy link
Member

Wumpf commented Oct 31, 2024

B-frames being ignored is the likely cause, but we should dig a bit deeper here to figure this out - would be great if we could show in the ui whether a frame is a bframe. On native h.264 we now show composition & decode timestamps which gets us almost there.

The issue can be reproed by loading this video into Rerun

bunny_timestamped_h264_1080p_10s.mp4

and then frame stepping.
I observed this on Mac Firefox, Safari but not in our native ffmpeg based impl or Chrome.

This is very likely the issue this users hit
https://x.com/chrisoffner3d/status/1847623631678943416

@Wumpf Wumpf added 🪳 bug Something isn't working 🕸️ web regarding running the viewer in a browser 🎞️ video labels Oct 31, 2024
Wumpf added a commit that referenced this issue Nov 11, 2024
…n the presence of b-frames) (#8053)

### What

* Fixes #7956

Our PTS -> sample search algorithm wasn't quite right. Fixed this here
and added a unit test.
Unfortunately, I had to introduce a small auxiliary data structure to
keep this snappy / not O(n) for n samples, but it's very simple and
rather contained.

Tested on native & web. Web still suffers from
* #7961

but on Chrome this works fine now!



https://github.com/user-attachments/assets/7a20467d-4d66-456f-be99-debba4ff7a31


### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested the web demo (if applicable):
* Using examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/8053?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/8053?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!
* [x] If have noted any breaking changes to the log API in
`CHANGELOG.md` and the migration guide

- [PR Build Summary](https://build.rerun.io/pr/8053)
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🪳 bug Something isn't working 🎞️ video 🕸️ web regarding running the viewer in a browser
Projects
None yet
Development

No branches or pull requests

1 participant