FORUMS: list search recent posts

How to analyze video files?

COW Forums : FFmpeg

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
Pei Jia
How to analyze video files?
on Jul 28, 2012 at 11:33:30 am

Hi, all:

Again, I'd love to ask this question.
It's convenient for me to encode a video file from multiple .jpg files, for example:
[code]$ ffmpeg -i %3d.jpg video.mpg[/code]
However, how can I use ffmpeg command (or other commands) to analyse how many frames in such a .mpg file? It may have something to do with how I encode (for example, the framerate, etc.), right? But, the default encoding shouldn't change the number of frames in such a encoded .mpg file, right?

Anyway, can anybody please help how I can analyse a video file ---- how many frames (better, both audio and video streams) in such a video file?

Thank you very much.

Best Regards

Return to posts index

stephen dixon
Re: How to analyze video files?
on Jul 28, 2012 at 2:08:33 pm

The frame rate changes how many frames get played every second. It doesn't change the number of frames. So if you have 300 frames and you set the frame rate to 30fps then it will last 10 seconds, but if you set the frame rate to 25fps it will last 12 seconds, or 30 seconds at 10fps.

As for analysng the movie, ffmpeg comes with ffprobe, which is a tool for analysing movies. It will tell you the duration of the movie and the frame rate, in the form hh:mm:ss:ff and using that you can find how many frames there are.

Stephen Dixon
Editor, Animator, Motionographer
Museum Victoria

Return to posts index

Pei Jia
Re: How to analyze video files?
on Jul 28, 2012 at 7:58:36 pm

Hi, Thank you Stephen !!
Thanks...very clear answer...

pei@pei-GA-870A-UD3:~/Videos$ ffprobe emount.mpg
avprobe version 0.8.3-4:0.8.3-0ubuntu0.12.04.1, Copyright (c) 2007-2012 the Libav developers
built on Jun 12 2012 16:37:58 with gcc 4.6.3
[mpeg @ 0x85faa80] max_analyze_duration reached
Input #0, mpeg, from 'emount.mpg':
Duration: 00:00:10.68, start: 1.000000, bitrate: 998 kb/s
Stream #0.0[0x1e0]: Video: mpeg1video, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc

The above code is telling the duration is 10.68 seconds, and 25fps. Totally, there should be 25*10.68=267 frames, right? However, there should be 267+1=268 frames. The command I'm using to generate such a video file from 268 .jpg files is

$ ffmpeg -i %3d.jpg video.mpg

And, there are definitely 268 files:

pei@pei-GA-870A-UD3:~/Videos/all$ ls -a
. 019.jpg 039.jpg 059.jpg 079.jpg 099.jpg 119.jpg 139.jpg 159.jpg 179.jpg 199.jpg 219.jpg 239.jpg 259.jpg
.. 020.jpg 040.jpg 060.jpg 080.jpg 100.jpg 120.jpg 140.jpg 160.jpg 180.jpg 200.jpg 220.jpg 240.jpg 260.jpg
001.jpg 021.jpg 041.jpg 061.jpg 081.jpg 101.jpg 121.jpg 141.jpg 161.jpg 181.jpg 201.jpg 221.jpg 241.jpg 261.jpg
002.jpg 022.jpg 042.jpg 062.jpg 082.jpg 102.jpg 122.jpg 142.jpg 162.jpg 182.jpg 202.jpg 222.jpg 242.jpg 262.jpg
003.jpg 023.jpg 043.jpg 063.jpg 083.jpg 103.jpg 123.jpg 143.jpg 163.jpg 183.jpg 203.jpg 223.jpg 243.jpg 263.jpg
004.jpg 024.jpg 044.jpg 064.jpg 084.jpg 104.jpg 124.jpg 144.jpg 164.jpg 184.jpg 204.jpg 224.jpg 244.jpg 264.jpg
005.jpg 025.jpg 045.jpg 065.jpg 085.jpg 105.jpg 125.jpg 145.jpg 165.jpg 185.jpg 205.jpg 225.jpg 245.jpg 265.jpg
006.jpg 026.jpg 046.jpg 066.jpg 086.jpg 106.jpg 126.jpg 146.jpg 166.jpg 186.jpg 206.jpg 226.jpg 246.jpg 266.jpg
007.jpg 027.jpg 047.jpg 067.jpg 087.jpg 107.jpg 127.jpg 147.jpg 167.jpg 187.jpg 207.jpg 227.jpg 247.jpg 267.jpg
008.jpg 028.jpg 048.jpg 068.jpg 088.jpg 108.jpg 128.jpg 148.jpg 168.jpg 188.jpg 208.jpg 228.jpg 248.jpg 268.jpg
009.jpg 029.jpg 049.jpg 069.jpg 089.jpg 109.jpg 129.jpg 149.jpg 169.jpg 189.jpg 209.jpg 229.jpg 249.jpg
010.jpg 030.jpg 050.jpg 070.jpg 090.jpg 110.jpg 130.jpg 150.jpg 170.jpg 190.jpg 210.jpg 230.jpg 250.jpg
011.jpg 031.jpg 051.jpg 071.jpg 091.jpg 111.jpg 131.jpg 151.jpg 171.jpg 191.jpg 211.jpg 231.jpg 251.jpg
012.jpg 032.jpg 052.jpg 072.jpg 092.jpg 112.jpg 132.jpg 152.jpg 172.jpg 192.jpg 212.jpg 232.jpg 252.jpg
013.jpg 033.jpg 053.jpg 073.jpg 093.jpg 113.jpg 133.jpg 153.jpg 173.jpg 193.jpg 213.jpg 233.jpg 253.jpg
014.jpg 034.jpg 054.jpg 074.jpg 094.jpg 114.jpg 134.jpg 154.jpg 174.jpg 194.jpg 214.jpg 234.jpg 254.jpg
015.jpg 035.jpg 055.jpg 075.jpg 095.jpg 115.jpg 135.jpg 155.jpg 175.jpg 195.jpg 215.jpg 235.jpg 255.jpg
016.jpg 036.jpg 056.jpg 076.jpg 096.jpg 116.jpg 136.jpg 156.jpg 176.jpg 196.jpg 216.jpg 236.jpg 256.jpg
017.jpg 037.jpg 057.jpg 077.jpg 097.jpg 117.jpg 137.jpg 157.jpg 177.jpg 197.jpg 217.jpg 237.jpg 257.jpg
018.jpg 038.jpg 058.jpg 078.jpg 098.jpg 118.jpg 138.jpg 158.jpg 178.jpg 198.jpg 218.jpg 238.jpg 258.jpg
pei@pei-GA-870A-UD3:~/Videos/all$ ls -l *.jpg | wc -l

Why ffprobe can only find 267 frames?

Ooops.. On the other hand, if I generate in .avi or .mp4 format (instead of in .mpg format), the duration will be 10.72 seconds at 25 fps, that will be 10.72*25=268 frames in total.

Anyway, it seems ffprobe has some problem in analysing .mpg files.

Thanks Stephen. Thank you very much !!


Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2018 All Rights Reserved