Python 3.7 - Moviepy обрезать аудио по длине видео - PullRequest
0 голосов
/ 04 октября 2019

Итак, у меня есть 7 .mp3 аудио файлов, соединенных вместе

audioFiles = [a for a in glob.glob(audioPath + "**/*.mp3", recursive=True)]
audios = []
for audio in audioFiles:
    audios.append(AudioFileClip(audio))

audioClip = concatenate_audioclips([audio for audio in audios])

и 14 .mp4 файлов, соединенных вместе

files = [f for f in glob.glob(path + "**/*.mp4", recursive=True)]
clips = []
for file in files:
    clips.append(VideoFileClip(file))
finalClip = concatenate_videoclips([clip for clip in clips])

Визуализация видео выглядит:

finalClip.audio = audioClip
finalClip.write_videofile("my_concatenation.mp4")

Но эти видеофайлы, соединенные вместе, для просмотра занимают всего 10 минут.

Программа расширяет видеоклип на 20 минут. Таким образом, видео занимает 30 минут с аудио + видео, а видео занимает 10 минут, и с тех пор минуты показывают последний кадр за последние 20 минут.

Как я могу сказать программе не растягивать видео?

1 Ответ

0 голосов
/ 07 октября 2019

@ McSinyx moviepy, по сути, является оберткой для ffmpeg, перестаньте давать людям советы по использованию другого программного обеспечения вместо того, чтобы фактически отвечать на вопрос. (Пишу здесь, потому что новая учетная запись и не может комментировать до 50rep)

Ответ на ваш вопрос заключается в том, что вы хотите использовать «CompositeVideoClip» вместо «concatenate_videoclips». Конкатенация добавляет их один за другим, поэтому будет воспроизводиться клип 1, затем клип 2 и т. Д. Композитный, с другой стороны, разместит их на одной и той же «дорожке», поэтому все они будут воспроизводиться одновременно. Чтобы разделить их, вам нужно добавить длительности и время начала. Думайте об этом как о обычном программном обеспечении для редактирования видео, где у вас есть разные дорожки, и вы можете добавлять видео и аудио на две разные дорожки, воспроизводимые одновременно. Пример ниже

video = CompositeVideoClip([clip1,clip2,audio1]

Узнайте больше об этом по следующей ссылке и не забудьте выбрать ответ, если это вам помогло :) https://zulko.github.io/moviepy/getting_started/compositing.html

...