#9523: segment_times splits at I-frames that are not keyframes ------------------------------------+------------------------------------ Reporter: TurboLed | Owner: (none) Type: defect | Status: new Priority: normal | Component: avfilter Version: git-master | Resolution: Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | ------------------------------------+------------------------------------ Old description:
Summary of the bug:
When splitting segments on an MP4 video that contains I-frames that are not keyframes (not IDR frames), the splitting can occur on those I-frames and make the next segment unreadable.
How to reproduce: {{{ % ffmpeg -i sample.mp4 -f segment -segment_times 3 -c copy output%03d.mp4 % ffprobe -i output001.mp4 -show_frames
[FRAME] media_type=video stream_index=0 key_frame=0 pts=150144 pts_time=3.128000 pkt_dts=151145 pkt_dts_time=3.148854 best_effort_timestamp=150144 best_effort_timestamp_time=3.128000 pkt_duration=1001 pkt_duration_time=0.020854 pkt_pos=48 pkt_size=599189 width=2720 height=1530 pix_fmt=yuv420p sample_aspect_ratio=1:1 pict_type=I coded_picture_number=1 display_picture_number=0 interlaced_frame=0 top_field_first=0 repeat_pict=0 color_range=tv color_space=bt709 color_primaries=bt709 color_transfer=bt709 chroma_location=left [/FRAME]
ffmpeg version 2021-11-18-git-85a6b7f7b7-essentials_build-www.gyan.dev }}}
I'm looking for a way to upload the sample, but the FTP site is not working.
New description: Summary of the bug: When splitting segments on an MP4 video that contains I-frames that are not keyframes (not IDR frames), the splitting can occur on those I-frames and make the next segment unreadable. How to reproduce: {{{ % ffmpeg -i sample.mp4 -f segment -segment_times 3 -c copy output%03d.mp4 % ffprobe -i output001.mp4 -show_frames [FRAME] media_type=video stream_index=0 key_frame=0 pts=150144 pts_time=3.128000 pkt_dts=151145 pkt_dts_time=3.148854 best_effort_timestamp=150144 best_effort_timestamp_time=3.128000 pkt_duration=1001 pkt_duration_time=0.020854 pkt_pos=48 pkt_size=599189 width=2720 height=1530 pix_fmt=yuv420p sample_aspect_ratio=1:1 pict_type=I coded_picture_number=1 display_picture_number=0 interlaced_frame=0 top_field_first=0 repeat_pict=0 color_range=tv color_space=bt709 color_primaries=bt709 color_transfer=bt709 chroma_location=left [/FRAME] ffmpeg version 2021-11-18-git-85a6b7f7b7-essentials_build-www.gyan.dev }}} Sample: https://www.filehosting.org/file/details/969740/sample_48fps_iframes.mp4 -- Comment (by TurboLed): Added sample -- Ticket URL: <https://trac.ffmpeg.org/ticket/9523#comment:4> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker