我是ffmpeg的新手。
我想通过 ffmpeg 获取视频持续时间并将其声明为变量。我可以将值用于不同的功能。我正在使用电源外壳。
这是我的代码:
ffmpeg -i 1aef53e6-92ac-4d28-89f8-4cce28fa0f58.mp4 2>&1 | sed -n 's/Duration: \(.*\), start/\1/gp'
最佳答案
前提是你已经在 Windows PATH
中设置了 ffmpeg 的路径变量如解释 here ,这应该为您提供文件的持续时间值:
$filename = '1aef53e6-92ac-4d28-89f8-4cce28fa0f58.mp4'
$duration = if ((ffmpeg -i $filename 2>&1 | Out-String) -match 'Duration:\s+([\d:.]+)') { $matches[1] }
请注意,在此之后
$duration
是一个字符串。如果您需要创建
TimeSpan
这个对象,使用:$t = [TimeSpan]::Parse($duration)
关于powershell - 我们可以在ffmpeg ffprobe中声明一个变量吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61206537/