-
Notifications
You must be signed in to change notification settings - Fork 13
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
crash during extraction #35
Comments
Holy smokes, that's a hell of a machine! Did you use the prebuilt binaries(32/64?) or compiled from source using some form of GCC on windows? Is this what you are seeing in terminal? I'm not familiar with this error. But I usually put the whole path name in the file video to analyze and output file locations. Now my own personal setup uses the batch.py file included in whisk in order to use parallel processing, 1 movie/core. You only need to point to the directory and define the file type.
I don't know if that would actually make a difference though. |
@tvajtay i used the prebuilt binaries. That's my terminal output which dumped about 25% of the way through processing a 600,000 frame video recording. I'll try to specify a full path -- but given that it was finding frames (nominally) correctly before, it seems strange. I'm all for parallelism -- have you or @nclack explored exploiting GPUs for this? |
@gvoysey I know I have received errors in the past if the movie is too big and there isn't enough memory but I would be surprised if that's an issue you would face given your specs. Try running a smaller movie as a proof of concept? My application usually deals with much smaller movies (~3000 frames/movie). If you were able to load parameters and start tracking segments in the frames than it isn't an issue with your command, but probably the size/length of your movie(?) Since the real speed of the parallel processor occurs when many files are being processed simultaneously versus just one big one, maybe break apart the movie and then splice the data together after it's analyzed? That is if ultimately size is the issue. To be honest I have more a hobbyist association with the program than being a developer. @nclack being the main developer, could give you a much more in depth review of the specifics and possible GPU potential. |
okay. Splitting is a pretty reasonable thing to try first, even given my specs. I can run the |
Yeah, if you can run the example movie without issue than the size of the video is most likely your issue. |
You can also run into that problem if the timebase for the video gets mucked up. ffmpeg is set up to be able to represent files with multiple audio and video streams each with their own timing information. When I decode the video, I have to use that timing information to determine a frame index. When that gets messed up the frame index can be out of bounds. If you look at your mp4 with ffprobe it will give you the timing information. This stackoverflow thread is very useful. Make sure the tbn,tbc and tbr all agree. |
@nclack it is likely that the frame indexes are confused:
This is raw video from the camera. Subsequent manipulations (reduction to greyscale, etc.) do not change the fact that tbn, tbr, and tbc don't agree. Do you have any advice in how to rectify those values before I process the files? @tvajtay : I chunked the video up into 1000-frame slices, but still got the same crash, so i expect it's not a size error. The crash happens at roughly the same percentage way through the file regardless of length, so i currently favor @nclacks theory. (which is good, because chunking stuff up was a hassle) |
@nclack i have used I'm not familiar with ffmpeg enough to know if that's doing something stupid, though. |
@gvoysey Nice! |
I got the following error:
it's not clear why the path is
C:\Users\clackn*
(since I assume that's @nclack's machine).I am processing video with the following features:
running whisk as follows:
trace left_inverted_1.mp4 li1.whiskers
After the crash,
li1.whiskers
is about 80 MB.Running on windows 10. 256GB ram, multi-core Xeon CPU, Nvidia Quadro M6000.
The text was updated successfully, but these errors were encountered: