Объединить файлы mp4

Я хочу соединить около 15 45-секундных клипов вместе, встык. Эти клипы могут иметь разное разрешение (большинство из них 1080 или 720), но все они являются файлами в формате mp4.

я пробовал оба

concatenate_videoclips(clips,method='compose')
concatenate_videoclips(clips,method='chain')

from moviepy, но ни один из них не подходит для меня, поскольку 'compose' полагается на то, что все файлы имеют одинаковое разрешение, а это не так, а цепочка занимает слишком много времени и иногда вызывает ошибки.

Я также пробовал использовать ffmpeg с:

ffmpeg -i clip1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts

для каждого клипа, а затем объединяются с:

ffmpeg -i "concat:intermediate1.ts|intermediate2.ts|...|intermediate15.ts" -c copy -bsf:a aac_adtstoasc output.mp4

но этот метод, похоже, вызвал проблему со звуком, я полагаю, из-за сжатия без потерь при изменении типа файла. На протяжении всего видео периодически бывают эти странные паузы звука.

я также пробовал ffmpeg

ffmpeg -f concat -safe 0 -i clipsfile.txt -c copy output.mp4

где clipsfile.txt выглядит как

file clip1.mp4
file clip2.mp4
...
file clip15.mp4

когда я запускаю это, он работает, но у меня есть ошибка звука, когда некоторые клипы (часто идут парами), где один клип молчит, а затем следующий клип воспроизводит звук из предыдущего клипа, но из первого клипа короче звук вернется к второй клип записывает звук в правильное время, поэтому мне кажется, что звук перекрывается и заставляет его замолчать, а затем, когда перекрытие прекращается, он возвращается в нормальное состояние.

Мы очень благодарны за любые предложения по исправлению любого из этих вопросов, дополнительную информацию или рекомендации в отношении других действий.


person jap101    schedule 19.06.2020    source источник


Ответы (1)


clip = concatenate_videoclips (new_path, method = compose) clips.write_videofile (C: /Users/unknown/Desktop/movie/temp.mp4,preset='ultrafast',thread=8,codec='libx264 ')

person nithin    schedule 17.07.2020