<blockquote>
<p>Is it possible to display this metadata to find out if a video file has been edited this way?</p>
</blockquote>
<p>In the MPEG-4 parlance, it is not metadata — it is an <strong><a href="https://developer.apple.com/documentation/quicktime-file-format/edit_list_atom/edit_list_table" rel="nofollow noreferrer">edit list table</a></strong> inside an <strong><a href="https://developer.apple.com/documentation/quicktime-file-format/edit_list_atom" rel="nofollow noreferrer">edit list box</a></strong>.</p>
<p><em>Note:</em> My previous links point to the QuickTime file format (MPEG-4 is derived from it, and it is almost the same), and what is called an <strong>atom</strong> in this format, is called a <strong>box</strong> in the MPEG-4.</p>
<p>You may see the edit list table(s) in any hexadecimal viewer — search for the <code>elst</code> string, then</p>
<ul>
<li>skip 4 bytes (version and flags of this edit list atom, probably <code>00000000</code>).</li>
<li>In the next 4 bytes is the <strong>number of entries</strong> in subsequent edit list table — probably it will be <code>00000001</code> or <code>000000002</code> — see red boxes in my 2 pictures of 2 similar <code>.mp4</code> files.</li>
</ul>
<p><a href="https://i.sstatic.net/cacVg.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/cacVg.jpg" alt="enter image description here" /></a></p>
<p><a href="https://i.sstatic.net/c1Gsl.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/c1Gsl.jpg" alt="enter image description here" /></a></p>
<p>After it follow edit list table itself - 12 bytes for every entry.</p>
<p>In every of these 12-bytes long entries:</p>
<ul>
<li>you may skip the first 4 bytes (the <strong>duration</strong> of this edit list segment),</li>
<li>in the next 4 bytes (green boxes in my pictures) is the <strong>starting time</strong> of this edit list segment (in media timescale units) — the value <code>FFFFFFFF</code> means that this is an empty list (so you may completely ignore this entry)</li>
<li>in the last 4 bytes (blue boxes in my pictures) is the <strong>media rate</strong> of this edit list segment in the so-called <em>fixed point number format:</em>
<ul>
<li>in the first 2 bytes is the <strong>integer</strong> part,</li>
<li>in the last 2 bytes is the <strong>fractional</strong> part<br />
(in the hexadecimal number base, i.e. the first hexadecimal digit represents the number of sixteenths, the next number of 1/256, etc.).</li>
</ul>
</li>
</ul>
<p><em>Notes:</em></p>
<ol>
<li><code>elst</code> is the box type value of the edit list atom.</li>
<li>I used the internal viewer of Total Commander (in the hexadecimal mode), but you may use any other.</li>
<li>I doubt that the current versions of FFmpeg use edit lists for processing <code>-itsoffset</code> and <code>-itsscale</code> input options.</li>
</ol>

CC BY-SA 4.0
2024-04-16T17:14:55.347Z
2024-04-20T19:17:58.503Z
2024-04-20T19:17:58.503Z
MarianD
<p>If I understand correctly, the answer at <a href="https://video.stackexchange.com/questions/25283/lossless-a-v-delay-with-ffmpeg/">Lossless A/V delay with ffmpeg</a> seems to suggest that option <code>-itsoffset</code> leads to additional metadata, called &quot;editlist&quot;, being added to the video file. It's then the video player's responsibility to honor this metadata and shift the stream accordingly.</p>
<p>Is it possible to display this metadata to find out if a video file has been edited this way?</p>
<p>What about <code>-itsscale</code>? Does it work the same way?</p>

<ffmpeg><video><editing><timecode><metadata>
What exactly do FFmpeg options `-itsoffset` and `-itsscale` do?
finefoot
# What exactly do FFmpeg options `-itsoffset` and `-itsscale` do?

(Asked by: username_0 on 2024-04-16)

If I understand correctly, the answer at [Lossless A/V delay with ffmpeg](https://video.stackexchange.com/questions/25283/lossless-a-v-delay-with-ffmpeg/) seems to suggest that option `-itsoffset` leads to additional metadata, called "editlist", being added to the video file. It's then the video player's responsibility to honor this metadata and shift the stream accordingly.

Is it possible to display this metadata to find out if a video file has been edited this way?

What about `-itsscale`? Does it work the same way?

**Tags:** ffmpeg, video, editing, timecode, metadata


---

## 1 answers

### Answer by username_1 on 2024-04-16. Score: 1

> Is it possible to display this metadata to find out if a video file has been edited this way?

In the MPEG-4 parlance, it is not metadata — it is an **[edit list table](https://developer.apple.com/documentation/quicktime-file-format/edit_list_atom/edit_list_table)** inside an **[edit list box](https://developer.apple.com/documentation/quicktime-file-format/edit_list_atom)**.

*Note:* My previous links point to the QuickTime file format (MPEG-4 is derived from it, and it is almost the same), and what is called an **atom** in this format, is called a **box** in the MPEG-4.

You may see the edit list table(s) in any hexadecimal viewer — search for the `elst` string, then

* skip 4 bytes (version and flags of this edit list atom, probably `00000000`).
* In the next 4 bytes is the **number of entries** in subsequent edit list table — probably it will be `00000001` or `000000002` — see red boxes in my 2 pictures of 2 similar `.mp4` files.

[![enter image description here](https://i.sstatic.net/cacVg.jpg)](https://i.sstatic.net/cacVg.jpg)

[![enter image description here](https://i.sstatic.net/c1Gsl.jpg)](https://i.sstatic.net/c1Gsl.jpg)

After it follow edit list table itself - 12 bytes for every entry.

In every of these 12-bytes long entries:

* you may skip the first 4 bytes (the **duration** of this edit list segment),
* in the next 4 bytes (green boxes in my pictures) is the **starting time** of this edit list segment (in media timescale units) — the value `FFFFFFFF` means that this is an empty list (so you may completely ignore this entry)
* in the last 4 bytes (blue boxes in my pictures) is the **media rate** of this edit list segment in the so-called *fixed point number format:*
  + in the first 2 bytes is the **integer** part,
  + in the last 2 bytes is the **fractional** part  
    (in the hexadecimal number base, i.e. the first hexadecimal digit represents the number of sixteenths, the next number of 1/256, etc.).

*Notes:*

1. `elst` is the box type value of the edit list atom.
2. I used the internal viewer of Total Commander (in the hexadecimal mode), but you may use any other.
3. I doubt that the current versions of FFmpeg use edit lists for processing `-itsoffset` and `-itsscale` input options.


---

