Media Info
License: PRO+ (Professional Edition or higher)
Plugin Type: Index Plugin
Author: Diskover Data, Inc.
Overview
The Media Info plugin extracts technical metadata from video and audio files during Diskover indexing, enabling powerful search, filtering, and analysis of media assets directly within Diskover. Whether you're managing a post-production facility, broadcast archive, or media asset library, this plugin transforms your storage into a searchable database of technical specifications.
What This Plugin Does:
Extracts codec, resolution, duration, bitrate, frame rate, and dozens of other technical attributes from media files
Supports two probe engines: MediaInfo (comprehensive) and ffprobe (lightweight)
Caches results in SQLite for high-performance re-indexing of large media libraries
Automatically tags problematic files for quality control workflows
Supports S3-stored media with automatic temp file handling
Key Metadata Fields Added:
Category | Example Fields |
|---|---|
Video | Resolution, Codec, Frame Rate, Bit Depth, Color Space |
Audio | Channels, Sample Rate, Audio Codec, Bit Rate |
General | Container Format, Overall Duration, Total Bit Rate |
Timecode | TimeCode_FirstFrame (for broadcast workflows) |
Use Cases
Media Asset Management
Index large video and audio libraries and enable search by technical specifications. Quickly find all ProRes files, locate 4K content, or identify files encoded with legacy codecs that need transcoding.
Quality Control (QC)
Detect potentially corrupt or non-standard files—automatically tagged as bad-video when probe errors occur. Validate that media assets meet technical specifications such as frame rate consistency, proper audio channel configuration, or color space compliance.
Archive & Migration Planning
Inventory media collections by codec and resolution before migration projects. Audit format compliance for long-term preservation standards. Identify files requiring format conversion before archive.
Analytics & Reporting
Generate reports on storage consumption by codec type, resolution distribution across your library, or bitrate analysis to identify storage-heavy content. Use Diskover's Smart Searches and scheduled email reports to automate ongoing media inventory tracking.
Understanding Media Metadata
Before diving into configuration, it helps to understand what technical metadata the plugin extracts and why it matters for media workflows.
Container vs. Codec
Media files have two key components:
Component | Description | Examples |
|---|---|---|
Container | The file format that holds video, audio, and metadata streams together | MOV, MP4, MKV, MXF, AVI |
Codec | The compression algorithm used to encode the actual video or audio data | H.264, ProRes, DNxHD, HEVC |
A single container (like MOV) can hold content encoded with many different codecs. The Media Info plugin extracts both container and codec information.
Stream Types
Media files typically contain multiple streams:
Video Stream - The visual content with properties like resolution, frame rate, and color space
Audio Stream - Sound content with properties like channels, sample rate, and bit depth
General/Container - Overall file properties like total duration and combined bit rate
Other - Additional data streams like timecode (critical for broadcast workflows)
Choosing a Probe: MediaInfo vs. ffprobe
The plugin supports two probe engines. We recommend MediaInfo for most media workflows due to its comprehensive metadata extraction:
Aspect | MediaInfo (Recommended) | ffprobe |
|---|---|---|
Stream Types | Video, Audio, General, Other | Video only |
Field Count | 50+ selectable fields | 9 fixed fields |
Configuration | Granular field selection per stream | Simple (3 format options) |
Timecode Support | Yes (TimeCode_FirstFrame) | No |
Best For | Comprehensive multi-stream analysis, broadcast/post-production | Quick video-only indexing when you need minimal metadata |
When to Choose MediaInfo:
You need audio stream metadata (channels, sample rate, audio codec)
You require detailed codec parameters (color space, bit depth, GOP settings)
You need timecode extraction for broadcast workflows
Professional post-production or broadcast environments
When to Choose ffprobe:
You only need basic video metadata (resolution, codec, duration, bitrate)
You want minimal configuration and faster processing
Video-centric workflows without audio analysis needs
Requirements
System Requirements
Python 3.9 or higher
Diskover indexer with plugin support enabled
Read access to media files during indexing
Write access to cache directory (if caching enabled)
External CLI Tools
You must install one of the following tools depending on your probe selection:
MediaInfo (Recommended)
Download and install from the official MediaInfo website: https://mediaarea.net/en/MediaInfo/Download
Linux (RHEL/CentOS):
rpm -Uvh https://mediaarea.net/repo/rpm/releases/repo-MediaArea-1.0-26.noarch.rpm sudo yum install mediainfo
Linux (Ubuntu/Debian):
wget https://mediaarea.net/repo/deb/repo-mediaarea_1.0-26_all.deb sudo dpkg -i repo-mediaarea_1.0-26_all.deb sudo apt-get update sudo apt install mediainfo
macOS:
brew install mediainfo
Windows:
Download the installer from https://mediaarea.net/en/MediaInfo/Download/Windows and ensure the installation directory is added to your system PATH.
Verify installation:
mediainfo --version
ffprobe (from FFmpeg)
Download and install from the official FFmpeg website: https://ffmpeg.org/download.html
Linux (RHEL/CentOS):
sudo yum install ffmpeg
Linux (Ubuntu/Debian):
sudo apt install ffmpeg
macOS:
brew install ffmpeg
Windows:
Download from https://ffmpeg.org/download.html#build-windows and add the bin directory to your system PATH.
Verify installation:
ffprobe -version
Python Dependencies
pymediainfo==6.1.*
Linux:
python3 -m pip install pymediainfo==6.1.*
Windows:
python -m pip install pymediainfo==6.1.*
Installation
Step 1: Install External Dependencies
Install either MediaInfo or ffprobe on your Diskover indexer server (see Requirements section above).
Step 2: Install Python Dependencies
Linux:
cd /opt/diskover/ python3 -m pip install pymediainfo==6.1.*
Windows:
cd "C:\Program Files\Diskover\" python -m pip install pymediainfo==6.1.*
Step 3: Configure the Plugin
Navigate to Diskover Admin > Plugins > Index Plugins > Media Info
Enable the plugin
Configure probe selection and parameters (see Configuration section)
Save the configuration
Step 4: Enable in Index Task Configuration
Navigate to Diskover > Configurations > [Your Configuration Name]
Scroll to the bottom to find Index Plugins Enablement
Enable the Media Info plugin
Save the configuration
The plugin will now run automatically during scans using this configuration.
Configuration
Probe Selection
The primary configuration choice is which probe engine to use:
Parameter | Type | Default | Description |
|---|---|---|---|
| string |
| Select probe tool: |
| boolean |
| Format bitrate as human-readable (e.g., "5000.0 kb/s"). ffprobe only. |
| boolean |
| Format duration as H:M:S.f (e.g., "0:01:30.5"). ffprobe only. |
| integer |
| Decimal places for frame rate display. ffprobe only. |
Stream Attribute Selection (MediaInfo Only)
When using MediaInfo, you can select which stream types and specific fields to extract:
Parameter | Type | Default | Description |
|---|---|---|---|
| boolean |
| Extract Video stream attributes |
| boolean |
| Extract Audio stream attributes |
| boolean |
| Extract General/container attributes |
| boolean |
| Extract Other stream attributes (timecode) |
| list | See defaults | Specific Video fields to include |
| list | See defaults | Specific Audio fields to include |
| list | See defaults | Specific General fields to include |
| list | See defaults | Specific Other fields to include |
File & Directory Settings
Parameter | Type | Default | Description |
|---|---|---|---|
| list |
| File extensions to process |
| list |
| Directory names/paths to exclude (regex supported) |
| integer |
| Probe execution timeout in seconds |
Cache Settings
Parameter | Type | Default | Description |
|---|---|---|---|
| boolean |
| Enable SQLite caching for faster re-scans |
| string |
| Cache database location |
| integer |
| Cache TTL in seconds (0 = never expire) |
Windows cache directory default: C:\Program Files\Diskover\__mediainfo_plugin_cache__\
Configuration Examples
Standard Media Library (MediaInfo - Recommended)
For most media libraries requiring video and audio metadata:
probe_selection:
probe: mediainfo
include_attributes:
enable_video_fields: true
enable_audio_fields: true
enable_general_fields: false
enable_other_fields: false
video:
- Format
- CodecID
- BitRate
- Width
- Height
- FrameRate
- FrameCount
- DisplayAspectRatio
audio:
- Format
- CodecID
- BitRate
- Channels
- SamplingRate
extensions:
- mp4
- mov
- avi
- mkv
- mxf
enable_cache: true
probe_timeout: 15
Simple Video Indexing (ffprobe)
For basic video metadata when you only need core specifications:
probe_selection: probe: ffprobe bitrate_format: true duration_format: true framerate_decimals: 2 extensions: - mp4 - mov - avi - mkv enable_cache: true probe_timeout: 10
Indexed Fields
ffprobe Fields
When using ffprobe, the following 9 fields are extracted from the video stream:
Field | ES Type | Example | Description |
|---|---|---|---|
| keyword |
| Width x Height combined |
| keyword |
| Video codec short name |
| keyword |
| Full codec description |
| keyword |
| Codec tag string |
| keyword |
| Pixel format |
| integer |
| Total frame count |
| keyword/float |
| Video duration |
| float |
| Calculated frame rate |
| keyword/long |
| Video bitrate |
Note: bitrate and duration types depend on format settings—when formatted, they are stored as keywords; when raw, they are stored as numeric types.
MediaInfo Fields
When using MediaInfo, fields are organized by stream type and nested under that type in the index:
Video Stream Fields (44 available)
Field | Description |
|---|---|
| Video codec (e.g., "AVC", "ProRes", "HEVC") |
| Codec profile (e.g., "High@L4.1") |
| Codec level |
| Codec identifier |
| Frame width in pixels |
| Frame height in pixels |
| Display aspect ratio (e.g., "16:9") |
| Pixel aspect ratio |
| Video bitrate |
| CBR or VBR |
| Frames per second |
| Total frames |
| Video duration |
| Color space (e.g., "YUV") |
| Chroma subsampling (e.g., "4:2:0") |
| Bit depth (e.g., 8, 10) |
| Progressive or Interlaced |
Audio Stream Fields (26 available)
Field | Description |
|---|---|
| Audio codec (e.g., "AAC", "PCM") |
| Codec identifier |
| Audio bitrate |
| Number of audio channels |
| Channel configuration (e.g., "L R") |
| Sample rate in Hz |
| Total samples |
| Audio duration |
| Audio stream size |
General Stream Fields (16 available)
Field | Description |
|---|---|
| Container format |
| Total duration |
| Combined bitrate |
| Overall CBR/VBR |
| Number of video streams |
| Number of audio streams |
| Embedded title metadata |
| Movie name metadata |
Other Stream Fields (5 available)
Field | Description |
|---|---|
| Starting timecode (e.g., "01:00:00:00") |
| Stream type identifier |
| Timecode format |
| Codec identifier |
| Stream title |
Example Indexed Document
ffprobe output:
{
"name": "interview_final.mp4",
"media_info": {
"resolution": "1920x1080",
"codec": "h264",
"codeclong": "H.264 / AVC / MPEG-4 AVC",
"codectag": "avc1",
"pixfmt": "yuv420p",
"frames": 54000,
"duration": "0:30:00.0",
"framerate": 30.0,
"bitrate": "8500.0 kb/s"
}
}
MediaInfo output (with Video and Audio enabled):
{
"name": "broadcast_master.mxf",
"media_info": {
"Video": {
"Format": "ProRes",
"CodecID": "apch",
"BitRate": "117234567",
"Width": "1920",
"Height": "1080",
"FrameRate": "29.970",
"FrameCount": "54000",
"DisplayAspectRatio": "1.778",
"ColorSpace": "YUV",
"ChromaSubsampling": "4:2:2",
"BitDepth": "10"
},
"Audio": {
"Format": "PCM",
"Channels": "8",
"SamplingRate": "48000",
"BitRate": "9216000"
}
}
}
Searching in Diskover
Once indexed, media metadata becomes searchable through Diskover's search interface. The field structure differs based on your probe selection.
Basic Searches
Query | Description |
|---|---|
| Find HD videos (1920 width) |
| Find exact 4K UHD resolution |
| Find H.264 encoded files (ffprobe) |
| Find ProRes files (ffprobe) |
| Find ProRes files (MediaInfo) |
| Find H.264/AVC files (MediaInfo) |
| Find H.265/HEVC files (MediaInfo) |
Resolution & Quality Searches
Query | Description |
|---|---|
| Find 4K content by width |
| Find exact 1080p content |
| Find 10-bit video content |
| Find 4:2:2 chroma content |
Frame Rate QC Searches
Query | Description |
|---|---|
| Find 29.97 fps content (ffprobe) |
| Find 23.976 fps content (MediaInfo) |
| Find 25 fps (PAL) content |
| Find high frame rate content |
Audio Searches (MediaInfo Only)
Query | Description |
|---|---|
| Find stereo files |
| Find 5.1 surround files |
| Find 7.1 or 8-channel files |
| Find AAC audio |
| Find uncompressed PCM audio |
| Find 48kHz audio (broadcast standard) |
Duration & Size Searches
Query | Description |
|---|---|
| Find long-duration videos |
| Find long videos (MediaInfo) |
| Find videos over 1 hour (ms) |
Quality Control Searches
Query | Description |
|---|---|
| Find files with probe errors |
| Find files with error information |
| Find files that timed out during probe |
Combined Workflow Searches
Query | Description |
|---|---|
| HD ProRes masters |
| H.264 with stereo audio |
| MOV files that aren't ProRes |
| 4K+ content needing HDR upgrade |
Analytics & Reporting
The Media Info plugin integrates with Diskover's analytics features to provide insights into your media library.
Smart Searches
Create saved Smart Searches for common media queries:
4K Content - All files with 3840+ width
Legacy Codecs - Files using older codecs like MPEG-2 or DV
High Bitrate - Files exceeding a bitrate threshold
QC Failures - Files tagged as
bad-video
Reports
Use Diskover's reporting features to analyze media metadata:
Storage by Codec - Aggregate storage consumption grouped by video codec
Resolution Distribution - Count and size of files by resolution tier
Frame Rate Inventory - Breakdown of content by frame rate
Audio Configuration - Analysis of channel counts and audio formats
Scheduled Email Reports
Configure automated reports delivered via email to track:
New media files added to specific locations
QC failures requiring attention
Storage growth by codec type
Format migration progress
S3 Support
The plugin supports S3-stored media files with the following behavior:
Standard Storage Class
Downloads the first portion of the file to a temporary location
Runs the probe against the temporary file
Cleans up the temporary file after probing
Removes temp-file-specific attributes (FileSize, File_Modified_Date)
Deep Storage Classes (Glacier, Deep Archive)
Files in non-STANDARD storage classes are automatically skipped
Warning logged: "Object may be in deep storage and has not been probed"
No error raised; indexing continues gracefully
S3 Configuration Notes
S3 support is transparent—no additional configuration required
Ensure adequate temp disk space for large file downloads
Network latency may require increased
probe_timeout(recommend 30+ seconds)Consider excluding deep archive paths via
exclude_dirsfor faster scanning
Troubleshooting
Common Issues
Issue | Cause | Solution |
|---|---|---|
| MediaInfo CLI not installed or not in PATH | Install MediaInfo and verify with |
| ffprobe/FFmpeg not installed or not in PATH | Install FFmpeg and verify with |
| Using MediaInfo probe but all field types are disabled | Enable at least one field type (e.g., |
Files not being processed | File extension not in extensions list | Add the missing extension to the |
Timeout errors | Large files or slow storage exceeding probe_timeout | Increase |
Cache permission errors | Diskover process cannot write to cache directory | Ensure proper permissions on cache directory |
Files tagged as | Probe encountered an error reading the file | Check file integrity; may be corrupt or unsupported format |
Cache Permission Setup
Linux:
mkdir -p /opt/diskover/__mediainfo_plugin_cache__ chown diskover:diskover /opt/diskover/__mediainfo_plugin_cache__ chmod 755 /opt/diskover/__mediainfo_plugin_cache__
Windows:
Ensure the Diskover service account has write permissions to:
C:\Program Files\Diskover\__mediainfo_plugin_cache__\
Clearing the Cache
If you need to clear cached data to force re-probing:
Linux:
rm -rf /opt/diskover/__mediainfo_plugin_cache__/
Windows:
rmdir /s /q "C:\Program Files\Diskover\__mediainfo_plugin_cache__\"
Debug Logging
Enable verbose logging to troubleshoot issues:
Linux:
grep "diskover.mediainfo" /var/log/diskover/diskover.log
Look for these log entries:
CACHE HIT/CACHE MISS- Cache behaviorGetting media info for...- Files being processedSkipping excluded directory...- Directory exclusionsmediainfo plugin initialized with probe...- Plugin startup confirmation
Support
Last Updated: January 2026
Diskover Data, Inc.
Comments
0 comments
Please sign in to leave a comment.