mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
bd55552d69
Currently, the code doing this is spread over several places and may behave in unexpected ways. E.g. automatic 'default' marking is only done for streams fed by complex filtergraphs. It is also applied in the order in which the output streams are initialized, which is effectively random. Move processing the dispositions at the end of open_output_file(), when we already have all the necessary information. Apply the automatic default marking only if no explicit -disposition options were supplied by the user, and apply it to the first stream of each type (excluding attached pics) when there is more than one stream of that type and no default markings were copied from the input streams. Explicitly document the new behavior. Changes the results of some tests, where the output file gets a default disposition, while it previously did not.
681 lines
20 KiB
Plaintext
681 lines
20 KiB
Plaintext
{
|
|
"packets_and_frames": [
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 1024,
|
|
"pkt_duration_time": "0.023220",
|
|
"pkt_pos": "669",
|
|
"pkt_size": "2048",
|
|
"sample_fmt": "s16",
|
|
"nb_samples": 1024,
|
|
"channels": 1
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 2048,
|
|
"pkt_duration_time": "0.040000",
|
|
"pkt_pos": "2744",
|
|
"pkt_size": "230400",
|
|
"width": 320,
|
|
"height": 240,
|
|
"pix_fmt": "rgb24",
|
|
"sample_aspect_ratio": "1:1",
|
|
"pict_type": "I",
|
|
"coded_picture_number": 0,
|
|
"display_picture_number": 0,
|
|
"interlaced_frame": 0,
|
|
"top_field_first": 0,
|
|
"repeat_pict": 0
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 2048,
|
|
"pkt_duration_time": "0.040000",
|
|
"pkt_pos": "233165",
|
|
"pkt_size": "30000",
|
|
"width": 100,
|
|
"height": 100,
|
|
"pix_fmt": "rgb24",
|
|
"sample_aspect_ratio": "1:1",
|
|
"pict_type": "I",
|
|
"coded_picture_number": 0,
|
|
"display_picture_number": 0,
|
|
"interlaced_frame": 0,
|
|
"top_field_first": 0,
|
|
"repeat_pict": 0
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 1024,
|
|
"pkt_duration_time": "0.023220",
|
|
"pkt_pos": "263170",
|
|
"pkt_size": "2048",
|
|
"sample_fmt": "s16",
|
|
"nb_samples": 1024,
|
|
"channels": 1
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 2048,
|
|
"pkt_duration_time": "0.040000",
|
|
"pkt_pos": "265248",
|
|
"pkt_size": "230400",
|
|
"width": 320,
|
|
"height": 240,
|
|
"pix_fmt": "rgb24",
|
|
"sample_aspect_ratio": "1:1",
|
|
"pict_type": "I",
|
|
"coded_picture_number": 0,
|
|
"display_picture_number": 0,
|
|
"interlaced_frame": 0,
|
|
"top_field_first": 0,
|
|
"repeat_pict": 0
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 2048,
|
|
"pkt_duration_time": "0.040000",
|
|
"pkt_pos": "495672",
|
|
"pkt_size": "30000",
|
|
"width": 100,
|
|
"height": 100,
|
|
"pix_fmt": "rgb24",
|
|
"sample_aspect_ratio": "1:1",
|
|
"pict_type": "I",
|
|
"coded_picture_number": 0,
|
|
"display_picture_number": 0,
|
|
"interlaced_frame": 0,
|
|
"top_field_first": 0,
|
|
"repeat_pict": 0
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 1024,
|
|
"pkt_duration_time": "0.023220",
|
|
"pkt_pos": "525677",
|
|
"pkt_size": "2048",
|
|
"sample_fmt": "s16",
|
|
"nb_samples": 1024,
|
|
"channels": 1
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 1024,
|
|
"pkt_duration_time": "0.023220",
|
|
"pkt_pos": "527748",
|
|
"pkt_size": "2048",
|
|
"sample_fmt": "s16",
|
|
"nb_samples": 1024,
|
|
"channels": 1
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 2048,
|
|
"pkt_duration_time": "0.040000",
|
|
"pkt_pos": "529826",
|
|
"pkt_size": "230400",
|
|
"width": 320,
|
|
"height": 240,
|
|
"pix_fmt": "rgb24",
|
|
"sample_aspect_ratio": "1:1",
|
|
"pict_type": "I",
|
|
"coded_picture_number": 0,
|
|
"display_picture_number": 0,
|
|
"interlaced_frame": 0,
|
|
"top_field_first": 0,
|
|
"repeat_pict": 0
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 2048,
|
|
"pkt_duration_time": "0.040000",
|
|
"pkt_pos": "760250",
|
|
"pkt_size": "30000",
|
|
"width": 100,
|
|
"height": 100,
|
|
"pix_fmt": "rgb24",
|
|
"sample_aspect_ratio": "1:1",
|
|
"pict_type": "I",
|
|
"coded_picture_number": 0,
|
|
"display_picture_number": 0,
|
|
"interlaced_frame": 0,
|
|
"top_field_first": 0,
|
|
"repeat_pict": 0
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 1024,
|
|
"pkt_duration_time": "0.023220",
|
|
"pkt_pos": "790255",
|
|
"pkt_size": "2048",
|
|
"sample_fmt": "s16",
|
|
"nb_samples": 1024,
|
|
"channels": 1
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 393,
|
|
"pkt_duration_time": "0.008912",
|
|
"pkt_pos": "792326",
|
|
"pkt_size": "786",
|
|
"sample_fmt": "s16",
|
|
"nb_samples": 393,
|
|
"channels": 1
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 2048,
|
|
"pkt_duration_time": "0.040000",
|
|
"pkt_pos": "793142",
|
|
"pkt_size": "230400",
|
|
"width": 320,
|
|
"height": 240,
|
|
"pix_fmt": "rgb24",
|
|
"sample_aspect_ratio": "1:1",
|
|
"pict_type": "I",
|
|
"coded_picture_number": 0,
|
|
"display_picture_number": 0,
|
|
"interlaced_frame": 0,
|
|
"top_field_first": 0,
|
|
"repeat_pict": 0
|
|
},
|
|
{
|
|
"type": "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_"
|
|
},
|
|
{
|
|
"type": "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",
|
|
"pkt_duration": 2048,
|
|
"pkt_duration_time": "0.040000",
|
|
"pkt_pos": "1023566",
|
|
"pkt_size": "30000",
|
|
"width": 100,
|
|
"height": 100,
|
|
"pix_fmt": "rgb24",
|
|
"sample_aspect_ratio": "1:1",
|
|
"pict_type": "I",
|
|
"coded_picture_number": 0,
|
|
"display_picture_number": 0,
|
|
"interlaced_frame": 0,
|
|
"top_field_first": 0,
|
|
"repeat_pict": 0
|
|
}
|
|
],
|
|
"streams": [
|
|
{
|
|
"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,
|
|
"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,
|
|
"captions": 0,
|
|
"descriptions": 0,
|
|
"metadata": 0,
|
|
"dependent": 0,
|
|
"still_image": 0
|
|
},
|
|
"tags": {
|
|
"E": "mc²",
|
|
"encoder": "Lavc pcm_s16le"
|
|
}
|
|
},
|
|
{
|
|
"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,
|
|
"closed_captions": 0,
|
|
"film_grain": 0,
|
|
"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,
|
|
"captions": 0,
|
|
"descriptions": 0,
|
|
"metadata": 0,
|
|
"dependent": 0,
|
|
"still_image": 0
|
|
},
|
|
"tags": {
|
|
"title": "foobar",
|
|
"duration_ts": "field-and-tags-conflict-attempt",
|
|
"encoder": "Lavc rawvideo"
|
|
}
|
|
},
|
|
{
|
|
"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,
|
|
"closed_captions": 0,
|
|
"film_grain": 0,
|
|
"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,
|
|
"captions": 0,
|
|
"descriptions": 0,
|
|
"metadata": 0,
|
|
"dependent": 0,
|
|
"still_image": 0
|
|
},
|
|
"tags": {
|
|
"encoder": "Lavc rawvideo"
|
|
}
|
|
}
|
|
],
|
|
"format": {
|
|
"filename": "tests/data/ffprobe-test.nut",
|
|
"nb_streams": 3,
|
|
"nb_programs": 0,
|
|
"format_name": "nut",
|
|
"start_time": "0.000000",
|
|
"duration": "0.120000",
|
|
"size": "1053646",
|
|
"bit_rate": "70243066",
|
|
"probe_score": 100,
|
|
"tags": {
|
|
"title": "ffprobe test file",
|
|
"comment": "'A comment with CSV, XML & JSON special chars': <tag value=\"x\">",
|
|
"comment2": "I ♥ Üñîçød€"
|
|
}
|
|
}
|
|
}
|