Source code for moviepy.video.fx.TimeSymmetrize
from dataclasses import dataclass
from moviepy.Clip import Clip
from moviepy.Effect import Effect
[docs]
@dataclass
class TimeSymmetrize(Effect):
"""
Returns a clip that plays the current clip once forwards and
then once backwards. This is very practival to make video that
loop well, e.g. to create animated GIFs.
This effect is automatically applied to the clip's mask and audio
if they exist.
"""
[docs]
def apply(self, clip: Clip) -> Clip:
"""Apply the effect to the clip."""
if clip.duration is None:
raise ValueError("Attribute 'duration' not set")
return clip + clip[::-1]