Das geht mit der Hilfe von AppleScript

das script erzeugt eine Datei Movie Data.txt auf dem Schreibtisch.
Die Zeilen sind Tab-getrennt und enthalten Name, Grösse und Dauer der Filme in ~/Pictures

Show Plain Text
  1. set moviesFolder to path to movies folder
  2. set movieList to {}
  3. tell application "System Events"
  4.   set allFiles to files of moviesFolder whose kind contains "movie" or kind is "MPEG-4 File"
  5.   repeat with aFile in allFiles
  6.     set {natural dimensions:dim, duration:dur, time scale:timeScale} to contents of movie file (path of aFile)
  7.     set hms to my secsToHMS(dur / timeScale)
  8.     set end of movieList to {name of aFile & tab & ((item 3 of dim as text) & "x" & item 4 of dim as text) & tab & hms}
  9.   end repeat
  10. end tell
  11. set {TID, text item delimiters} to {text item delimiters, linefeed}
  12. set movieList to movieList as text
  13. set text item delimiters to TID
  14.  
  15. set filePath to POSIX path of (path to desktop as text) & "Movie Data.txt"
  16. try
  17.   set fileDescriptor to open for access filePath with write permission
  18.   write movieList to fileDescriptor
  19.   close access fileDescriptor
  20. on error
  21.   try
  22.     close access filePath
  23.   end try
  24. end try
  25.  
  26. on secsToHMS(secs)
  27.   tell secs to return (it div hours as text) & ":" & my padZero(it mod hours div minutes) & ":" & my padZero(it mod hours mod minutes div 1)
  28. end secsToHMS
  29.  
  30. on padZero(v)
  31.   return text -2 thru -1 of ("0" & v)
  32. end padZero


Für einen beliebigen Ordner ersetze
Show Plain Text
  1. set moviesFolder to path to movies folder

durch
Show Plain Text
  1. set moviesFolder to (choose folder)



Edit:

Hier noch eine wesentlich schnellere Version mit AppleScriptObjC und dem AVFoundation framework

Show Plain Text
  1. use AppleScript version "2.4" -- Yosemite (10.10) or later
  2. use framework "Foundation"
  3. use framework "AVFoundation"
  4. use scripting additions
  5.  
  6. property |⌘| : a reference to current application
  7.  
  8. set moviesFolder to path to movies folder
  9. set movieList to {}
  10. tell application "Finder" to set allURLs to URL of files of moviesFolder
  11. set dateFormatter to |⌘|'s NSDateComponentsFormatter's alloc()'s init()
  12. repeat with anURL in allURLs
  13.   set foundationURL to (|⌘|'s NSURL's URLWithString:anURL)
  14.   set fileName to foundationURL's lastPathComponent() as text
  15.   set asset to (|⌘|'s AVAsset's assetWithURL:foundationURL)
  16.   if asset's isReadable() as boolean then
  17.     set tracks to (asset's tracksWithMediaType:(|⌘|'s AVMediaTypeVideo))
  18.     set firstTrack to (tracks's objectAtIndex:0)
  19.     set {width, height} to firstTrack's naturalSize() as list
  20.     set trackTiming to firstTrack's timeRange() as list
  21.     set {tSeconds, tScale, a, b} to item 2 of trackTiming
  22.     set hms to (dateFormatter's stringFromTimeInterval:(tSeconds / tScale))
  23.     set end of movieList to {fileName & tab & (width as integer as text) & "x" & (height as integer as text) & tab & hms}
  24.   end if
  25. end repeat
  26.  
  27. set {TID, text item delimiters} to {text item delimiters, linefeed}
  28. set movieList to movieList as text
  29. set text item delimiters to TID
  30.  
  31. set filePath to POSIX path of (path to desktop as text) & "Movie Data.txt"
  32. try
  33.   set fileDescriptor to open for access filePath with write permission
  34.   write movieList to fileDescriptor
  35.   close access fileDescriptor
  36. on error
  37.   try
  38.     close access filePath
  39.   end try
  40. end try
----------
Gruss

Stefan