У меня есть видео, из которого я пытаюсь сделать прыжки. Например, я хочу, чтобы выходные данные моей команды показывали кадр 5 исходного клипа для 30 кадров, а кадр 25 клипа OG - 30 кадров.
при условии, что клип OG равен 30 FPS
ffmpeg -t 1 -i og_clip.mp4 -filter_complex "
[0]select=eq(n\,5)[H1];[0][H1]overlay[O1];
[0]select=eq(n\,25)[H2];[0][H2]overlay[O2];
[O1][O2]concat=n=2[Merge]" -map "[Merge]" out.mp4
Выше не работает правильно.
То, что я делал до сих пор, было командой из двух частей:
ffmpeg -i og_clip.mp4 -vf "select=eq(n\,5)" -vframes 1 -y out_0.png
ffmpeg -i og_clip.mp4 -vf "select=eq(n\,25)" -vframes 1 -y out_1.png
ffmpeg -t 1 -i og_clip.mp4 -i out_0.png -i out_1.png -filter_complex "
[0][1]overlay[H1];[0][2]overlay[H2];
[H1][H2]concat=n=2[Merge]" -map "[Merge]" out.mp4
Который работал на меня. Единственная проблема в том, что процесс преобразования в png сначала для каждого кадра, который я хочу использовать, занимает слишком много времени. Я пытаюсь объединить все это в одну команду. Я полагаю, что кодирование png - это то, что занимает так много времени.
Любая помощь будет высоко ценится!