マルチメディア ストリームの情報を確認できます。
ffprobe [options] input_urlSynopsis - ffprobe Documentation
たとえば次のようにすることで、sample.mp4の情報を取得できます。
ffprobe sample.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\sample.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 creation_time : 2010-01-01T00:00:00.000000Z encoder : Lavf58.2.103 Duration: 00:10:00.00, start: 0.000000, bitrate: 638 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 720x480 [SAR 32:27 DAR 16:9], 502 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default) Metadata: creation_time : 2010-01-01T00:00:00.000000Z handler_name : VideoHandler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default) Metadata: creation_time : 2010-01-01T00:00:00.000000Z handler_name : SoundHandler
使用可能なオプションは、ffprobe -h
とすることで確認できます。
オプション | セクション名 | 出力内容 |
---|---|---|
-show_log loglevel | LOG | デコーダのログ情報 (-show_framesと共に用いる) |
-show_error | ERROR | 入力を調査中に見つかったエラー |
-show_format | FORMAT | 入力マルチメディア ストリーム内のコンテナ フォーマットの情報 |
-show_streams | STREAM | 入力マルチメディア ストリーム内のメディア ストリームごとの情報 |
-show_frames | FRAME または SUBTITLE | 入力マルチメディア ストリーム内のフレームと字幕ごとの情報 |
-show_packets | PACKET | 入力マルチメディア ストリーム内のパケットごとの情報 |
-show_programs | PROGRAM_STREAM | 入力マルチメディア ストリーム内のプログラムとストリームの情報 |
-show_chapters | CHAPTER | フォーマット内のチャプターの情報 |
指定の内容が存在しないならば、何も出力されません。
特定の記載だけを出力したいならば、
-show_entries format=duration
-show_entries packet=pts_time,duration_time,stream_index : stream=index,codec_type
のように指定します。
ffprobe -print_format compact -show_format sample.mp4
-print_format (または-of) を指定することで、指定の書式に整形された結果を得られます。
フォーマットごとに異なるオプションが用意されており、
-print_format writer_name[=writer_options]
の書式で、たとえばdefaultにnoprint_wrappersとnokeyのオプションを指定するならば-print_format default=noprint_wrappers=1:nokey=1
のように指定します。4 Writers - ffprobe Documentation
[FORMAT] filename=C:\sintel_trailer-480p.mp4 nb_streams=2 nb_programs=0 format_name=mov,mp4,m4a,3gp,3g2,mj2 format_long_name=QuickTime / MOV start_time=0.000000 duration=52.209000 size=4372373 bit_rate=669979 probe_score=100 TAG:major_brand=isom TAG:minor_version=512 TAG:compatible_brands=isomiso2avc1mp41 TAG:creation_time=1970-01-01T00:00:00.000000Z TAG:title=Sintel Trailer TAG:artist=Durian Open Movie Team TAG:encoder=Lavf52.62.0 TAG:copyright=(c) copyright Blender Foundation | durian.blender.org TAG:description=Trailer for the Sintel open movie project [/FORMAT]
format|filename=C:\\sintel_trailer-480p.mp4|nb_streams=2|nb_programs=0|format_name=mov,mp4,m4a,3gp,3g2,mj2|format_long_name=QuickTime / MOV|start_time=0.000000|duration=52.209000|size=4372373|bit_rate=669979|probe_score=100|tag:major_brand=isom|tag:minor_version=512|tag:compatible_brands=isomiso2avc1mp41|tag:creation_time=1970-01-01T00:00:00.000000Z|tag:title=Sintel Trailer|tag:artist=Durian Open Movie Team|tag:encoder=Lavf52.62.0|tag:copyright=(c) copyright Blender Foundation \| durian.blender.org|tag:description=Trailer for the Sintel open movie project
format.filename="C:\\sintel_trailer-480p.mp4" format.nb_streams=2 format.nb_programs=0 format.format_name="mov,mp4,m4a,3gp,3g2,mj2" format.format_long_name="QuickTime / MOV" format.start_time="0.000000" format.duration="52.209000" format.size="4372373" format.bit_rate="669979" format.probe_score=100 format.tags.major_brand="isom" format.tags.minor_version="512" format.tags.compatible_brands="isomiso2avc1mp41" format.tags.creation_time="1970-01-01T00:00:00.000000Z" format.tags.title="Sintel Trailer" format.tags.artist="Durian Open Movie Team" format.tags.encoder="Lavf52.62.0" format.tags.copyright="(c) copyright Blender Foundation | durian.blender.org" format.tags.description="Trailer for the Sintel open movie project"
[format] filename=D\:\\sintel_trailer-480p.mp4 nb_streams=2 nb_programs=0 format_name=mov,mp4,m4a,3gp,3g2,mj2 format_long_name=QuickTime / MOV start_time=0.000000 duration=52.209000 size=4372373 bit_rate=669979 probe_score=100 [format.tags] major_brand=isom minor_version=512 compatible_brands=isomiso2avc1mp41 creation_time=1970-01-01T00\:00\:00.000000Z title=Sintel Trailer artist=Durian Open Movie Team encoder=Lavf52.62.0 copyright=(c) copyright Blender Foundation | durian.blender.org description=Trailer for the Sintel open movie project
"format": { "filename": "C:\\sintel_trailer-480p.mp4", "nb_streams": 2, "nb_programs": 0, "format_name": "mov,mp4,m4a,3gp,3g2,mj2", "format_long_name": "QuickTime / MOV", "start_time": "0.000000", "duration": "52.209000", "size": "4372373", "bit_rate": "669979", "probe_score": 100, "tags": { "major_brand": "isom", "minor_version": "512", "compatible_brands": "isomiso2avc1mp41", "creation_time": "1970-01-01T00:00:00.000000Z", "title": "Sintel Trailer", "artist": "Durian Open Movie Team", "encoder": "Lavf52.62.0", "copyright": "(c) copyright Blender Foundation | durian.blender.org", "description": "Trailer for the Sintel open movie project" } }
<format filename="C:\sintel_trailer-480p.mp4" nb_streams="2" nb_programs="0" format_name="mov,mp4,m4a,3gp,3g2,mj2" format_long_name="QuickTime / MOV" start_time="0.000000" duration="52.209000" size="4372373" bit_rate="669979" probe_score="100"> <tag key="major_brand" value="isom"/> <tag key="minor_version" value="512"/> <tag key="compatible_brands" value="isomiso2avc1mp41"/> <tag key="creation_time" value="1970-01-01T00:00:00.000000Z"/> <tag key="title" value="Sintel Trailer"/> <tag key="artist" value="Durian Open Movie Team"/> <tag key="encoder" value="Lavf52.62.0"/> <tag key="copyright" value="(c) copyright Blender Foundation | durian.blender.org"/> <tag key="description" value="Trailer for the Sintel open movie project"/> </format>
-show_framesで、フレームの情報として画像のExifなどを取得できます。
ffprobe -show_frames sample.jpg
-skip_frameで、フレームの型によって処理対象から除外できます。
値 | 放棄するフレーム |
---|---|
none | なし |
default | サイズが0のような、使用されていないフレーム |
noref | すべての参照されていないフレーム |
bidir | すべてのBフレーム |
nokey | すべての、キーフレーム以外のフレーム |
nointra | すべての、Iフレーム以外のフレーム |
all | すべてのフレーム |
たとえばすべてのIフレームの位置とその型の情報だけを取得するには、次のようにします。
ffprobe -select_streams v -skip_frame nointra -show_frames -show_entries frame=pkt_pts_time,pict_type sample.mp4