有没有办法grep ffmpeg的不友好输出来将进度(时间/持续时间)变成变量?我已经在powershell上尝试了这个,但我似乎无法通过管道重定向获取ffmpeg的连续输出并在grep中使用--line-buffered
标志。
这是我提出的,但它只在编码过程完成后才会返回。
ffmpeg -i $input $output 2>&1 | grep --line-buffered -oP "(?<=time=)[0-9:]*"
答案 0 :(得分:0)
这可以帮助你开始
ffmpeg -i in.mp4 -v 0 -stats out.mp4 |& awk '{print $10}' RS='\r' FS='[ =]+'