Я подаю fls.txt
в ffmpeg -i
и применяю concat
и ускорение.
fls.txt
file 'input1.mp4'
file 'input2.mp4'
file 'input3.mp4'
Команда в одном go выглядит следующим образом :
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
Вывод действительно странный и говорит что-то вроде a
stream not found. И это также выглядит так, как будто он пытается понять сам fls.txt
, а не его содержимое в качестве параметров. Что я здесь не так делаю и как мне это исправить? Кроме того, это упрощенный пример, и я не могу написать на каждую руку 3 пути к входным файлам. Мне нужно, чтобы это было прочитано из файла. Я на 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.