

If !ekko! EQU 0 echo Frame !count! processed pts_time type > "%%~na_AllFrames.txt"įfprobe.exe -v quiet -select_streams v:0 -print_format csv -show_entries frame "%%~nxa" > "%%~na_ffprobe.csv"įor /F "tokens=4,6,18,19 delims=," %%b in ('findstr "video" "%%~na_ffprobe.csv"') do (

Interlaced_frame,top_field_first,repeat_pict,color_range,color_space,color_primaries,color_transfer,^Įcho No. Width,Height,pix_fmt,sample_aspect_ratio,pict_type,coded_picture_number,display_picture_number,^ For a 23.976 frame rate video, it's a difference of 0.08345 seconds.Įcho frame,media_type,stream_index,key_frame,pkt_pts,pkt_pts_time,pkt_dts,pkt_dts_time,best_effort_timestamp,^īest_effort_timestamp_time,pkt_duration,pkt_duration_time,pkt_pos,pkt_size,^ For a 59.94 frame rate video, it's a difference of 0.03337 seconds. It's really a 2 frame difference ( 2 / 29.97 ) = 0.06673 seconds.

One last note: Using ffmpeg to cut your videos, keeps the embedded subtitles where using Avidemux or VirtualDub2 won't.Ĭlarification: The above 0.066 seconds difference was measured on a video with a frame rate of 29.97. Oh, by the way I do have a life! I just like working on little projects like this. This means matching scenes between episodes which seems to work well. I've been cutting and reassembling my original multiple episode Doctor Who videos into single videos so I don't have to listen to all the theme music between the episodes. It's easy to find your keyframe cut point using 2 running copies of VirtualDub2 working on the same video. However one weird note: You have to subtract exactly 0.1 second from all the keyframe readings to get the exact cut points even when starting at 0.0 which becomes -0.1 seconds.

If you use the keyframes from VirtualDub2 in your ffmpeg cutter command, you should get the correct length. The VirtualDub2 keyframe readings match exactly the ffprobe keyframe readings. I've found that the keyframe readings using Avidemux are 0.066 seconds larger than those when using VirtualDub2, at least on MP4 video files.
