使用FFmpeg处理部分WebM视频时出现“Error reinitializing filters!”错误求助
解决FFmpeg处理WebM视频时的滤镜识别错误
问题根源
你遇到的No such filter: '“scale'错误,是因为命令中使用了中文双引号(“”),FFmpeg会把开头的“scale识别成一个不存在的滤镜名称,而非正确解析整个滤镜链参数。之前部分视频能成功处理,大概率是当时命令用的是英文引号,或者复制时没有带入中文引号。
解决方法
1. 修正单个视频的命令
将命令里的中文双引号替换为**英文双引号("")**或英文单引号(''),正确命令如下:
ffmpeg -i input.webm -vf "scale=w=360:h=270:force_original_aspect_ratio=2,fps=10,crop=360:270" output.webm
或者使用单引号:
ffmpeg -i input.webm -vf 'scale=w=360:h=270:force_original_aspect_ratio=2,fps=10,crop=360:270' output.webm
2. 批量处理十余份视频
如果是在Linux/macOS环境下,可以用Shell脚本批量处理当前目录下所有WebM文件,处理后的文件会添加processed_前缀:
for file in *.webm; do ffmpeg -i "$file" -vf "scale=w=360:h=270:force_original_aspect_ratio=2,fps=10,crop=360:270" "processed_$file" done
Windows环境下可以用批处理脚本(.bat):
@echo off for %%f in (*.webm) do ( ffmpeg -i "%%f" -vf "scale=w=360:h=270:force_original_aspect_ratio=2,fps=10,crop=360:270" "processed_%%f" )
3. 验证
先拿一份之前报错的视频用修正后的命令单独测试,确认能正常转换后,再执行批量处理脚本。
内容的提问来源于stack exchange,提问作者The Blind Hawk
相关产品推荐
相关产品推荐

