我正在整理一个 bash 脚本来运行电影渲染作业。ffmpeg
期望多行文本文件作为连接过滤器的参数之一,以将多个文件合并为一个。像这样:
ffmpeg -f concat -i mylist.txt -c copy output
还有一个选项可以将它们全部写在一行中,如下所示:
ffmpeg -f concat -i <(printf "file '%s'\n" A.mp4 B.mp4) -c copy Output.mp4
如何将后者写入 bash 脚本,用其他变量替换文件名?尝试拆分变量,但它不是有效的。变量包含输入文件的路径$A
。$B
#!/bin/bash
...
TMP_LIST=$(printf "file '%s'\n" ${A} ${B})
APPEND="${FFMPEG} -f concat -i <<< {${TMP_LIST}} -c copy ${OUTPUT}"
# run the concatenation:
$APPEND