We’ve run into an issue with omeka not being able to generate thumbnails for ingested mp4 files. I’ve traced this to an issue with imagemagick, which is throwing this error message:
2025-08-19T12:09:10-04:00 ERR (3): ImageMagick failed with status code 1.
2025-08-19T12:09:36-04:00 WARN (4): Error output from ImageMagick:
I’ve tried doing some searching on this error, and unfortunately, it seems to be an indicator far a wide array of problems. so far, I’ve looked at the following:
There’s no delegate defined to process mp4 files (I checked on this by trying convert -list configure, which does list mp4 as a defined format, also I know that ffmpeg, which imageMagick typically uses to process mp4 files, is installed)
The files themselves are corrupted or unreadable: this is unlikely, we’ve now tested with a wide variety of MP4 files from different collections-all are triggering the same error.
The path to the files is wrong, and they can’t be found (I’ve tested the path we are giving omeka, it’s correct and the video is accessible)
We’ve previously been able to generate thumbnails from video, so we are mystified as to why we are having problems now. Does anyone have any other ideas as to what might be wrong?
Hmmm… you can try a simple conversion like convert "test.mp4[0]" test.jpg to see if it’s working at all.
Have you changed any of the derivative settings in config.ini? There’s a setting for what “page” will be converted, which translates to the frame of a video to use. The default is zero, but if you’d set it to some higher number you could get this problem with videos that are shorter than the number you gave.
Our IT folks helped us determine that the issue here is ImageMagicks use of system resources. Apparently, when it hands off mp4 files to ffmpeg for processing, it extracts every single frame of the video, eating up all available system memory. Since we haven’t had this issue before, and have been uploading video for years, we’re not sure if this is something imagemagick/ffmpeg has just recently started doing.
What ImageMagick should be doing, and normally does, is passing -vframes 1 to ffmpeg, to tell it it only wants to get a single frame, rather than processing the whole video. Adding -verbose to the command I suggested above will print out what ffmpeg command is getting used.
We are typically not taking the first frame of the video for the thumbnail, as those frames are often black. I’ve done some testing running the command you used and the verbose flag, and what I’m seeing is that imagemagick fails with the error above if I set the extracted frame to be anything other than 0 (first frame). We’ve routinely been setting this be a few frames into the video, and have never had a problem before.
FYI: I eventually resolved this by moving to the latest version of imagemagick (7.x, we were running 6.x) and editing the command that imagemagick uses to call ffmpeg (in the delegates.xml file) to include a filter that tells ffmpeg to extract the 300th frame of the video, and setting vframes to “1”.
I still don’t really know what caused the original problem. IT says it was a memory issue, but with the testing I’ve done, I doubt this, especially because ffmpeg, when invoked with a slightly different command, was perfectly capable of producing an image from any frame of the video I wanted-I just had to use the “-vf select” flag rather than vframes. Perhaps the usage of the vframes flag has changed? I just don’t know.
Hmm, well thanks for updating. This can be a slightly tricky area since changes to either ImageMagick or ffmpeg could result in a change without it being necessarily obvious.