gpt4 book ai didi

ffmpeg - 使用 libav 过滤器缩放视频时出错

转载 作者:行者123 更新时间:2023-12-04 14:29:50 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





FFMPEG (libx264) "height not divisible by 2"

(7 个回答)


5年前关闭。




我需要批量处理一堆视频以将它们的高度缩放到 240,同时保持纵横比不变。几乎完成工作的命令是:

$ avconv -threads 4 -ss 0.0 -i input.avi \
-map 0:0,0:0 -map 0:1,0:1 -vf "scale=-1:240" -y -f mpegts \
-async -1 -vcodec libx264 -vcodec libx264 -flags2 +fast \
-flags +loop -g 30 -bufsize 1024k \
-b 200k -bt 220k -qmax 48 -qmin 2 -r 20 -acodec libmp3lame \
-ab 44k -ar 44100 -ac 2 output.ts

如您所见,有趣的部分是 -vf "scale=-1:240"
这适用于缩放输出宽度为偶数的视频。否则,我会收到以下错误消息:
[libx264 @ 0x7fc4f8821e00] width not divisible by 2 (341x240)

我该如何克服呢?

编辑:
据此 link ,我尝试使用 -vf "scale=trunc(oh/a/2)*2:240"它输出一部电影,但生成的视频质量真的很差。

编辑#2:
这是 不是重复的因为它被错误地标记了。这个问题比另一个问题更早发布。

最佳答案

更新;您现在可以使用:

-vf scale=-2:240

Is there a good list of mp4 supported resolutions and a way to have ffmpeg calculate the width after modifying by set height ratio?

该链接实际上说:

scale="854:trunc(ow/a/2)*2"

正确地将高度缩放为偶数,如果您想缩放
宽度你必须使用这个成语:

-vf scale="trunc(oh*a/2)*2:240"
# ^
# /
# notice ---

背后的数学:

iw   ow
-- = --
ih oh

ow = (iw * oh) / ih
ow = oh * a

关于ffmpeg - 使用 libav 过滤器缩放视频时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16399750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com