Как прочитать длину видео файла из cmd
У меня есть куча mp4
файлы в папке, и я хочу создать текстовый файл со всеми именами и длиной файлов, как в:
01_Welcome.mp4 00.01.23
02_Tools.mp4 00.03.12
Я знаю, как прочитать имена файлов купить Как получить атрибут длины? Когда я щелкаю файл, длина отображается в строке состояния, поэтому должен быть способ прочитать это свойство. И я хотел бы сделать это из командной строки, а не через сторонний пакет.
2 ответа
В Ubuntu вы можете
ffmpeg -i myvideo 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,//
Но в Windows MediaInfo это единственный вариант
В Windows PowerShell вы можете сделать следующее, чтобы извлечь длину одного медиафайла:
$Folder = 'C:\Path\To\Parent\Folder'
$File = 'Video.mp4'
$LengthColumn = 27
$objShell = New-Object -ComObject Shell.Application
$objFolder = $objShell.Namespace($Folder)
$objFile = $objFolder.ParseName($File)
$Length = $objFolder.GetDetailsOf($objFile, $LengthColumn)
Перебор содержимого папки оставляем читателю в качестве упражнения.