I was looking at videohelp forum https://web.archive.org/web/20201125203546/https://forum.videohelp.com/threads/398119-Cutting-Open-GOP-H264-videos-properly
(web archive link because it hopefully will stay active for some time even if forum software will be upgraded and ruin old links in the future) It provides this ffprobe-based method of seeing if given h264 video stream is Open GOP or not : echo entry,pkt_pts_time,pict_type,coded_picture_number > "%~n1.csv" ffprobe -v 32 -stats -y -hide_banner -i %1 -select_streams v -print_format csv -of csv -show_entries "frame=pkt_pts_time,pict_type,coded_picture_number" >> "%~n1.csv" === quote ==== You can see that the last frame of the first GOP is a B frame -- so that's an open GOP. Also, the coded picture number is higher than that of the I frame after it -- indicating that the I frame had to be decoded before the B frame, another indication of an open GOP. === quote ends === I checked one of my videos: ffprobe -v 32 -stats -y -hide_banner -i ~/Sea_of_life_plus_Mikura_dolphins_test.mp4 -select_streams v -print_format csv -of csv -show_entries "frame=pkt_pts_time,pict_type,coded_picture_number" >> "Sea_of_life-n1.csv" and it seems resulting cvs file show it as open GOP consistently with mediainfo: frame,8.308300,B,250 frame,8.341667,I,249 frame,8.375033,B,253 mediainfo (v23.11) snip: === snip === Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4.1 Format settings : 4 Ref Frames Format settings, CABAC : No Format settings, Reference frames : 4 frames Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 5 min 4 s Bit rate : 16.0 Mb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 29.970 (30000/1001) FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.257 Stream size : 575 MiB (99%) Writing library : x264 core 148 Encoding settings : cabac=0 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=0 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=3 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=0 / b_bias=0 / direct=1 / weightb=1 / open_gop=1 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=0 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=16000 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.41 / aq=1:1.00 Codec configuration box : avcC ==== snip ends === So, at least I may try to cut this video at various intervals and see if cutting breaks on specifically open-gop h264 stream. But as it was said in forum post above - ffprobe a bit slow, few minutes for whole video, eating one cpu core completely. Is there faster way to get this info ? _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".