Comments (5)
Hi @bubalazi ,
In general I believe it will be a cool feature. Several comments:
- When CVAT server extracts frames we know that it does the same way for a video file (doesn't depend on a client). The main problem with navigation by frames directly using OpenCV it can be imprecise and in general depends on platform (opencv/opencv#9053). Precise frame navigation is very important to have correct annotations. Is it a problem for OpenCV.js?
- Probably one way to solve the problem on server side is "dynamic frame extraction". It means that optionally server can try to extract frames on the fly with some internal cache and prefetch. Of course performance and server load will suffer but it can be implemented as an optional feature. Thus only small part of server side should be improved. For client the change will be invisible but it doesn't solve problem with big traffic between clients and a server.
- If the feature is implemented in client and we don't have problems with "unreliable navigation" it will be the best option but both client and server code should be updated.
If you could invest time in this it will be awesome!
from cvat.
Hi,
My workflow is such that I have thousands of frames per annotation task, which amounts to extensive disk space usage (e.g. a <15MB video (~40s VGA@30fps) results in ~2GB in jpeg's).
Adding the ability of CVAT to work directly on a video stream will be a significant improvement as it will allow for the user to only specify a URL/path with potentially an optional download and local storage capability.
One way I see this to be done is by usage of OpenCV.js (https://docs.opencv.org/3.4/d5/d10/tutorial_js_root.html).
I could invest time in this. Let me know of your thoughts.
Thanks
Have you finished the job?
from cvat.
@dogandemir_gitlab ,
Now that I think of it, it kind of is crazy. For a 2MB 10 sec (420 frame) video, it will store and download 143 MB of frames.
Probably in the future it will be good to convert a video file to a "simple video format" (to avoid problems with positioning inside the video stream) and stream it to clients but it is a big task. Found a library which allows to decode video in a browser: https://github.com/phoboslab/jsmpeg (need to check).
from cvat.
Just related issue: w3c/media-and-entertainment#4
from cvat.
Particular fixed. Let's see how it works and re-open the issue if we need to improve.
from cvat.
Related Issues (20)
- Enhanced permission management HOT 1
- Export Yolo 1.1 without label data HOT 1
- Could not save annotations (seems like cross referencing of attributes to other classes) HOT 1
- CVAT video playback extremely slow when more than 1000 labels are defined. HOT 1
- Problems were encountered when deploying the development environment on WSL(no password supplied) HOT 1
- Regarding the issue of using CVAT API to backup task return value 202 HOT 4
- Cannot set properties of undefined (setting 'serverID') cvat HOT 2
- Tests for 'Prevent losing tracked attributes when moving to a project' HOT 1
- Test for 'Cannot set properties of undefined (setting "serverID") cvat' HOT 1
- Lack of documenation on working_time metrics of Analytics HOT 1
- Cache interactor HOT 1
- Unable to connect to the server HOT 1
- I can not export the dataset after I labeling the rectangle dataset today. I can export successfully before. HOT 1
- Unable to Login app.cvat.ai Today HOT 9
- Automattic annotations
- Superuser Creation: `backend-server` does not have a host assigned
- Provision for assigning single task to multiple users HOT 1
- Task Filter & Quick Filter Return Nothing When Filtering On Assignee HOT 3
- Loading preview image causes server crash HOT 7
- Wrong task status in task_api HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cvat.