# Fast Video Rewrites

Video files can be quite large. The metadata for MPEG-4 files can occur at the beginning of a file or at the end. Yate as a rule does not change the placement of the metadata. If you apply changes to a video file, which has the metadata at the beginning of the file and the new metadata cannot be saved at the old location, a full rewrite of the file will most likely occur. This can take a while. Typically free space is appended at this time so that a full rewrite for simple edits will not happen again.

If you enable the Preferences-Video Fast rewrites option, Yate can circumvent the lengthy write as follows:

- If the metadata is already at the end of the end of the file, no changes will be made.
- If for any reason it is not safe to move the metadata, no changes will be made.
- The metadata will be moved to the end of the file where it can be quickly modified.
- The original copy of the metadata will be marked as free space.

#
The Catch

There's always a catch! The free space which is created from the old copy of the metadata can be quite large. This could be megabytes of data. If you have a multi gigabyte video file you may not be concerned about the file increasing by megabytes, however you should be aware of the situation. Before you ask why we don't simply get rid of the free space ... the answer is that removing the free space takes as long as rewriting the entire file.

If you want to see just how much free space will be added to a particular file, do a View>Raw Data. Look for a line as follows:

> 004222164177 004225667481 000003503304 moov

The third number on the row containing moov is the decimal number of bytes.

When freeing space in MPEG-4 files, typically only free space somewhat adjacent to the tag area is removed. When you set the Aggressively remove free space option, all root level free space is removed. This includes the free space introduced by the Fast rewrites setting. Note that this is a potentially lengthy operation if any free space is actually removed. The effect of this functionality ensures that it is only performed once.