我正在将 fls.txt
文件输入到 ffmpeg -i
中,并应用 concat
和加速处理。
fls.txt
file 'input1.mp4'
file 'input2.mp4'
file 'input3.mp4'
一次性运行的命令如下:
ffmpeg -i fls.txt \
-filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a] concat=n=3:v=1:a=1 [v][a];\
[v]setpts=0.5*PTS[v1];[a]atempo=2,asetpts=N/SR/TB[a1]" \
-c:v h264_nvenc -map "[v1]" -map "[a1]" x2.mp4
输出结果非常奇怪,显示出类似于“找不到流”的信息。同时它似乎试图理解 fls.txt 本身,而不是其内容作为参数传入。 我在这里做错了什么,如何纠正错误?由于这只是一个简单的例子,我无法手动编写三个输入文件路径。我需要从文件中读取它们。如果有影响的话,我的操作系统是 Windows 10。
编辑:根据建议进行编辑并扩展 -filter_complex 后,出现了以下错误。
ffmpeg -f concat -safe 0 -i fls.txt \
-filter_complex "[0:v]setpts=0.5*PTS[v1];[v1]setpts=0.5*PTS[v2];[0:a]atempo=2,asetpts=N/SR/TB[a1];[a1]atempo=2,asetpts=N/SR/TB[a2]" \
-c:v h264_nvenc -map "[v1]" -map "[a1]" x2.mp4 \
-c:v h264_nvenc -map "[v2]" -map "[a2]" x4.mp4
错误:
Output with label 'v1' does not exist in any defined filter graph, or was already used elsewhere.