Как применить прозрачность к клипам в moviepy? - PullRequest
0 голосов
/ 16 апреля 2020

Итак, я пытаюсь создать клип с moviepy, где пять полупрозрачных клипов накладываются друг на друга с помощью CompositeVideoClip.

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

Мой код выглядит примерно так:

from moviepy.editor import *

clip_1 = VideoFileClip('some\\path\\here.mp4')
clip_2 = VideoFileClip('some\\path\\here.mp4')
clip_3 = VideoFileClip('some\\path\\here.mp4')
clip_4 = VideoFileClip('some\\path\\here.mp4')
clip_5 = VideoFileClip('some\\path\\here.mp4')

list_of_clips = [clip_1, clip_2, clip_3, clip_4, clip_5]

for index, clip in enumerate(list_of_clips):
    list_of_clips[index] = clip.set_opacity(.20)

output_clip = CompositeVideoClip(list_of_clips)

output_clip.write_videofile('some\\path\\here.mp4')

Код работает нормально, за исключением прозрачности.

Ни то, ни другое это работает:

clip = VideoFileClip(some\\path\\here.mp4).set_opacity(.30)

clip.write_videofile(some\\path\\here.mp4)

Экспорт работает нормально, но клип полностью непрозрачен.

Есть предложения о том, как добиться прозрачности в выходных клипах?

1 Ответ

0 голосов
/ 16 апреля 2020

формат mp4 (я полагаю, h264) не обеспечивает прозрачность. webM (vp9) и некоторые варианты h265 действительно обеспечивают прозрачность.

Я не совсем уверен, что вы пытаетесь сделать - но, возможно, создаете наложенные видео как webm (прозрачность поддерживается) - и затем конвертируете в h264 на конец может работать на вас.

...