【发布时间】:2020-07-29 12:28:09
【问题描述】:
我正在使用 ffmpeg 获取一些文件持续时间 下面是我的代码
$filename = '1aef53e6-92ac-4d28-89f8-4cce28fa0f58.mp4'
$duration = if ((ffmpeg -i $filename 2>&1 | Out-String) -match 'Duration:\s+([\d:.]+)') { $matches[1] }
实际输出是这样的 H :M :S :F 00:00:00.00
我需要像这样的输出 00:00:00:00 在秒和帧之间,有一个“.”句号,我需要它是一个“:”
有什么建议吗?
【问题讨论】:
-
使用 ffprobe,而不是 ffmpeg。 ffmpeg 的输出并不意味着机器解析。请参阅我在上一个问题中的回答:Can we declare a variable in ffmpeg ffprobe,然后使用 Windows 等效的
sed将.更改为:,(或者以秒为单位输出持续时间)。 -
@llogan 非常感谢
标签: powershell ffmpeg format duration ffprobe