【发布时间】:2021-05-13 15:54:17
【问题描述】:
我在 FFMPEG 中遇到了一个特定文件的奇怪问题。当我尝试将其剪裁一点时,我得到:
[Parsed_crop_0 @ 000002ad60c27980] Invalid too big or non positive size for width '1920' or height '1040'
[Parsed_crop_0 @ 000002ad60c27980] Failed to configure input pad on Parsed_crop_0
Error reinitializing filters!
Failed to inject frame into filter network: Invalid argument
Error while processing the decoded data for stream #0:37
Conversion failed!
这对我来说很奇怪,因为您甚至可以从流元数据中看到分辨率要高得多:
Metadata:
encoder : libebml v1.4.0 + libmatroska v1.6.2
creation_time : 2021-02-09T22:45:47.000000Z
Duration: 02:17:48.93, start: 0.000000, bitrate: 8548 kb/s
Stream #0:0: Video: h264 (High), yuv420p(progressive), **1920x1080** [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
只有 1 个视频流。我正在运行以下命令:
ffmpeg -i "wedding.mkv" -filter:v "crop=1920:1040" -c:v libx264 -preset slow -tune film -profile:v high -level 4.1 -crf 19 -c:a copy -c:s copy -map 0 "wedding-cropped.mkv"
我可以使用以下命令预览裁剪而不会出现任何错误:
ffplay -i "wedding.mkv" -vf "crop=1920:960"
我之前已经裁剪了一些文件,没有问题。当视频文件的分辨率明显更高时,为什么在这种情况下会出现分辨率错误,我有点困惑。我还测试了降低裁剪后的分辨率,即使我将两者都降低了几百像素,它仍然会吐出相同的错误。有什么想法或建议吗?
【问题讨论】:
-
显示完整日志。