[FFmpeg-trac] #7763(ffprobe:new): FFprobe does not respect -read_intervals offset sometimes

FFmpeg trac at avcodec.org
Fri Mar 1 07:48:47 EET 2019


#7763: FFprobe does not respect -read_intervals offset sometimes
-------------------------------------+-------------------------------------
             Reporter:  cnbeining    |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:  ffprobe      |                  Version:
             Keywords:  ffprobe,     |  unspecified
  read_intervals                     |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 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

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7763>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list