mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-17 21:14:47 +00:00
90af8e07b0
Currently, ffprobe has two stream-level fields that do not work, closed_captions and film_grain). Their value is always 0 because ffprobe cannot access the internal codec properties when it is setting up its stream contexts. In this commit, add the new option -analyze_frames to ffprobe, allowing the user to read frames up to the interval they have defined and fill these fields based on what is exposed in AVPacketSideData. Additionally, in the same commit, don't write these fields to the output unless analyze_frames is enabled. Finally, fix the FATE test refs accordingly and update the docs. Signed-off-by: Marth64 <marth64@proxyid.net>
66 lines
12 KiB
XML
66 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ffprobe:ffprobe xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ffprobe="http://www.ffmpeg.org/schema/ffprobe" xsi:schemaLocation="http://www.ffmpeg.org/schema/ffprobe ffprobe.xsd">
|
|
<packets_and_frames>
|
|
<packet codec_type="audio" stream_index="0" pts="0" pts_time="0.000000" dts="0" dts_time="0.000000" duration="1024" duration_time="0.023220" size="2048" pos="669" flags="K__"/>
|
|
<frame media_type="audio" stream_index="0" key_frame="1" pts="0" pts_time="0.000000" pkt_dts="0" pkt_dts_time="0.000000" best_effort_timestamp="0" best_effort_timestamp_time="0.000000" duration="1024" duration_time="0.023220" pkt_pos="669" pkt_size="2048" sample_fmt="s16" nb_samples="1024" channels="1"/>
|
|
<packet codec_type="video" stream_index="1" pts="0" pts_time="0.000000" dts="0" dts_time="0.000000" duration="2048" duration_time="0.040000" size="230400" pos="2744" flags="K__"/>
|
|
<frame media_type="video" stream_index="1" key_frame="1" pts="0" pts_time="0.000000" pkt_dts="0" pkt_dts_time="0.000000" best_effort_timestamp="0" best_effort_timestamp_time="0.000000" duration="2048" duration_time="0.040000" pkt_pos="2744" pkt_size="230400" width="320" height="240" crop_top="0" crop_bottom="0" crop_left="0" crop_right="0" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" interlaced_frame="0" top_field_first="0" repeat_pict="0"/>
|
|
<packet codec_type="video" stream_index="2" pts="0" pts_time="0.000000" dts="0" dts_time="0.000000" duration="2048" duration_time="0.040000" size="30000" pos="233165" flags="K__"/>
|
|
<frame media_type="video" stream_index="2" key_frame="1" pts="0" pts_time="0.000000" pkt_dts="0" pkt_dts_time="0.000000" best_effort_timestamp="0" best_effort_timestamp_time="0.000000" duration="2048" duration_time="0.040000" pkt_pos="233165" pkt_size="30000" width="100" height="100" crop_top="0" crop_bottom="0" crop_left="0" crop_right="0" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" interlaced_frame="0" top_field_first="0" repeat_pict="0"/>
|
|
<packet codec_type="audio" stream_index="0" pts="1024" pts_time="0.023220" dts="1024" dts_time="0.023220" duration="1024" duration_time="0.023220" size="2048" pos="263170" flags="K__"/>
|
|
<frame media_type="audio" stream_index="0" key_frame="1" pts="1024" pts_time="0.023220" pkt_dts="1024" pkt_dts_time="0.023220" best_effort_timestamp="1024" best_effort_timestamp_time="0.023220" duration="1024" duration_time="0.023220" pkt_pos="263170" pkt_size="2048" sample_fmt="s16" nb_samples="1024" channels="1"/>
|
|
<packet codec_type="video" stream_index="1" pts="2048" pts_time="0.040000" dts="2048" dts_time="0.040000" duration="2048" duration_time="0.040000" size="230400" pos="265248" flags="K__"/>
|
|
<frame media_type="video" stream_index="1" key_frame="1" pts="2048" pts_time="0.040000" pkt_dts="2048" pkt_dts_time="0.040000" best_effort_timestamp="2048" best_effort_timestamp_time="0.040000" duration="2048" duration_time="0.040000" pkt_pos="265248" pkt_size="230400" width="320" height="240" crop_top="0" crop_bottom="0" crop_left="0" crop_right="0" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" interlaced_frame="0" top_field_first="0" repeat_pict="0"/>
|
|
<packet codec_type="video" stream_index="2" pts="2048" pts_time="0.040000" dts="2048" dts_time="0.040000" duration="2048" duration_time="0.040000" size="30000" pos="495672" flags="K__"/>
|
|
<frame media_type="video" stream_index="2" key_frame="1" pts="2048" pts_time="0.040000" pkt_dts="2048" pkt_dts_time="0.040000" best_effort_timestamp="2048" best_effort_timestamp_time="0.040000" duration="2048" duration_time="0.040000" pkt_pos="495672" pkt_size="30000" width="100" height="100" crop_top="0" crop_bottom="0" crop_left="0" crop_right="0" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" interlaced_frame="0" top_field_first="0" repeat_pict="0"/>
|
|
<packet codec_type="audio" stream_index="0" pts="2048" pts_time="0.046440" dts="2048" dts_time="0.046440" duration="1024" duration_time="0.023220" size="2048" pos="525677" flags="K__"/>
|
|
<frame media_type="audio" stream_index="0" key_frame="1" pts="2048" pts_time="0.046440" pkt_dts="2048" pkt_dts_time="0.046440" best_effort_timestamp="2048" best_effort_timestamp_time="0.046440" duration="1024" duration_time="0.023220" pkt_pos="525677" pkt_size="2048" sample_fmt="s16" nb_samples="1024" channels="1"/>
|
|
<packet codec_type="audio" stream_index="0" pts="3072" pts_time="0.069660" dts="3072" dts_time="0.069660" duration="1024" duration_time="0.023220" size="2048" pos="527748" flags="K__"/>
|
|
<frame media_type="audio" stream_index="0" key_frame="1" pts="3072" pts_time="0.069660" pkt_dts="3072" pkt_dts_time="0.069660" best_effort_timestamp="3072" best_effort_timestamp_time="0.069660" duration="1024" duration_time="0.023220" pkt_pos="527748" pkt_size="2048" sample_fmt="s16" nb_samples="1024" channels="1"/>
|
|
<packet codec_type="video" stream_index="1" pts="4096" pts_time="0.080000" dts="4096" dts_time="0.080000" duration="2048" duration_time="0.040000" size="230400" pos="529826" flags="K__"/>
|
|
<frame media_type="video" stream_index="1" key_frame="1" pts="4096" pts_time="0.080000" pkt_dts="4096" pkt_dts_time="0.080000" best_effort_timestamp="4096" best_effort_timestamp_time="0.080000" duration="2048" duration_time="0.040000" pkt_pos="529826" pkt_size="230400" width="320" height="240" crop_top="0" crop_bottom="0" crop_left="0" crop_right="0" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" interlaced_frame="0" top_field_first="0" repeat_pict="0"/>
|
|
<packet codec_type="video" stream_index="2" pts="4096" pts_time="0.080000" dts="4096" dts_time="0.080000" duration="2048" duration_time="0.040000" size="30000" pos="760250" flags="K__"/>
|
|
<frame media_type="video" stream_index="2" key_frame="1" pts="4096" pts_time="0.080000" pkt_dts="4096" pkt_dts_time="0.080000" best_effort_timestamp="4096" best_effort_timestamp_time="0.080000" duration="2048" duration_time="0.040000" pkt_pos="760250" pkt_size="30000" width="100" height="100" crop_top="0" crop_bottom="0" crop_left="0" crop_right="0" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" interlaced_frame="0" top_field_first="0" repeat_pict="0"/>
|
|
<packet codec_type="audio" stream_index="0" pts="4096" pts_time="0.092880" dts="4096" dts_time="0.092880" duration="1024" duration_time="0.023220" size="2048" pos="790255" flags="K__"/>
|
|
<frame media_type="audio" stream_index="0" key_frame="1" pts="4096" pts_time="0.092880" pkt_dts="4096" pkt_dts_time="0.092880" best_effort_timestamp="4096" best_effort_timestamp_time="0.092880" duration="1024" duration_time="0.023220" pkt_pos="790255" pkt_size="2048" sample_fmt="s16" nb_samples="1024" channels="1"/>
|
|
<packet codec_type="audio" stream_index="0" pts="5120" pts_time="0.116100" dts="5120" dts_time="0.116100" duration="393" duration_time="0.008912" size="786" pos="792326" flags="K__"/>
|
|
<frame media_type="audio" stream_index="0" key_frame="1" pts="5120" pts_time="0.116100" pkt_dts="5120" pkt_dts_time="0.116100" best_effort_timestamp="5120" best_effort_timestamp_time="0.116100" duration="393" duration_time="0.008912" pkt_pos="792326" pkt_size="786" sample_fmt="s16" nb_samples="393" channels="1"/>
|
|
<packet codec_type="video" stream_index="1" pts="6144" pts_time="0.120000" dts="6144" dts_time="0.120000" duration="2048" duration_time="0.040000" size="230400" pos="793142" flags="K__"/>
|
|
<frame media_type="video" stream_index="1" key_frame="1" pts="6144" pts_time="0.120000" pkt_dts="6144" pkt_dts_time="0.120000" best_effort_timestamp="6144" best_effort_timestamp_time="0.120000" duration="2048" duration_time="0.040000" pkt_pos="793142" pkt_size="230400" width="320" height="240" crop_top="0" crop_bottom="0" crop_left="0" crop_right="0" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" interlaced_frame="0" top_field_first="0" repeat_pict="0"/>
|
|
<packet codec_type="video" stream_index="2" pts="6144" pts_time="0.120000" dts="6144" dts_time="0.120000" duration="2048" duration_time="0.040000" size="30000" pos="1023566" flags="K__"/>
|
|
<frame media_type="video" stream_index="2" key_frame="1" pts="6144" pts_time="0.120000" pkt_dts="6144" pkt_dts_time="0.120000" best_effort_timestamp="6144" best_effort_timestamp_time="0.120000" duration="2048" duration_time="0.040000" pkt_pos="1023566" pkt_size="30000" width="100" height="100" crop_top="0" crop_bottom="0" crop_left="0" crop_right="0" pix_fmt="rgb24" sample_aspect_ratio="1:1" pict_type="I" interlaced_frame="0" top_field_first="0" repeat_pict="0"/>
|
|
</packets_and_frames>
|
|
|
|
<streams>
|
|
<stream index="0" codec_name="pcm_s16le" codec_type="audio" codec_tag_string="PSD[16]" codec_tag="0x10445350" sample_fmt="s16" sample_rate="44100" channels="1" bits_per_sample="16" initial_padding="0" r_frame_rate="0/0" avg_frame_rate="0/0" time_base="1/44100" start_pts="0" start_time="0.000000" bit_rate="705600" nb_read_frames="6" nb_read_packets="6">
|
|
<disposition default="0" 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" non_diegetic="0" captions="0" descriptions="0" metadata="0" dependent="0" still_image="0" multilayer="0"/>
|
|
<tags>
|
|
<tag key="encoder" value="Lavc pcm_s16le"/>
|
|
<tag key="E" value="mc²"/>
|
|
</tags>
|
|
</stream>
|
|
<stream index="1" codec_name="rawvideo" codec_type="video" codec_tag_string="RGB[24]" codec_tag="0x18424752" width="320" height="240" coded_width="320" coded_height="240" has_b_frames="0" sample_aspect_ratio="1:1" display_aspect_ratio="4:3" pix_fmt="rgb24" level="-99" refs="1" r_frame_rate="25/1" avg_frame_rate="25/1" time_base="1/51200" start_pts="0" start_time="0.000000" nb_read_frames="4" nb_read_packets="4">
|
|
<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" non_diegetic="0" captions="0" descriptions="0" metadata="0" dependent="0" still_image="0" multilayer="0"/>
|
|
<tags>
|
|
<tag key="encoder" value="Lavc rawvideo"/>
|
|
<tag key="title" value="foobar"/>
|
|
<tag key="duration_ts" value="field-and-tags-conflict-attempt"/>
|
|
</tags>
|
|
</stream>
|
|
<stream index="2" codec_name="rawvideo" codec_type="video" codec_tag_string="RGB[24]" codec_tag="0x18424752" width="100" height="100" coded_width="100" coded_height="100" has_b_frames="0" sample_aspect_ratio="1:1" display_aspect_ratio="1:1" pix_fmt="rgb24" level="-99" refs="1" r_frame_rate="25/1" avg_frame_rate="25/1" time_base="1/51200" start_pts="0" start_time="0.000000" nb_read_frames="4" nb_read_packets="4">
|
|
<disposition default="0" 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" non_diegetic="0" captions="0" descriptions="0" metadata="0" dependent="0" still_image="0" multilayer="0"/>
|
|
<tags>
|
|
<tag key="encoder" value="Lavc rawvideo"/>
|
|
</tags>
|
|
</stream>
|
|
</streams>
|
|
|
|
<format filename="tests/data/ffprobe-test.nut" nb_streams="3" nb_programs="0" nb_stream_groups="0" format_name="nut" start_time="0.000000" duration="0.120000" size="1053646" bit_rate="70243066" probe_score="100">
|
|
<tags>
|
|
<tag key="title" value="ffprobe test file"/>
|
|
<tag key="comment" value="'A comment with CSV, XML & JSON special chars': <tag value="x">"/>
|
|
<tag key="comment2" value="I ♥ Üñîçød€"/>
|
|
</tags>
|
|
</format>
|
|
</ffprobe:ffprobe>
|