ffmpeg xfade для (сложный фильтр или фильтр выбора)

Мне нужно обрезать и объединить видео в одно. Мне нужно реализовать перекрестное затухание или любой плавный переход между каждым разрезом. Могу ли я реализовать и как реализовать плавный переход xfade или другого ffmpeg?

Я прочитал это из нескольких источников. Объединение нескольких видеофайлов с фильтром ffmpeg и xfade Но я все еще не могу сгенерировать рабочий код

Ниже приведен пример команды и раздела видео, которые мне нужно обрезать.

ffmpeg -y -i example.mp4 -filter_complex 
"[0:v]trim=start=0.1:end=0.7333333333333333,setpts=PTS-STARTPTS[v0];
[0:v]trim=start=1.2333333333333334:end=4.8,setpts=PTS-STARTPTS[v0];
[0:v]trim=start=4.966666666666667:end=10.466666666666667,setpts=PTS-STARTPTS[v0];
[0:v]trim=start=10.6:end=13.066666666666666,setpts=PTS-STARTPTS[v0];
[0:v]trim=start=13.733333333333333:end=17.333333333333332,setpts=PTS-STARTPTS[v0];
[0:v]trim=start=39.9:end=40.56666666666667,setpts=PTS-STARTPTS[v0];
[0:a]atrim=start=0.1:end=0.7333333333333333,asetpts=PTS-STARTPTS[a0];
[0:a]atrim=start=1.2333333333333334:end=4.8,asetpts=PTS-STARTPTS[a1];
[0:a]atrim=start=4.966666666666667:end=10.466666666666667,asetpts=PTS-STARTPTS[a2];
[0:a]atrim=start=10.6:end=13.066666666666666,asetpts=PTS-STARTPTS[a3];
[0:a]atrim=start=13.733333333333333:end=17.333333333333332,asetpts=PTS-STARTPTS[a4];
[0:a]atrim=start=39.9:end=40.56666666666667,asetpts=PTS-STARTPTS[a5]; 
[v0] [a0] [v1] [a1] [v2] [a2] [v3] [a3] [v4] [a4] [v5] [a5] [a0] [a1] [a2] [a3] [a4] [a5]concat=n=6:v=1:a=1 [out]" 
-map "[out]" example_COMPLEX.mp4

Я создаю этот файл сценария с эффектом xfade

ffmpeg -y -i example.mp4 -filter_complex 
"[0:v]trim=start=0.1:end=0.7333333333333333,setpts=PTS-STARTPTS[v0];
[0:v]trim=start=1.2333333333333334:end=4.8,setpts=PTS-STARTPTS[v1];
[0:v]trim=start=4.966666666666667:end=10.466666666666667,setpts=PTS-STARTPTS[v2];
[0:v]trim=start=10.6:end=13.066666666666666,setpts=PTS-STARTPTS[v3];
[0:v]trim=start=13.733333333333333:end=17.333333333333332,setpts=PTS-STARTPTS[v4];
[0:v]trim=start=39.9:end=40.56666666666667,setpts=PTS-STARTPTS[v5];
[0:a]atrim=start=0.1:end=0.7333333333333333,asetpts=PTS-STARTPTS[a0];
[0:a]atrim=start=1.2333333333333334:end=4.8,asetpts=PTS-STARTPTS[a1];
[0:a]atrim=start=4.966666666666667:end=10.466666666666667,asetpts=PTS-STARTPTS[a2];
[0:a]atrim=start=10.6:end=13.066666666666666,asetpts=PTS-STARTPTS[a3];
[0:a]atrim=start=13.733333333333333:end=17.333333333333332,asetpts=PTS-STARTPTS[a4];
[0:a]atrim=start=39.9:end=40.56666666666667,asetpts=PTS-STARTPTS[a5];
[v0][v1]xfade=transition=fade:duration=0.5:offset=8.2[x1];
[x1][v2]xfade=transition=fade:duration=0.5:offset=8.2[x2];
[x2][v3]xfade=transition=fade:duration=0.5:offset=10.166666666666666[x3];
[x3][v4]xfade=transition=fade:duration=0.5:offset=13.266666666666666[x4];
[x4][v5]xfade=transition=fade:duration=0.5:offset=13.433333333333337,format=yuv420p[video]; 
[a0] [a1] [a2] [a3] [a4] [a5]concat=n=6:v=1:a=1 [out]" 
-map "[video]" -map "[out]" example_COMPLEX.mp4 

Но есть сообщение об ошибке

[Parsed_asetpts_13 @ 0000014db55ea140] Media type mismatch between the 'Parsed_asetpts_13' filter output pad 0 (audio) and the 'Parsed_concat_30' filter input pad 0 (video)
[AVFilterGraph @ 0000014db5414580] Cannot create the link asetpts:0 -> concat:0
Error initializing complex filters.
Invalid argument

person Ming Zhong Tan    schedule 24.12.2020    source источник
comment
нет видео в соединении: concat=n=6:v=0:a=1   -  person Баяр Гончикжапов    schedule 25.12.2020
comment
да, это сработает, если я добавлю concat=n=6:v=0:a=1, но только последняя обрезка имеет перекрестное затухание, другое просто похоже на стоп-кадр, могу ли я узнать, как добавить фильтр xfade или любой другой между каждым вырезом? Я пробовал это и читал документацию, но, похоже, это не сработало.   -  person Ming Zhong Tan    schedule 25.12.2020
comment
неправильные смещения для фильтров xfade. должны быть инкрементными значениями: для первого видео: продолжительность видео - продолжительность xfade = смещение (0,733-0,1) - 0,5 = 0,133, 2-е видео: 0,133 + (4,8-1,233) - 0,5 = 3,2, 3-е видео: 3,2 + (10,466-4,966) ) - 0,5 = 8,2 и т.д...   -  person Баяр Гончикжапов    schedule 25.12.2020
comment
Привет, это предыдущее смещение + текущая продолжительность (- предыдущее время окончания - продолжительность смещения) = текущее смещение?   -  person Ming Zhong Tan    schedule 29.12.2020
comment
Да, со второго видео до конца. Предыдущее смещение + (время окончания - время начала) - продолжительность xfade = текущее смещение   -  person Баяр Гончикжапов    schedule 29.12.2020