-
-
Notifications
You must be signed in to change notification settings - Fork 49
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
Warning: 'End of processing at large atom (LargeFileSupport not enabled)' #109
Comments
When you build your instance of import { DefaultExiftoolArgs, ExifTool } from "exiftool-vendored"
const et = new ExifTool({
exiftoolArgs: ["-api", "largefilesupport=1", ...DefaultExiftoolArgs]
}) (please tell me if this works for you!) |
@mceachen great thanks for the response. Just tried that, and adding |
You can also try setting up a config file for https://exiftool.org/forum/index.php?topic=3916.0 (closing as this is a config issue for |
This plugin embeds |
The path to a config file can be set up as described here: |
After some fiddling, I've found that it works without any extra settings if %Image::ExifTool::UserDefined::Options = (
LargeFileSupport => 1,
); Otherwise, as pointed in above comment, path to config file can be passed as first argument: new ExifTool({
exiftoolArgs: [
"-config", path.resolve(os.homedir(), ".ExifTool_config"), "-u", "-stay_open", "True", "-@",
"-"
]
}); |
So it turns out the reason that
Note that passing in args in the second parameter ( exiftool-vendored.js/src/ExifTool.ts Lines 292 to 296 in ece7bcd
|
Oh 💩 ! I'll get this fixed, thanks for the research, @stephen304 ! Edit: 💩 💩 : I was about halfway through adding a new
If this doesn't work, @stephen304 , holler. |
@mceachen I probably should have provided more context - I just now realized that the second parameter is probably only supposed to be used if you aren't using the third to pass in a ReadTaskOptions object. The full code in immich is: exiftool
.read(path, undefined, {
...DefaultReadTaskOptions,
defaultVideosToUTC: true,
backfillTimezones: true,
inferTimezoneFromDatestamps: true,
useMWG: true,
numericTags: [...DefaultReadTaskOptions.numericTags, 'FocalLength'],
/* eslint unicorn/no-array-callback-reference: off, unicorn/no-array-method-this-argument: off */
geoTz: (lat, lon) => geotz.find(lat, lon)[0],
}) And since geoTz is a function, passing string array of options as the second parameter doesn't work - so that's why I guess they are passing in undefined as the second parameter and led to the confusion when I tried to combine your previous suggestion while still passing the rest of the arguments in as an object. So moral of the story, exiftool.read(path, undefined, {
...DefaultReadTaskOptions,
optionalArgs: ['-api', 'largefilesupport=1'],
<...>
}) |
Given that the current API is a bit confusing, I'm actually going to move the https://photostructure.github.io/exiftool-vendored.js/classes/ExifTool.html#read |
Describe the bug
I've tried to retrieve EXIF data from 2GB+ movie file, and got
End of processing at large atom (LargeFileSupport not enabled)
warning in return data.Is there any way to enable large file support?
Environment (please complete the following information):
The text was updated successfully, but these errors were encountered: