Author Topic: Error: Can't yet handle movie fragments when writing  (Read 1302 times)

uiski

  • Newbie
  • *
  • Posts: 4
Error: Can't yet handle movie fragments when writing
« on: January 29, 2020, 02:54:14 PM »
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

  • Global Moderator
  • ExifTool Freak
  • *****
  • Posts: 5539
Re: Error: Can't yet handle movie fragments when writing
« Reply #1 on: January 29, 2020, 03:02:18 PM »
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. 
Troubleshooting hints:
* When posting, include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).
* Double all percent signs (%) in a Windows batch file.
* If your GPS coords are negative, make sure and set the GpsLatitudeRef and GpsLongitudeRef tags correctly.

Phil Harvey

  • ExifTool Author
  • Administrator
  • ExifTool Freak
  • *****
  • Posts: 18415
    • ExifTool Home Page
Re: Error: Can't yet handle movie fragments when writing
« Reply #2 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
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

uiski

  • Newbie
  • *
  • Posts: 4
Re: Error: Can't yet handle movie fragments when writing
« Reply #3 on: January 30, 2020, 12:38:46 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

  • Newbie
  • *
  • Posts: 4
Re: Error: Can't yet handle movie fragments when writing
« Reply #4 on: January 30, 2020, 12:42:11 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

  • ExifTool Author
  • Administrator
  • ExifTool Freak
  • *****
  • Posts: 18415
    • ExifTool Home Page
Re: Error: Can't yet handle movie fragments when writing
« Reply #5 on: January 31, 2020, 07:27:11 AM »
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, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

StarGeek

  • Global Moderator
  • ExifTool Freak
  • *****
  • Posts: 5539
Re: Error: Can't yet handle movie fragments when writing
« Reply #6 on: January 31, 2020, 10:58:17 AM »
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.
Troubleshooting hints:
* When posting, include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).
* Double all percent signs (%) in a Windows batch file.
* If your GPS coords are negative, make sure and set the GpsLatitudeRef and GpsLongitudeRef tags correctly.

uiski

  • Newbie
  • *
  • Posts: 4
Re: Error: Can't yet handle movie fragments when writing
« Reply #7 on: January 31, 2020, 02:58:51 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

  • ExifTool Author
  • Administrator
  • ExifTool Freak
  • *****
  • Posts: 18415
    • ExifTool Home Page
Re: Error: Can't yet handle movie fragments when writing
« Reply #8 on: February 01, 2020, 08:51:27 AM »
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, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Phil Harvey

  • ExifTool Author
  • Administrator
  • ExifTool Freak
  • *****
  • Posts: 18415
    • ExifTool Home Page
Re: Error: Can't yet handle movie fragments when writing
« Reply #9 on: February 04, 2020, 09:34:05 AM »
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, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).