I have written an app that processes a video (720*576 px, 30 fps, RGB format) us
ID: 657701 • Letter: I
Question
I have written an app that processes a video (720*576 px, 30 fps, RGB format) using OpenCV under Java. I only calculate 5 int variables as a result of my processing on each frame. I would like to store those 5 int variables with the current frame in a dataset, and I therefore need to do that several times per second (30 times/sec would be ideal, but I could do with less by grouping the data, I guess...).
What would be the right database choice for such a thing? I was thinking HDF5, would that be a suitable solution?
Explanation / Answer
Just about anything would work.
The issue of "30 times a second" should be within the capability of any database or dataset file format. If there are problems keeping up, they can be handled:
by either batching the inserts (for a database or access library),
by writing to a buffered stream, or
by using an in-memory queue and separate Java threads for frame processing and saving the extracted data. (Assuming that you are processing frames in real-time.)
I would chose a database / library / format based on the other things that you want it to do. The performance should not be a concern for what you are proposing to do.