دستور ffprob

نوشته حسین بهنودی در ۲۹ شهریور ۱۳۹۸

دستور ffprob بخشی از بسته نرم افزاری FFmpeg است. این دستور برای دیدن اطلاعات مربوط به فایل مالتی میدیا به کار می‌رود.
در محیط ترمینال دستور زیر را وارد کنید:

ffprobe [options] [input]

بجای [input] نام فایل مورد نظر خود را بنویسید.

و بجای [options] گزینه‌های مورد نظرتان را بنویسد. و یا می‌توانید از وارد کردن آن صرف نظر کنید.

به عنوان مثال:

برای دیدن ریز اطلاعات مربوط به فایل WALL-E.MKV دستور زیر را وارد کنید:

ffprobe WALL-E.MKV

خروجی های این دستور

۱- مشخصات برنامه

در ابتدا ورژن ffprob و ورژن کتابخانه‌های درون آن را می‌نویسد.

ffprobe version 3.4.2-2 Copyright (c) 2007-2018 the FFmpeg developers
 built with gcc 7 (Ubuntu 7.3.0-16ubuntu2)
 configuration: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
 libavutil 55. 78.100 / 55. 78.100
 libavcodec 57.107.100 / 57.107.100
 libavformat 57. 83.100 / 57. 83.100
 libavdevice 57. 10.100 / 57. 10.100
 libavfilter 6.107.100 / 6.107.100
 libavresample 3. 7. 0 / 3. 7. 0
 libswscale 4. 8.100 / 4. 8.100
 libswresample 2. 9.100 / 2. 9.100
 libpostproc 54. 7.100 / 54. 7.100

۲- مشخصات فایل

نام و نوع فایل را نمایش می‌دهد. (در ابتدای خط Input #0)

Input #0, matroska,webm, from 'WALL_E.MKV':

پس از آن اطلاعات کلی فایل را نمایش می‌دهد.

Metadata:
 encoder : libebml v1.3.5 + libmatroska v1.4.8
 creation_time : 2018-04-03T07:04:35.000000Z
 Duration: 01:48:05.63, start: 0.000000, bitrate: 1726 kb/s

۳- مشخصات محتویات فایل:

در داخل هر فایل مالتی میدیا می‌تواند مجموعه‌ای از اطلاعات مختلف قرار گیرد. به هر کدام یک Stream می‌گویند. هر Stream ممکن است ویدیو، آدیو، زیرنویس یا … باشد.

پس از اطلاعات فوق یکی یکی اطلاعات مربوط به هر Stream نمایش داده می‌شود. شماره Stream از صفر شروع می‌شود.

اولین استریم (Video)

Stream #0:0(eng): Video: h264 (High), yuv420p(tv, bt709/bt709/unknown, progressive), 1920x1080, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)

در خط بالا مشخص می‌شود Stream شماره صفر :

  • نوع استریم: Video
  • نوع فشرده سازی: h264
  • نوع کد گذاری رنگ: yuv420p
  • رزولوشن: 1920×1080
  • نسبت تصویر: 16:9
  • تعداد فریم در ثانیه: 23.98
  • مدت استریم
  • و غیره …

سپس اطلاعات اضافه مربوط به آن استریم نمایش داده می شود:

Metadata:
 BPS-eng : 1500039
 DURATION-eng : 01:48:05.569000000
 NUMBER_OF_FRAMES-eng: 155498

دومین استریم (Audio)

Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp (default)

و در خط بالا مشخص می‌شود Stream شماره ۱ :

  • نوع استریم: Audio
  • زبان استریم: eng
  • نوع فشرده سازی: aac
  • تعداد کانال های صدا: stereo
  • Sample Rate: 48000 Hz
  • مدت استریم
  • وغیره …

سپس اطلاعات اضافه مربوط به آن استریم نمایش داده می شود:

Metadata:
 BPS-eng : 224000
 DURATION-eng : 01:48:05.631000000
 NUMBER_OF_FRAMES-eng: 304014
 NUMBER_OF_BYTES-eng: 181597697

سومین استریم (Subtitle)

Stream #0:2(eng): Subtitle: subrip (default)

و در خط بالا مشخص می‌شود Stream شماره ۲ :

  • نوع استریم: Subtitle یا زیرنویس
  • زبان استریم
  • مدت استریم
  • وغیره …

سپس اطلاعات اضافه مربوط به آن استریم نمایش داده می شود:

Metadata:
 BPS-eng : 48
 DURATION-eng : 01:42:39.631000000
 NUMBER_OF_FRAMES-eng: 1447
 NUMBER_OF_BYTES-eng: 37351

قابل ذکر است که در یک فایل ممکن است بیش از یک استریم از هر نوعی وجود داشته باشد. مثلا دو استریم صدا یکی انگلیسی یکی فارسی یا دو استریم زیرنویس یکی انگلیسی یکی فارسی. هریک از آنها با شماره جداگانه نمایش داده می‌شود.

برای اطلاعات بیشتر به آدرس ffmpeg.org/ffprobe.html مراجعه کنید.