18.3 Multimedia Forensics: Image, Audio & Video Authentication, EXIF, PRNU and Deepfake Detection
Key Takeaways
- EXIF metadata carries camera make and model, lens, exposure settings, GPS coordinates, and the Software field that names any editing application, but it is trivially editable and is stripped by most social platforms on upload, so it corroborates rather than proves.
- PRNU sensor pattern noise is the fingerprint of an individual image sensor caused by manufacturing variation in photosite sensitivity, and it can link a photograph to one specific camera body rather than merely to a model.
- Error Level Analysis and JPEG ghost detection expose regions recompressed at a different quality than the rest of the frame, which is the signature of a pasted or edited area in a JPEG.
- Video containers store structural metadata in atoms such as ftyp, moov, and mvhd for MP4, and the encoder string plus atom ordering serve as a container fingerprint that differs between original device output and re-encoded exports.
- Audio authentication uses Electric Network Frequency analysis, matching the mains hum captured in a recording against reference grid frequency databases to verify or refute a claimed recording time.
18.3 Multimedia Forensics: Image, Audio & Video Authentication, EXIF, PRNU and Deepfake Detection
Quick Answer: The blueprint names multimedia basics (Domain 1), multimedia forensics as an investigative methodology (Domain 4), and multimedia forensics using Python (Domain 5). Multimedia forensics answers three distinct questions: what does the metadata say (EXIF, container atoms — easy to read, easy to forge), which device produced this (PRNU sensor pattern noise, which identifies an individual camera body), and has this been altered (compression-domain analysis such as ELA, JPEG ghosts, and double-quantization artifacts). Metadata alone never authenticates a file.
Image Metadata: EXIF, IPTC, XMP
EXIF (Exchangeable Image File Format) is embedded by the capturing device in JPEG and TIFF files.
| Field | Investigative value |
|---|---|
Make / Model | Device manufacturer and model |
DateTimeOriginal, CreateDate, ModifyDate | Capture vs. last-modification time; divergence indicates editing |
GPSLatitude / GPSLongitude / GPSAltitude / GPSDateStamp | Geolocation and a second independent timestamp |
Software | The editor that last wrote the file — "Adobe Photoshop 26.0" on a file claimed to be an unmodified camera original is a direct contradiction |
ExposureTime, FNumber, ISO, FocalLength | Consistency check against the claimed scene and lighting |
SerialNumber / BodySerialNumber | On many DSLRs, the camera body serial — a direct device link |
| Embedded thumbnail | Often not regenerated after an edit, so it may show the pre-edit image |
exiftool -a -u -g1 evidence.jpg # all tags, including unknown, grouped
exiftool -ThumbnailImage -b evidence.jpg > thumb.jpg # extract the embedded thumbnail
[!WARNING] EXIF is user-writable and platform-stripped.
exiftooledits any field in one command, so metadata is evidence of convenience, never of authenticity. Conversely, most major social platforms strip EXIF on upload, so absence of EXIF is normal for a downloaded file and proves nothing. The presence of intact GPS EXIF on a file recovered from a chat app usually means it came directly from a device, not from a platform — which is itself a useful provenance signal.
IPTC and XMP carry editorial and rights metadata; XMP in particular preserves an edit history in some Adobe workflows, listing prior document identifiers and operations.
Source Device Identification: PRNU
Photo-Response Non-Uniformity is the multimedia equivalent of ballistics matching. Manufacturing tolerance makes each photosite on a sensor slightly more or less sensitive than its neighbors, producing a fixed, deterministic noise pattern unique to that individual sensor — not to the model, to the specific body.
Method:
- Estimate the reference pattern by averaging the noise residual across many known images from the suspect camera (flat, evenly lit images work best).
- Extract the noise residual from the questioned image.
- Correlate the two; a correlation significantly above the null distribution supports common origin.
Strengths: survives moderate JPEG compression and resizing; identifies the individual device; applies to video frames as well as stills. Limits: requires access to the candidate camera or a corpus of its images; defeated by heavy cropping (which misaligns the pattern), strong denoising, and aggressive re-encoding; in-camera and computational-photography pipelines on modern phones apply processing that weakens the pattern.
Other source signatures: CFA (Bayer) demosaicing artifacts differ by manufacturer pipeline; JPEG quantization tables are device- and software-specific, so a table that does not match any known camera profile for the claimed Make/Model indicates re-encoding; and lens chromatic aberration and vignetting profiles are optics-specific.
Tamper Detection in the Compression Domain
Editing a JPEG forces a re-save, and re-saving leaves statistical traces.
| Technique | What it reveals |
|---|---|
| Error Level Analysis (ELA) | Re-save the image at a known quality and difference it against the original. Untouched regions have settled into a uniform error level; a pasted region compressed a different number of times stands out at a different brightness. |
| JPEG ghost | Recompress at a sweep of quality factors; a region originally saved at quality q shows a minimum difference at q, producing a visible "ghost" where the spliced area's history differs. |
| Double-quantization (DQ) artifacts | Double JPEG compression leaves periodic peaks and gaps in DCT coefficient histograms. Their absence in one region of an otherwise doubly compressed image marks that region as inserted. |
| Copy-move detection | Block or keypoint (SIFT/SURF) matching finds regions duplicated within the same image — the classic way to clone out or multiply an object. |
| Noise inconsistency | Different regions exhibiting different noise variance indicate content from different sources. |
| Lighting and shadow geometry | Shadow directions that do not converge on a consistent light source, and inconsistent specular highlights, are manual but powerful checks. |
| Resampling detection | Scaling or rotating a pasted region introduces periodic interpolation correlations detectable in the second derivative. |
[!IMPORTANT] ELA is a triage indicator, not proof. It is heavily affected by an image's own compression history, by texture and edge density, and by the sweep quality chosen. Published forensic practice treats a bright ELA region as a prompt for deeper analysis — DQ artifacts, PRNU, and a documented provenance chain — not as a conclusion. Presenting an ELA heat map alone as evidence of forgery does not survive competent cross-examination.
Video Forensics
Container and Codec Structure
An MP4/MOV file is a tree of atoms (boxes):
| Atom | Contents |
|---|---|
ftyp | File type and compatible brands — the first structural fingerprint |
moov | Movie metadata: track list, timescale, durations |
mvhd | Creation and modification times (seconds since 1904-01-01 UTC, the QuickTime epoch) |
mdat | The actual encoded media payload |
udta / meta | User data: GPS (©xyz), device model, and vendor-specific tags |
Container fingerprinting is the practical authentication method: the exact set and order of atoms, the encoder string (Lavf/FFmpeg, HandBrake, a specific phone firmware), and the timescale values differ between a device's native output and any re-encode. A video claimed to be straight off a phone but carrying an FFmpeg encoder string in the metadata has been processed.
ffprobe -v quiet -print_format json -show_format -show_streams evidence.mp4
mp4dump evidence.mp4 # atom tree
mediainfo --Full evidence.mp4
Frame-Level Analysis
- GOP structure: frame-accurate editing of an inter-frame-compressed stream forces re-encoding, which disturbs the I/P/B frame pattern. An anomalous GOP boundary, or an unexpected I-frame, marks a splice point.
- Frame extraction (
ffmpeg -i in.mp4 -vf fps=... out%05d.png) allows still-image techniques — PRNU, ELA, copy-move — to be applied per frame. - Frame-rate and timestamp consistency: dropped, duplicated, or reordered presentation timestamps indicate manipulation.
- CCTV/DVR exports frequently use proprietary containers; native export with the vendor's player and the original file is always preferable to a transcoded copy, because transcoding destroys the very artifacts authentication depends on.
Audio Forensics
| Technique | Purpose |
|---|---|
| ENF (Electric Network Frequency) | Mains hum at 50 or 60 Hz is captured incidentally by most recordings and fluctuates continuously in a pattern unique to the grid at that moment. Matching the extracted ENF trace against a reference grid database verifies or refutes a claimed recording time, and a discontinuity in the trace marks an edit point. |
| Spectrographic analysis | Visualizes splices, gaps, and abrupt background-noise transitions |
| Background-noise consistency | A constant room tone that changes mid-recording indicates concatenation |
| Codec and container analysis | Bit rate, encoder identity, and metadata reveal re-encoding |
| Butt splice detection | Waveform discontinuity and phase mismatch at a cut |
Tools: Audacity and iZotope RX for spectral work, Amped Authenticate and Medex for formal authentication, plus Python ENF pipelines.
Synthetic Media and Deepfake Detection
| Generation method | Characteristic artifacts |
|---|---|
| Face swap / reenactment | Blending seams at the face boundary, inconsistent skin texture and resolution between face and neck, teeth and eye rendering that lacks fine structure, unstable eyewear and earrings |
| Full synthesis (GAN/diffusion) | Asymmetric or incoherent fine detail (hands, text, jewelry), repeated background texture, spectral fingerprints from upsampling layers |
| Voice cloning | Absence of natural breath and lip noise, unnaturally uniform prosody, spectral flatness in the high band |
Detection approaches: temporal inconsistency across frames (a per-frame generator produces flicker); physiological signals such as remote photoplethysmography (subtle blood-flow color changes a synthetic face does not reproduce); generator spectral fingerprints; and provenance-first standards such as C2PA Content Credentials, which cryptographically bind capture and edit history to the asset.
[!WARNING] Detection is an arms race and any classifier's accuracy degrades on newer generators. For this reason a multimedia examiner leads with provenance — the acquisition path, the device, the container fingerprint, and the hash chain — and treats any deepfake classifier's score as corroboration rather than as the finding. This is the same Daubert reasoning applied to AI-derived conclusions in Section 1.4.
Multimedia Forensics Using Python
The blueprint names Python multimedia forensics explicitly. The practical toolchain:
from PIL import Image
from PIL.ExifTags import TAGS, GPSTAGS
import hashlib, imagehash
def image_triage(path):
with open(path, 'rb') as fh:
sha256 = hashlib.sha256(fh.read()).hexdigest()
img = Image.open(path)
raw = img._getexif() or {}
exif = {TAGS.get(k, k): v for k, v in raw.items()}
gps = {GPSTAGS.get(k, k): v for k, v in exif.get('GPSInfo', {}).items()}
return {
'sha256': sha256,
'format': img.format,
'dimensions': img.size,
'make': exif.get('Make'),
'model': exif.get('Model'),
'software': exif.get('Software'), # names any editor that touched the file
'captured': exif.get('DateTimeOriginal'),
'modified': exif.get('DateTime'),
'gps': gps,
'phash': str(imagehash.phash(img)), # perceptual hash for near-duplicate matching
}
| Library | Role |
|---|---|
Pillow | Image decode, EXIF extraction, thumbnail access |
pyexiftool | Full ExifTool coverage from Python, including maker notes and XMP |
imagehash | Perceptual hashing (phash, dhash) for near-duplicate and recompression-tolerant matching across a corpus |
opencv-python / numpy / scipy | Noise residual extraction, PRNU correlation, copy-move detection |
ffmpeg-python / pymediainfo | Video container inspection and frame extraction |
librosa / scipy.signal | Audio spectral and ENF analysis |
Perceptual hashing deserves emphasis. Cryptographic hashes change completely with a single altered bit, so they cannot group re-saved or resized copies of the same picture. A perceptual hash stays close under recompression, resizing, and minor cropping, which makes it the standard way to cluster a large seized image corpus and to match a recovered image against a known reference set.
A defendant produces a photograph he says is an unaltered original from his phone, taken at the time shown. Which single metadata observation would most directly contradict that claim?
An examiner must establish that a seized camera, rather than merely a camera of the same model, took a questioned photograph. Which technique does this and what is its principal limitation?
A witness claims a covert audio recording was made on the evening of 14 September. The recording contains a faint 60 Hz mains hum throughout. Which technique tests the claimed recording time, and what would a discontinuity in that signal indicate?