ffmpeg / avconv强制缩放的输出可被2整除


10

我用avconv(又名ffmpeg)录制桌面,然后将其缩放到720p。

我最近添加了我的脚本,以便他们可以使用xwininfo选择一个窗口,它将专门记录该窗口。

但是,如果输出格式不能被2整除,则编码器会出现异常,并且我无法获得视频。

有没有办法在ffmpeg内部修复此问题,所以我不必在bash中进行大量手动数学操作即可设置缩放比例值?

如果它们不均匀,是否可以使比例过滤器在宽度/高度中减去/增加一个?(回合?)

是否可以在可以完成此操作的原始比例之后应用另一个过滤器?(这将对输入大小不均且没有缩放比例的视频进行舍入)

#!/bin/bash
avconv \
-f x11grab -r $fps -s $capturesize -i :0.0$offset \
-vcodec libx264 \
-vf scale=-1:720 \
-pre:v lossless_ultrafast \
-threads 4 \
-y $@

一些旧的邮件列表建议round()您可以在过滤器中使用的功能,但我似乎语法不正确。如果它能正常工作scale=round(iw,2):round(ih,2),最后应用一个过滤器将立即解决我的所有问题。iw而且ih似乎不起作用。

Answers:




7

经过大量的实验,看起来在其他比例滤镜之后将应用以下滤镜将宽度和高度四舍五入。

scale=trunc(in_w/2)*2:trunc(in_h/2)*2

这基本上是一个除法,舍入,乘法运算,只是语法不正确。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.