首页 > 解决方案 > FFMPEG 返回负值并停止渲染

问题描述

在尝试从任何分辨率输入获得 16:9 纵横比输出时,我一直遇到错误。

这就是我提示的:

ffmpeg -i "input.mp4" -i "overlay.png" -strict -2 -vcodec h264 -aspect 16:9 -filter_complex "[0]scale=604:-2,pad=604:340:(604-iw)/2:(340-ih)/2[v];[v][1]overlay=x=W-w-5:y=H-h-5" -an "output.mp4"

错误是:

[0] => [Parsed_pad_1 @ 0xeffca0] Negative values are not acceptable.
[1] => [Parsed_pad_1 @ 0xeffca0] Failed to configure input pad on Parsed_pad_1
[2] => Error configuring complex filters.
[3] => Invalid argument

我很高兴得到任何帮助。

标签: ffmpeg

解决方案


如果您的输入尺寸大于焊盘目标,则过滤器设置将失败。应该改进错误消息。

作为一种解决方法,使用

pad=604:max(340\,ih):-1:-1

告诉过滤器将-1输入在填充框架中沿该维度居中。


推荐阅读