Как прочитать длину видео файла из 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)

Перебор содержимого папки оставляем читателю в качестве упражнения.

Источник

Другие вопросы по тегам