Я пытаюсь создать более короткую версию 10-минутного исходного видеофайла.mp4, который включает в себя только четыре 10-секундных фрагмента исходного файла (то есть с секунд 10 до 20; с 197 по 207; с 393 до 403; с 570 до 580). До сих пор я мог создать только 4 новых файла, копирующих видео и аудио:
ffmpeg -i videofile.mp4 -vcodec copy -acodec copy -ss 10 -to 20 videofile1.mp4 -vcodec copy -acodec copy -ss 197 -to 207 videofile2.mp4 -vcodec copy -acodec copy -ss 393 -to 403 videofile3.mp4 -vcodec copy -acodec copy -ss 570 -to 580 videofile4.mp4
Однако у меня возникли серьезные проблемы при объединении этих 4 подклипов для генерации желаемых 40 секунд out_videofile.mp4. Я нашел этот альтернативный подход, использующий команду "select" в ffmpeg, которая спасает меня от моего "неудачного" процесса конкатенации. Пока что у меня есть:
ffmpeg -i videofile.mp4 -vf "select='between(t,10,20)+between(t,197,207)+between(t,393,403)+between(t,570,580)',setpts=N/FRAME_RATE/TB" -af "aselect='between(t,10,20)+between(t,197,207)+between(t,393,403)+between(t,570,580)" out_videofile.mp4
Полагаю, этот последний код должен дать мне 40 с out_videofile.mp4, который я хочу. Тем не менее, это дает мне «SyntaxError: неверный синтаксис». Есть идеи, где я ошибаюсь?
Спасибо за ваше время в любом случае.