How do I list video files resolution?

I want to get a list of all my video files (mkv, mp4, avi etc) and their resolution, so I can see which SD video files need to be upgraded to HD. I mainly need a method (or a program) for windows, but OSX would be fine too.

I know Linux users can use this:

find . -name "*.mkv" -execdir mediainfo {} \; | egrep "(Complete name|Width|Height)"

Solution 1:

For Windows Vista (other versions can have similar features):

If you need to see it for just one file, you can see it in the Details pane at the bottom.

If you need to see it for several files, follow 1, 2, 3* in the screenshot, then choose 'Frame height' and 'Frame width' to enable these columns. (Tip: You can type the column names in the long list to scroll to them quickly.)

enter image description here

* right-click on header to get the menu

Solution 2:

You can also install mediainfo on OS X with for example brew install mediainfo.

for f in *;do mediainfo "$f"|awk '$0~/Width|Height/{gsub(/[^0-9]/,"");printf("%s ",$0)}';echo "$f";done

Or install ffmpeg and use ffprobe:

mdfind kMDItemContentTypeTree=public.movie -onlyin .|while read f;do ffprobe -v 0 "$f" -show_streams -of csv|head -n1|cut -d, -f10,11|tr '\n' ,;echo "$f";done

You might try changing -of (output format) to flat, json, or xml. -v 0 is equivalent to -loglevel quiet.

file only displayed the dimensions for about half of the video files I tested it with. mdls displayed the dimensions for even fewer files.