Error: Can't yet handle movie fragments when writing

Started by uiski, January 29, 2020, 02:54:14 PM

Previous topic - Next topic

uiski

I try to modify the CreateDate of MOV file captured with iMovie from MiniDV.

I'm using a command:
exiftool '-quicktime:createdate<filecreatedate' Movies/test.mov

For some reason I get error message:
Error: Can't yet handle movie fragments when writing

How can I avoid this?

StarGeek

Nothing you can directly do to avoid it.  The file structure is formatted in a way that exiftool can't properly parse.  So rather then damaging the file, it exits.

If you can provide an sample and Phil has time, he might be able to allow exiftool to deal with this.

In the mean time, you might try remuxing the streams into a new file.  It would be a lossless operation.  FFMpeg can do this on the command line.  Other options would be programs such as Handbrake, AVIDemux, and MKVToolNix. 
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

Phil Harvey

It would be good to have a sample containing movie fragments.  My email is philharvey66 at gmail.com if you can send it to me.

- 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 ($).

uiski

Quote from: Phil Harvey on January 29, 2020, 03:44:02 PM
It would be good to have a sample containing movie fragments.  My email is philharvey66 at gmail.com if you can send it to me.

- Phil

I just sent a sample of my file. It's really nice to have support to my problem.

uiski

Quote from: StarGeek on January 29, 2020, 03:02:18 PM
FFMpeg can do this on the command line.

If I use FFMpeg do I miss the original filecreatedate? That is the one I would like to keep and use as quicktime:createdate. I need to test that.

Phil Harvey

Quote from: uiski on January 30, 2020, 12:38:46 PM
I just sent a sample of my file. It's really nice to have support to my problem.

The sample you sent doesn't contain fragments.

- 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 ($).

StarGeek

Quote from: uiski on January 30, 2020, 12:42:11 PM
If I use FFMpeg do I miss the original filecreatedate? That is the one I would like to keep and use as quicktime:createdate. I need to test that.

I believe there are options for FFmpeg to copy metadata as well as streams.  I think it's the -map_metadata option.  Some of the other programs I mentioned don't preserve the metadata.  But exiftool should be able to copy most standard metadata, though there are exceptions.  For example, some cameras embed an EXIF block in videos, which is non-standard.  But I don't think that there is any program that can copy non-standard data like that.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

uiski

Quote from: Phil Harvey on January 31, 2020, 07:27:11 AM
Quote from: uiski on January 30, 2020, 12:38:46 PM
I just sent a sample of my file. It's really nice to have support to my problem.

The sample you sent doesn't contain fragments.

- Phil

Sorry, my mistake. I sent you a link to new sample.

Phil Harvey

Got it.  Thanks.  I'll work on this when I get a chance and post back here when I know more.

- 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

Wow.  It will be a lot of work to support movie fragments.  There are a number of pointers in the related boxes that will need updating when the file is edited.  And unfortunately your file doesn't contain an example of an mfra box (movie fragment random access), which may exist in fragmented movies and contains still more pointers that would require updating.  Keeping track of these pointers and updating them properly is not trivial.

I will add this to my list of things to do, and your sample will help, but the bottom line is that it may be a while before ExifTool has the ability to write a file containing movie fragments.

- 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 ($).