如何从ffmpeg输出中提取持续时间?
要获取有关媒体文件的大量信息,可以做
ffmpeg -i <filename>
它会输出很多行,特别是一行
Duration: 00:08:07.98, start: 0.000000, bitrate: 2080 kb/s
我只想输出00:08:07.98
,所以我尝试
ffmpeg -i file.mp4 | grep Duration| sed 's/Duration: \(.*\), start/\1/g'
但是它可以打印所有内容,而不仅仅是长度。
甚至ffmpeg -i file.mp4 | grep Duration
输出所有内容。
如何获得持续时间长度?
回答:
ffmpeg正在将该信息写入,而stderr
不是stdout
。尝试这个:
ffmpeg -i file.mp4 2>&1 | grep Duration | sed 's/Duration: \(.*\), start/\1/g'
注意重定向stderr
到stdout
:2>&1
您的sed
陈述也不起作用。尝试这个:
ffmpeg -i file.mp4 2>&1 | grep Duration | awk '{print $2}' | tr -d ,
以上是 如何从ffmpeg输出中提取持续时间? 的全部内容, 来源链接: utcz.com/qa/405264.html