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

Video/Image loading status as on youtube #8

Closed
headdab opened this issue Jul 13, 2018 · 2 comments · Fixed by #6586
Closed

Video/Image loading status as on youtube #8

headdab opened this issue Jul 13, 2018 · 2 comments · Fixed by #6586
Assignees
Labels
enhancement New feature or request

Comments

@headdab
Copy link

headdab commented Jul 13, 2018

Another question and likely feature suggestion.

When start a job, if I wait long enough, will all the frames be loaded into the browser?
Or, are they loaded on demand as I seek through the video?
Are they cached locally in memory?

I'm working with 4k video and the interface isn't that usable, at least for my current use model, until all frames have been loaded.

Based on the answer above, it would be great to have feedback as to whether the frames have all been loaded or, better, which frames have been loaded. What I've seen that works well is using a different color on the seek bar for frames that have been loaded.

If they are demand loaded, it would be nice to have a way to force it to load them all (as long as there's enough memory available).

@nmanovic
Copy link
Contributor

When start a job, if I wait long enough, will all the frames be loaded into the browser?
Or, are they loaded on demand as I seek through the video?

No, they don't. To reduce server load it will try to preload next 500 frames and it will continue preload other frames as soon as necessary. After jump it will start preload next frames from the new position.

Are they cached locally in memory?
Yes.

I'm working with 4k video and the interface isn't that usable, at least for my current use model, until all frames have been loaded.

Could you please describe your annotation use case? Another way to optimize your case is to resize the video before uploading to CVAT.

What I've seen that works well is using a different color on the seek bar for frames that have been loaded.

I like the feature. I will add it into our internal roadmap. It should not be difficult to implement.

If they are demand loaded, it would be nice to have a way to force it to load them all (as long as there's enough memory available).

Let's understand your use case. If you annotate with a reasonable speed (e.g. several seconds per image) CVAT should be fast enough to preload next frames for you.

@headdab
Copy link
Author

headdab commented Jul 13, 2018

We're annotating sports video from stationary cameras. Sometimes the players and ball are rather small in the resulting video making scaling the video down less desirable. At the end of the day, we have to balance accuracy of the annotations with the time it takes to download and tag the videos. I realize I can scale down the video, or compress the frames more, but need to understand the loading and caching strategy to determine the appropriate trade-offs. How is the frame cache size determined? Currently, I'm annotating 30s clips. I'm guessing the segmentation options when creating jobs is so you can break big jobs into smaller ones, to handle related issues.

The model I'm currently using, in interpolation mode, is to step through the video using at a coarse level (c/v keys) labeling the boxes for a given player. I think that's the best way to get good per player tracks. Then I use the scroll bar and single step to quickly slide back and forth through the video, stopping when necessary to add more keyframes to the track.

We're still trying to find the most effective way to annotate these videos, but that's what we're doing so far. I recall in the research that its easier to annotate one object at a time. I use the filtering functionality to only show the boxes for the current object. If you have other suggestions or ideas, please share.

@nmanovic nmanovic added the enhancement New feature or request label Jul 22, 2018
@nmanovic nmanovic modified the milestones: Release 0.3.0, Beta 0.3.0 Sep 20, 2018
bsekachev pushed a commit that referenced this issue Sep 26, 2018
bsekachev pushed a commit that referenced this issue Oct 15, 2018
bsekachev pushed a commit that referenced this issue Oct 17, 2018
@nmanovic nmanovic self-assigned this Oct 29, 2018
@nmanovic nmanovic modified the milestones: 0.3.0 - Beta, Backlog Nov 20, 2018
@nmanovic nmanovic modified the milestones: Backlog, 1.0.0 - Beta Jul 22, 2019
@nmanovic nmanovic assigned bsekachev and unassigned nmanovic Feb 26, 2020
@nmanovic nmanovic assigned ActiveChooN and unassigned bsekachev Mar 21, 2020
@nmanovic nmanovic modified the milestones: 1.0.0-beta.1, 1.1.0-alpha Apr 15, 2020
@bsekachev bsekachev modified the milestones: 1.1.0-alpha, 1.1.0-beta Jun 22, 2020
@nmanovic nmanovic modified the milestones: 1.1.0-beta, 1.1.0-release Jul 29, 2020
@ActiveChooN ActiveChooN modified the milestones: 1.1.0-release, 1.2.0-beta Sep 1, 2020
@nmanovic nmanovic modified the milestones: 1.2.0-beta, Backlog Dec 15, 2020
TOsmanov referenced this issue in TOsmanov/cvat Aug 23, 2021
korshunovdv pushed a commit to Evocargo/cvat that referenced this issue Aug 23, 2021
# This is the 1st commit message:

# This is a combination of 3 commits.
# This is the 1st commit message:

# This is a combination of 8 commits.
# This is the 1st commit message:

setup config

Add built from source code

one domain name insted of two

add installation guide

update gitignore

# This is the commit message cvat-ai#2:

delete serverless (nuclio)

# This is the commit message cvat-ai#3:

add backup script to gitignore

# This is the commit message cvat-ai#4:

Add script for backup data

# This is the commit message cvat-ai#5:

Add docstrings for backup script

# This is the commit message cvat-ai#6:

Update backup script to delete after 30 days

# This is the commit message cvat-ai#7:

Fix backup error

# This is the commit message cvat-ai#8:

Update backup rules, and decrease cache size from 1 Tb to 10 Gb

# This is the commit message cvat-ai#2:

one domain name insted of two

# This is the commit message cvat-ai#3:

add installation guide

# This is the commit message cvat-ai#2:

delete serverless (nuclio)
@nmanovic nmanovic changed the title VIdeo loading status Video/Image loading status as on youtube Nov 28, 2021
@nmanovic nmanovic removed this from the Backlog milestone Nov 28, 2021
bsekachev added a commit that referenced this issue Aug 11, 2023
<!-- Raise an issue to propose your change
(https://github.com/opencv/cvat/issues).
It helps to avoid duplication of efforts from multiple independent
contributors.
Discuss your ideas with maintainers to be sure that changes will be
approved and merged.
Read the [Contribution
guide](https://opencv.github.io/cvat/docs/contributing/). -->

<!-- Provide a general summary of your changes in the Title above -->

Depends on #6585

### Motivation and context
Resolved #8

Decoded range is red:
<img width="537" alt="image"
src="https://github.com/opencv/cvat/assets/40690378/686c4016-ef09-4ec9-8815-2c88f820f2d6">

### How has this been tested?
<!-- Please describe in detail how you tested your changes.
Include details of your testing environment, and the tests you ran to
see how your change affects other areas of the code, etc. -->

### Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply.
If an item isn't applicable for some reason, then ~~explicitly
strikethrough~~ the whole
line. If you don't do that, GitHub will show incorrect progress for the
pull request.
If you're unsure about any of these, don't hesitate to ask. We're here
to help! -->
- [x] I submit my changes into the `develop` branch
- [x] I have added a description of my changes into the
[CHANGELOG](https://github.com/opencv/cvat/blob/develop/CHANGELOG.md)
file
- [ ] I have updated the documentation accordingly
- [ ] I have added tests to cover my changes
- [ ] I have linked related issues (see [GitHub docs](

https://help.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword))
- [x] I have increased versions of npm packages if it is necessary

([cvat-canvas](https://github.com/opencv/cvat/tree/develop/cvat-canvas#versioning),

[cvat-core](https://github.com/opencv/cvat/tree/develop/cvat-core#versioning),

[cvat-data](https://github.com/opencv/cvat/tree/develop/cvat-data#versioning)
and

[cvat-ui](https://github.com/opencv/cvat/tree/develop/cvat-ui#versioning))

### License

- [x] I submit _my code changes_ under the same [MIT License](
https://github.com/opencv/cvat/blob/develop/LICENSE) that covers the
project.
  Feel free to contact the maintainers if that's a concern.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants