我正在尝试使用bash将生成的过滤器链传递给ffmpeg,如下所示:
FILTER="-filter_complex \"...\""
ffmpeg -i ... $FILTER ...
然而,ffmpeg并不喜欢这样,告诉我
没有这样的过滤器:'''
那么,我如何正确设置变量以进行适当的替换呢?
答案 0 :(得分:1)
您需要将-filter_complex
和...
部分作为两个单独的参数传递,但是您需要...
部分保持不变(作为单个参数 - 不要用空格分割,没有经过文件名扩展等。)。
实现这一目标的最佳方法是使用数组,然后在双引号内使用${arrayname[@]}
表示法扩展它:
FILTER=(-filter_complex '...')
ffmpeg -i ... "${FILTER[@]}" ...