Как сделать незаметным стык, при соединение двух видео средствами ffmpeg?
Наверно многие знакомы с эффектом ping-pong-loop по видео с coub.com, когда участок видео доходит до конца и плавно начинает проигрыватся задом наперед, а потом вернуившись в начало, плавно проигрывается в прямом порядке.
В моем проекте мне нужно реализовать то же самое, но на стороне сервера.
В принципе я почти решил эту задачу, средствами ffmpeg. Сначала я создаю копию видео задом наперед, склеиваю ее с изначальным видео, а потом склеиваю получившийся врагмент несколько раз.
Все бы хорошо, но у меня никак не получается добится плавного перехода в местах склейки. Я уже попробывал срезать 1 кадр в конце каждого фрагмента. Стало лучше, но все равно не так гладко, как на coub.com.
Я пробывал два вариант склейки с безчисленным количеством параметров, но ничего не получается:
ffmpeg -f concat -i videos-list.txt -vcodec libx264 -y destination.mp4
и
ffmpeg -i source1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts temp1.ts
ffmpeg -i source2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts temp2.ts
ffmpeg -i 'concat:source1.mp4|source2.mp4' -c copy -bsf:a aac_adtstoasc destination.mp4