Opened 6 years ago

Closed 5 years ago

#7763 closed defect (needs_more_info)

FFprobe does not respect -read_intervals offset sometimes

Reported by: cnbeining Owned by:
Priority: normal Component: ffprobe
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:

Sometimes ffprobe does not respect the offset of -read_intervals.

How to reproduce:

In shell, execute "ffprobe -v quiet -print_format json -select_streams v -read_intervals 108%+2 -show_frames /Users/Beining/Documents/u5MPyrRJPmc.mp4"

for a couple of time with no delay between.

For the first 2~3 times the offset of 2 seconds are used; but sometimes only the start time is being used but not the offset.

Expected:

$ ffprobe -v quiet -print_format json -select_streams v -read_intervals 108%+2 -show_frames /Users/Beining/Documents/u5MPyrRJPmc.mp4
{

"frames": [

{

"media_type": "video",
"stream_index": 0,
"key_frame": 1,
"pkt_pts": 9676800,
"pkt_pts_time": "107.520000",
"pkt_dts": 9676800,
"pkt_dts_time": "107.520000",
"best_effort_timestamp": 9676800,
"best_effort_timestamp_time": "107.520000",
"pkt_duration": 3600,
"pkt_duration_time": "0.040000",
"pkt_pos": "15238509",
"pkt_size": "45553",
"width": 1280,
"height": 720,
"pix_fmt": "yuv420p",
"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

},

...

{

"media_type": "video",
"stream_index": 0,
"key_frame": 0,
"pkt_pts": 9853200,
"pkt_pts_time": "109.480000",
"best_effort_timestamp": 9853200,
"best_effort_timestamp_time": "109.480000",
"pkt_duration": 3600,
"pkt_duration_time": "0.040000",
"pkt_pos": "15601124",
"pkt_size": "11484",
"width": 1280,
"height": 720,
"pix_fmt": "yuv420p",
"sample_aspect_ratio": "1:1",
"pict_type": "P",
"coded_picture_number": 47,
"display_picture_number": 0,
"interlaced_frame": 0,
"top_field_first": 0,
"repeat_pict": 0

}

]

}

What happened:
$ ffprobe -v quiet -print_format json -select_streams v -read_intervals 108%+2 -show_frames /Users/Beining/Documents/u5MPyrRJPmc.mp4
{

"frames": [

{

"media_type": "video",
"stream_index": 0,
"key_frame": 1,
"pkt_pts": 9676800,
"pkt_pts_time": "107.520000",
"pkt_dts": 9676800,
"pkt_dts_time": "107.520000",
"best_effort_timestamp": 9676800,
"best_effort_timestamp_time": "107.520000",
"pkt_duration": 3600,
"pkt_duration_time": "0.040000",
"pkt_pos": "15238509",
"pkt_size": "45553",
"width": 1280,
"height": 720,
"pix_fmt": "yuv420p",
"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

},

...

{

"media_type": "video",
"stream_index": 0,
"key_frame": 0,
"pkt_pts": 11430000,
"pkt_pts_time": "127.000000",<------ way over 2 seconds!
"pkt_dts": 11430000,
"pkt_dts_time": "127.000000",
"best_effort_timestamp": 11430000,
"best_effort_timestamp_time": "127.000000",
"pkt_duration": 3600,
"pkt_duration_time": "0.040000",
"pkt_pos": "18054407",
"pkt_size": "797",
"width": 1280,
"height": 720,
"pix_fmt": "yuv420p",
"sample_aspect_ratio": "1:1",
"pict_type": "B",
"coded_picture_number": 488,
"display_picture_number": 0,
"interlaced_frame": 0,
"top_field_first": 0,
"repeat_pict": 0

}(Ctrl+C sent)

OS: macOS 10.14.1

FFprobe version:

$ ffprobe -version
ffprobe version 3.3.3-tessus Copyright (c) 2007-2017 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-libzvbi --enable-version3 --disable-ffplay --disable-indev=qtkit
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100

Change History (1)

comment:1 by Carl Eugen Hoyos, 5 years ago

Keywords: ffprobe read_intervals removed
Resolution: needs_more_info
Status: newclosed

If the issue is reproducible with current FFmpeg git head, please provide an input sample.

Note: See TracTickets for help on using tickets.