Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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.