open-ephys / OpenEphys.Bonsai.Miniscope

Bonsai package for controlling and acquiring data from head-borne miniscopes for calcium imaging.
https://open-ephys.github.io/miniscope-docs/index.html
0 stars 1 forks source link

FFV1 encoder encounters ffmpeg error #7

Closed dprotter closed 3 weeks ago

dprotter commented 2 months ago

I and some other researchers have been recording miniscope data for a few weeks now with the bonsai nodes within this project. When using the miniscope software we default to FFV1 as an encoder. This was recommended by the UCLA miniscope team, as it is a lossless encoder that works well with most downstream packages.

using this and the Fourcc argument leads to a "provided packet is too small, dneeds to be " ...# error. Is it possible to fix this?

image

jonnew commented 1 month ago

That is an FFMEG error, out of our control. Can you share your workflow so that I can see how you are using the video writer.

dprotter commented 1 month ago

We basically just copied your nodes from the example notebook. Although we did change the capture resolution to 600x600, since thats what the scope is actually recording, right?

heres a drive link to the file: https://drive.google.com/file/d/1E4TzRkFvh5sSNqIt3xyG_3IcbYmp1qj_/view?usp=drive_link

jonnew commented 1 month ago

Hi David, FFMEG is a large, 3rd party library. Its operation is itself dependent on a large number of third party codecs and their ability to perform within the specifics of you computer's hardware. Unfortunately, all of this cannot be 1:1 reproduced in a workflow. So even if you are using our workflow, there is not a guarantee FFMEG will not produce some issue in the context of your computer.

That said, I wouldn't change the capture resolution. The video frames know their own size so manually specifying is not needed. I wish that this was properly documented, but the Bonsai github would be the replace to request that.

dprotter commented 1 month ago

Ok, sounds good. I do remember that we originally tried FFV1 and werent able to get any recordings, but I will test again without changing the expected dimensions of the recording just in case.

Ive been trying to read about this issue on stack overflow and the opencv forums, but no one has been able to describe the why behind why it might be happening.