Получите длительность видео в часах: минутах: секундах с точностью до секунды

Прямо сейчас я использую следующую команду, чтобы получить выходные данные продолжительности видео

ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -sexagesimal 'video file.mp4'

В результате получается 0: 33: 29.410000

Мне нужно этот результат изменился со следующим

  • Дополнительные 0 должны быть впереди 0: 33: 29.410000
  • Секунды должны быть округлены в большую или меньшую сторону. Окончательный результат должен быть 00:33:29
2
задан 21 May 2019 в 17:51

1 ответ

Используйте awk:

awk -F: '{printf "%02d:%02d:%02d\n",$1,$2,$3}'

или, если вы хотите проверить формат перед преобразованием, чтобы избежать ошибок:

awk -F: '/^[0-9]+:[0-9]+:[0-9]+/ {printf "%02d:%02d:%02d\n",$1,$2,$3}'
<час>
$ ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -sexagesimal 'video file.mp4' | awk -F: '{printf "%02d:%02d:%02d\n",$1,$2,$3}'
00:33:29
0
ответ дан 21 May 2019 в 17:51

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

Похожие вопросы: