logologoHomeBlog

Navigation

  • All Posts

Topics

  • Version History
  • Tips & Tricks

More

  • RSS Feed
  • Donate
  1. Home
  2. >
  3. Blog
  4. >
  5. Decoding Media Metadata: How Tools and Devices Leave Their Fingerprints

Decoding Media Metadata: How Tools and Devices Leave Their Fingerprints

November 19, 2024
formatsmetadata

Every media file contains subtle traces of its creation. Embedded within these files are unique fingerprints left by the tools, devices, and encoders used during production. These metadata elements are found in codec SEI messages, container fields, and custom extensions, and they reveal valuable insights about the software and hardware behind the scenes, offering a digital signature of the media’s origin.

This blog post dives into how media tools and devices embed their identities and configurations in media files. We’ll explore examples across formats like MPEG-TS, MP4, and AAC, showing how fingerprints can be found and interpreted.

Why Media Metadata Matters

Understanding media metadata has several practical applications:

  • Debugging and Troubleshooting: Identifying the source of compatibility or playback issues.
  • Quality Control: Verifying that correct tools and settings were used in production pipelines.
  • Research and Analysis: Studying how encoders and devices evolve over time.

By examining these fingerprints, you can uncover the hidden stories behind your media files.

Metadata Examples: Fingerprints Across Tools and Formats

This section highlights common practices used by media tools and devices to leave their signatures.

1. MPEG-TS Metadata: Service Provider Identification

In MPEG-TS (MPEG Transport Stream) files, service descriptors in the Service Descriptor Table (SDT) often include the name of the tool used to generate the stream.

FFmpeg

FFmpeg sets the service_provider_name field in the SDT to FFMpeg . This clear identifier helps trace the source of the transport stream.

2. SEI Metadata in H.264/HEVC Streams: Encoder Settings and Fingerprints

Video encoders embed their configuration details and identities into user_data_unregistered SEI messages in H.264/HEVC streams. These entries often include a UUID and detailed encoding parameters.

x264

UUID: dc45e9bd-e6d9-48b7-962c-d820d923eeef

Encodes a detailed text description of settings such as bitrate, profile, and tool version.

x265

UUID: 2ca2de09-b517-47db-bb55-a4fe7fc2fc4e

Similar to x264, x265 embeds encoding settings in text form, using a distinct UUID.

Microsoft H.264 Encoder

UUID: 02f86150-fc70-4172-b732-48f3a72a3d34

Microsoft's proprietary encoder also embeds metadata in SEI messages. This metadata often includes encoding parameters but may follow a proprietary format.

3. MP4 Container Metadata: Handler Names and Software Versions

Media containers like MP4 embed fingerprints in their metadata fields. Tools and devices commonly store their identities in the hdlr box or dedicated atoms like @too .

Handler Names in hdlr Box

  • DJI: "DJI meta" in the hdlr box identifies metadata created by DJI tools.

  • Google: "ISO Media file produced by Google" marks files generated using Google's media pipeline.

  • Bento4: "Bento4 Sound Handler" identifies files processed by Bento4.

Tool Versions in @too Atom

  • FFmpeg: "Lavf58.29.100" indicates the FFmpeg version used.

  • GPAC: "GPAC-2.1" signifies files processed with GPAC.

  • HandBrake: "HandBrake 1.3.3 2020061300" shows the tool version used for encoding or transcoding.

Additional Metadata in @swr Atom

  • FFmpeg: "Lavf59.5.100" is stored in the @swr atom, adding another layer of identification.

4. Audio Encoder Metadata: Fingerprints in AAC Streams

AAC encoders often use stream extensions to store metadata about the encoder and its version.

  • libfaac: The EXT_FILL extension in the AAC stream includes "libfaac 1.25" , identifying the specific version of this encoder.

5. Device Metadata: Manufacturer and Model Identification

Devices such as smartphones and action cameras embed metadata to identify their make and model, often within container-specific fields.

  • Apple iPhone: The ilst box contains the key-value pair "com.apple.quicktime.model": "iPhone 12 Pro" , explicitly identifying the recording device.

  • GoPro Cameras: GoPro embeds "GoPro AVC encoder" in the compressor_name field of the avc1 AVCSampleEntry, marking the use of its proprietary encoder.

Conclusion: The Value of Metadata Fingerprints

From video encoders to audio tools and recording devices, every tool leaves behind a digital fingerprint. These identifiers are more than just technical details: they provide transparency into the production process and enable better compatibility, debugging, and archival practices.

Whether you’re a media professional, developer, or researcher, understanding how to decode metadata can provide invaluable insights into the tools and processes behind digital media.

What fingerprints will you discover in your file?

Enjoy this post? Subscribe via RSS to get notified about new articles.
Previous Post
v0.5.6

Similar Posts

March 12, 2024•
formats

Exploring Apple's Stereoscopic Video

Apple's recent introduction of stereoscopic ("3D") video storage format for its visionOS platform, the algorithmic core of Apple Vision Pro glasses, has sparked a surge in interest. Support for this

November 17, 2024

v0.5.6

Google spatial audio + sperical video, HEIC files basics, some more MP4 boxes, ...

July 28, 2024

v0.5.5

MPEG-H, AVCHD LPCM Audio, Dolby RPU in AV1, more HDR metadata...