What is FFprobe?
FFprobe is a useful tool for inspecting media files and gathering useful data from them. FFprobe can gather data on hundreds of different properties such as codec, bitrate, framerate, tags and much more.
How to install FFprope on Linux/Ubuntu:
sudo apt-getupdate
sudo apt-get install ffprobe
ffprobe -version
How to install FFprope on Windows:
To install FFprope on Windows visit the following link:
https://www.gyan.dev/ffmpeg/builds/
Scroll down to the release builds section and you'll see the latest release section.
Download ffmpeg-release-essentials.zip
and unzip it. Inside you'll see ffprobe.exe
which in most cases is all you need.
How to install FFprope on macOS:
FFprobe is installed when installing FFmpeg. Using homebrew you can simply run the following:
brew install ffmpeg
ffprobe -version
Gathering info on a file:
To collect info on a file using FFprobe, simply run the following command:
ffprobe -v quiet -print_format json -show_format -show_streams "C:\Transcode\input.mkv"
This will produce detailed output such as the following:
{
"streams": [
{
"index": 0,
"codec_name": "h264",
"codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
"profile": "High",
"codec_type": "video",
"codec_tag_string": "[0][0][0][0]",
"codec_tag": "0x0000",
"width": 320,
"height": 240,
"coded_width": 320,
"coded_height": 240,
"closed_captions": 0,
"has_b_frames": 2,
"sample_aspect_ratio": "4:3",
"display_aspect_ratio": "16:9",
"pix_fmt": "yuv420p",
"level": 21,
"chroma_location": "left",
"field_order": "progressive",
"refs": 1,
"is_avc": "true",
"nal_length_size": "4",
"r_frame_rate": "60/1",
"avg_frame_rate": "60/1",
"time_base": "1/1000",
"start_pts": 54,
"start_time": "0.054000",
"bits_per_raw_sample": "8",
"disposition": {
"default": 1,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0,
"captions": 0,
"descriptions": 0,
"metadata": 0,
"dependent": 0,
"still_image": 0
},
"tags": {
"HANDLER_NAME": "GPAC ISO Video Handler",
"ENCODER": "Lavc57.107.100 libx264",
"DURATION": "00:00:30.021000000"
}
},
{
"index": 1,
"codec_name": "aac",
"codec_long_name": "AAC (Advanced Audio Coding)",
"profile": "LC",
"codec_type": "audio",
"codec_tag_string": "[0][0][0][0]",
"codec_tag": "0x0000",
"sample_fmt": "fltp",
"sample_rate": "48000",
"channels": 2,
"channel_layout": "stereo",
"bits_per_sample": 0,
"r_frame_rate": "0/0",
"avg_frame_rate": "0/0",
"time_base": "1/1000",
"start_pts": 0,
"start_time": "0.000000",
"disposition": {
"default": 1,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0,
"captions": 0,
"descriptions": 0,
"metadata": 0,
"dependent": 0,
"still_image": 0
},
"tags": {
"HANDLER_NAME": "GPAC ISO Audio Handler",
"ENCODER": "Lavc57.107.100 aac",
"DURATION": "00:00:30.021000000"
}
},
{
"index": 2,
"codec_name": "aac",
"codec_long_name": "AAC (Advanced Audio Coding)",
"profile": "LC",
"codec_type": "audio",
"codec_tag_string": "[0][0][0][0]",
"codec_tag": "0x0000",
"sample_fmt": "fltp",
"sample_rate": "48000",
"channels": 6,
"channel_layout": "5.1",
"bits_per_sample": 0,
"r_frame_rate": "0/0",
"avg_frame_rate": "0/0",
"time_base": "1/1000",
"start_pts": 0,
"start_time": "0.000000",
"disposition": {
"default": 1,
"dub": 0,
"original": 0,
"comment": 0,
"lyrics": 0,
"karaoke": 0,
"forced": 0,
"hearing_impaired": 0,
"visual_impaired": 0,
"clean_effects": 0,
"attached_pic": 0,
"timed_thumbnails": 0,
"captions": 0,
"descriptions": 0,
"metadata": 0,
"dependent": 0,
"still_image": 0
},
"tags": {
"HANDLER_NAME": "GPAC ISO Audio Handler",
"ENCODER": "Lavc57.107.100 aac",
"DURATION": "00:00:30.021000000"
}
}
],
"format": {
"filename": "C:\\Transcode\\input.mkv",
"nb_streams": 3,
"nb_programs": 0,
"format_name": "matroska,webm",
"format_long_name": "Matroska / WebM",
"start_time": "0.000000",
"duration": "30.021000",
"size": "2601666",
"bit_rate": "693292",
"probe_score": 100,
"tags": {
"title": "Big Buck Bunny, Sunflower version",
"GENRE": "Animation",
"MAJOR_BRAND": "isom",
"MINOR_VERSION": "1",
"COMPATIBLE_BRANDS": "isomavc1",
"COMPOSER": "Sacha Goedegebure",
"ARTIST": "Blender Foundation 2008, Janus Bager Kristensen 2013",
"COMMENT": "Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net",
"ENCODER": "Lavf57.83.100"
}
}
}
You can automate this process on your files using Tdarr
Get started using Tdarr transcode automation for free with this link: