Skip to content

DG02002/mediapeek

Repository files navigation

MediaPeek

MediaPeek Icon

MediaPeek provides detailed technical metadata for video, audio, image, and subtitle files directly in your browser. It processes URLs intelligently—fetching only the necessary data segments—so you don't need to download the whole file.

The website root (/) is the product homepage, and the live analyzer interface is available at /app.

MediaPeek Demo

Features

Edge Analysis

Fetches only necessary data segments—no full file downloads required.

Archive Extraction

Transparently unpacks media from common archive formats:

  • ZIP: Stored and DEFLATE-compressed archives.
  • TAR: Standard tar archives (including @LongLink extended headers).

The original archive name is displayed alongside the inner filename for context.

Supported Sources

  • Web Servers: HTTP/HTTPS URLs. Optimized for byte-range requests.
  • Google Drive: Public files and folders.

Secure Sharing

End-to-end encrypted result sharing via PrivateBin.

Output Formats

Export metadata as Object, JSON, Text, HTML, or XML.

Security

SSRF protection blocks requests to local and private network resources.

API Response Contract

/resource/analyze returns a normalized JSON envelope.

  • Preferred request contract: POST /resource/analyze with JSON body:

    • { "url": "<absolute-media-url>", "format": ["object"] }
  • Legacy compatibility: GET /resource/analyze?url=...&format=... remains available temporarily but is deprecated.

  • Success:

    • success: true
    • requestId: string
    • results: Record<string, string>
  • Error:

    • success: false
    • requestId: string
    • error: { code, message, retryable }

Optional analyzer controls:

  • ANALYZE_API_KEY (secret for web -> analyzer internal auth)
  • ANALYZE_PUBLIC_API_KEY (optional secret for public /resource/analyze access control)
  • ANALYZE_RATE_LIMIT_PER_MINUTE (default 30)
  • APP_ENV (development | staging | production, default production)
  • LOG_SAMPLE_RATE (default 0.1)
  • LOG_SLOW_REQUEST_MS (default 2000)
  • LOG_FORCE_ALL_REQUESTS ("true"/"false", default "false")
  • ENABLE_TURNSTILE ("true"/"false")
  • TURNSTILE_SITE_KEY (public site key)
  • TURNSTILE_SECRET_KEY (secret key)
  • TURNSTILE_GRANT_SECRET (secret key used to sign short-lived Turnstile grant cookies)

When Turnstile is enabled, MediaPeek issues an HTTP-only, URL-bound grant cookie (mp_turnstile_grant) after a successful challenge so follow-up format requests (Text/XML/HTML) can proceed for up to 10 minutes without repeated challenges.

Try It

Test with these sample URLs:

Video Samples

Audio Samples

Community Collections

Known Issues

Archive Bitrate Accuracy

When analyzing media files contained within archives (such as .zip or .tar), MediaPeek now corrects file size and bitrate when the inner entry size can be verified from archive metadata. If the inner size cannot be verified reliably, the UI marks the result as archive-estimated with an info tooltip because file size and bitrate may still be inaccurate.

License

MediaPeek is released under the GNU GPLv3.

Acknowledgments

  • MediaInfo: Copyright © 2002–2023 MediaArea.net SARL. Analysis is powered by mediainfo.js, a WebAssembly port of MediaInfoLib. (License)

  • PrivateBin: Enables secure sharing of results. (License)

  • Apple Services Badges: The video format badges (Dolby, Immersive, 3D, HD, 4K, HDR, HDR10+) are sourced from Apple TV, while the audio badges (Lossless, Hi-Res Lossless, Apple Digital Master, Spatial Audio, AAC) are sourced from Apple Music. Special thanks to @SuperSaltyGamer for providing the Apple Music SVG badges. These designs were selected for their visual perfection and clarity, which align seamlessly with MediaPeek's aesthetic.

  • Cloudflare Workers: Hosted on Cloudflare Workers. MediaPeek benefits from their generous free tier.

About

Get detailed metadata for any media file.

Topics

Resources

License

Stars

Watchers

Forks

Contributors