编码时,FFmpeg 每秒打印一个新行并显示进度,例如
frame= 31 fps=0.0 q=0.0 size= 152kB time=00:00:00.72 bitrate=1726.3kbits/s
frame= 59 fps= 57 q=0.0 size= 175kB time=00:00:01.90 bitrate= 751.1kbits/s
frame= 89 fps= 58 q=0.0 size= 204kB time=00:00:03.04 bitrate= 549.8kbits/s
对于大文件,这些行很快就会填满控制台屏幕。如果可能的话,我希望在一行上看到进度,也就是说每一秒同一行都会被更新的进度覆盖。
答案1
至少在 Windows 上,FFmpeg 需要 85 列才能正确打印进度。我使用注册表设置了此项
sp hkcu:console WindowSize 0x00190055 -t dword
sp hkcu:console ScreenBufferSize 0x03e80055 -t dword