====== ffprobe - Frame - Count number of frames ====== ffprobe -v error -select_streams v:0 -count_packets -show_entries stream=nb_read_packets -of csv=p=0 input.mp4 **NOTE:** * **-v error** - This hides "info" output (version info, etc) which makes parsing easier (but makes it harder if you ask for help since it hides important info). * **-count_frames** - Counts the number of packets per stream and report it in the corresponding stream section. * **-select_streams v:0** - Select only the first video stream. * **-show_entries stream=nb_read_packets** - Show only the entry for nb_read_frames. * **-of csv=p=0** - sets the output formatting. * In this case it hides the descriptions and only shows the value. ---- ===== Get frame count from video file metadata ===== ffprobe -select_streams v:0 -show_entries stream=nb_frames -of default=noprint_wrappers=1 input.mp4 **WARNING:** Fast, but often returns N/A, not reliable. ---- ffprobe -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1 input.mp4 **WARNING:** Pretty slow, can take a minute for longer videos. ---- ffmpeg -i input.mp4 -map 0:v:0 -c copy -f null - **WARNING:** Needs to fully decode video once, which is rather slow. ----