LargeFileSupport not enabled

Started by TechnoPhil, February 09, 2012, 11:41:11 AM

Previous topic - Next topic

TechnoPhil

Hi there,
i can use exiftool on my mac and ubuntu, but i have a problem when i try to check the exif for big files!

This is the message:
"Warning                         : End of processing at large atom (LargeFileSupport not enabled)"

How can i fix it?

Thank you guys!

Filippo

Phil Harvey

Hi Flippo,

You can enable this with the following config file:

%Image::ExifTool::UserDefined::Options = (
    LargeFileSupport => 1,
);


But for this to work your Perl and C libraries must both support a 64-bit file seek.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

TechnoPhil

Ok thanks,
but where can i find this config file?
I am running exiftool under Mac and Buntu!  ;)

Phil Harvey

Use the config file in my previous post, and follow the instructions in the sample config file (linked from my previous post) to activate it.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

TechnoPhil

Great, now it works for both operating systems!
I used "touch" and "nano" command in my terminal!

Sometimes exiftool does not show me some data, for example a video bit-rate, image size of the video ... is that a bug or exif data loss? :(

Phil Harvey

ExifTool attempts to show you all of the available metadata in a file.  Some video formats are problematic because they don't always store everything you would want as metadata.  Duration is the big thing that would be nice to have, but this isn't stored in many formats. (Things like this may be calculated by processing the entire video stream, but ExifTool doesn't do this.)

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

TechnoPhil

Thanks you very much for your support, very kind and useful!

;)

beroe

I was able to suppress the LargeFileSupport error by changing my config as instructed, but I only get the most basic exif output for videos over 4GB in size. I know there is still info there, because ffprobe can report the missing metadata like frame rate and dimensions from these files.

Is there something else I need to do to access the exif from these files?

Below is an example of a table of output, sorted by file size and you can see where the info ends...

Thanks!


2950 MB SHOGUN_S007_S001_T103.MOV 2015:03:16 16:29:52 0:00:37 3840 2160 .Apple ProRes 422 HQ 23.976
2959 MB SHOGUN_S007_S001_T092.MOV 2015:03:16 16:12:20 0:00:35 3840 2160 .Apple ProRes 422 HQ 23.976
2985 MB SHOGUN_S007_S001_T152.MOV 2015:03:16 18:46:54 0:00:37 3840 2160 .Apple ProRes 422 HQ 23.976
2997 MB SHOGUN_S007_S001_T009.MOV 2015:03:16 01:17:24 0:00:37 3840 2160 .Apple ProRes 422 HQ 23.976
3063 MB SHOGUN_S007_S001_T085.MOV 2015:03:16 16:05:52 0:00:37 3840 2160 .Apple ProRes 422 HQ 23.976
3070 MB SHOGUN_S007_S001_T006.MOV 2015:03:16 00:44:08 0:00:38 3840 2160 .Apple ProRes 422 HQ 23.976
3087 MB SHOGUN_S007_S001_T101.MOV 2015:03:16 16:27:20 0:00:37 3840 2160 .Apple ProRes 422 HQ 23.976
3323 MB SHOGUN_S007_S001_T104.MOV 2015:03:16 16:30:31 0:00:40 3840 2160 .Apple ProRes 422 HQ 23.976
3382 MB SHOGUN_S007_S001_T002.MOV 2015:03:15 21:46:16 0:00:40 3840 2160 .Apple ProRes 422 HQ 23.976
3387 MB SHOGUN_S006_S001_T007.MOV 2015:03:14 21:59:58 0:00:40 3840 2160 .Apple ProRes 422 HQ 23.976
3430 MB SHOGUN_S007_S001_T138.MOV 2015:03:16 17:18:46 0:00:41 3840 2160 .Apple ProRes 422 HQ 23.976
3478 MB SHOGUN_S007_S001_T116.MOV 2015:03:16 16:45:05 0:00:43 3840 2160 .Apple ProRes 422 HQ 23.976
3716 MB SHOGUN_S007_S001_T153.MOV 2015:03:16 18:48:18 0:00:45 3840 2160 .Apple ProRes 422 HQ 23.976
4017 MB SHOGUN_S007_S001_T090.MOV 2015:03:16 16:09:10 0:00:48 3840 2160 .Apple ProRes 422 HQ 23.976
4184 MB SHOGUN_S007_S001_T114.MOV
4196 MB SHOGUN_S006_S001_T011.MOV
4251 MB SHOGUN_S007_S001_T088.MOV
4768 MB SHOGUN_S007_S001_T113.MOV
4781 MB SHOGUN_S007_S001_T083.MOV
5123 MB SHOGUN_S007_S001_T144.MOV
5187 MB SHOGUN_S007_S001_T001.MOV
5319 MB SHOGUN_S007_S001_T155.MOV
5376 MB SHOGUN_S007_S001_T145.MOV
6138 MB SHOGUN_S007_S001_T148.MOV
6328 MB SHOGUN_S007_S001_T003.MOV
7211 MB SHOGUN_S007_S001_T127.MOV
7771 MB SHOGUN_S007_S001_T084.MOV

Phil Harvey

Are you on Linux?  I'll see if I can reproduce this when I get back next week.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

beroe

Thanks for looking into it.
I am on OSX, Yosemite. Not sure what version of exiftool I have, but fairly recent.

Phil Harvey

OK, thanks.  That makes things easier, but now I just need to locate a >4GB MOV file.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Phil Harvey

I've tested this on a 6 GB MOV file on Yosemite, but when I use "exiftool -api largefilesupport=1", the metadata is extracted properly.  If I could have one of your samples to test, it would be useful.  My email is philharvey66 at gmail.com

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Phil Harvey

It is possible that this problem is caused by a metadata atom exceeding 16 MB in size (see this thread).  If so, ExifTool 9.91 (to be released soon) may solve the problem.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

beroe

Thanks Phil.

Oops, I was not adding anything about largefilesupport to my command line — I thought that just putting it in the config file was sufficient.

However, if I try exiftool -api largefilesupport=1 MyFile.MOV at the command line, I get an error:
File not found: largefilesupport=1

Not familiar with the syntax on those flags what am I doing wrong...?

Also, for testing, the normal command looks like "works" on large files, in the sense that it gives the file name and size, but it does not give specifics like frame rate...

This command below works on smaller files generated by the same camera to output frame rate, but doesn't report anything for big ones (I get 77 fields from small files, and only 13 for big ones if I run exiftool without any arguments.)

exiftool -tab -v0 -S  -FileName -FileSize -VideoFrameRate MyFile.MOV

Phil Harvey

Quote from: beroe on April 13, 2015, 07:05:20 PM
Oops, I was not adding anything about largefilesupport to my command line — I thought that just putting it in the config file was sufficient.

It is.

QuoteHowever, if I try exiftool -api largefilesupport=1 MyFile.MOV at the command line, I get an error:
File not found: largefilesupport=1

What version of ExifTool are you using?  The -api option was added in 9.40.

QuoteThis command below works on smaller files generated by the same camera to output frame rate, but doesn't report anything for big ones (I get 77 fields from small files, and only 13 for big ones if I run exiftool without any arguments.)

If you can't get it to work, upload a sample and mail me the link (philharvey66 at gmail.com), and I'll take a look.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).