获取视频长度(以小时:分钟:秒为单位)并将结果四舍五入为秒

获取视频长度(以小时:分钟:秒为单位)并将结果四舍五入为秒

现在我正在使用以下命令来获取视频时长的输出

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

答案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

相关内容