示例#1
0
def test_deprecated_version_of(old_name):
    def to_file(*args, **kwargs):
        return

    func = tools.deprecated_version_of(to_file, old_name)

    expected_warning_message = (
        f"MoviePy: The function ``{old_name}`` is deprecated and is kept"
        " temporarily for backwards compatibility.\nPlease use the new name"
        f", ``{to_file.__name__}``, instead.")

    with pytest.warns(PendingDeprecationWarning) as record:
        func(1, b=2)

    assert len(record) == 1
    assert record[0].message.args[0] == expected_warning_message
示例#2
0
            name, ext = os.path.splitext(os.path.basename(filename))
            try:
                codec = extensions_dict[ext[1:]]['codec'][0]
            except KeyError:
                raise ValueError("MoviePy couldn't find the codec associated "
                       "with the filename. Provide the 'codec' parameter in "
                       "write_videofile.")

        return ffmpeg_audiowrite(self, filename, fps, nbytes, buffersize,
                                 codec=codec, bitrate=bitrate, write_logfile=write_logfile,
                                 verbose=verbose, ffmpeg_params=ffmpeg_params,
                                 progress_bar=progress_bar)


# The to_audiofile method is replaced by the more explicit write_audiofile.
AudioClip.to_audiofile = deprecated_version_of(AudioClip.write_audiofile,
                                               'to_audiofile')
###

class AudioArrayClip(AudioClip):
    """
    
    An audio clip made from a sound array.
    
    Parameters
    -----------
    
    array
      A Numpy array representing the sound, of size Nx1 for mono,
      Nx2 for stereo.
       
    fps
示例#3
0
        result = CompositeVideoClip([
            c.set_start(t).set_position('center') for (c, t) in zip(clips, tt)
        ],
                                    size=(w, h),
                                    bg_color=bg_color,
                                    ismask=ismask)
    else:
        raise Exception("Moviepy Error: The 'method' argument of "
                        "concatenate_videoclips must be 'chain' or 'compose'")

    result.tt = tt

    result.start_times = tt[:-1]
    result.start, result.duration, result.end = 0, tt[-1], tt[-1]

    audio_t = [(c.audio, t) for c, t in zip(clips, tt) if c.audio is not None]
    if len(audio_t) > 0:
        result.audio = CompositeAudioClip([a.set_start(t) for a, t in audio_t])

    fpss = [c.fps for c in clips if hasattr(c, 'fps') and c.fps is not None]
    if len(fpss) == 0:
        result.fps = None
    else:
        result.fps = max(fpss)

    return result


concatenate = deprecated_version_of(concatenate_videoclips,
                                    oldname="concatenate")
示例#4
0
        """

        for attr in apply_to:
            if hasattr(self, attr):
                a = getattr(self, attr)
                if a != None:
                    new_a = a.fl_time(time_func)
                    setattr(self, attr, new_a)


###
#
# The old functions to_videofile, to_gif, to_images sequences have been
# replaced by the more explicite write_videofile, write_gif, etc.

VideoClip.to_videofile = deprecated_version_of(VideoClip.write_videofile, 
                                               'to_videofile')
VideoClip.to_gif = deprecated_version_of(VideoClip.write_gif, 'to_gif')
VideoClip.to_images_sequence = deprecated_version_of(VideoClip.write_images_sequence, 
                                               'to_images_sequence')

###


class ColorClip(ImageClip):
    """ An ImageClip showing just one color.

    Parameters
    -----------

    size
      Size (width, height) in pixels of the clip.
示例#5
0
        return ffmpeg_audiowrite(self,
                                 filename,
                                 fps,
                                 nbytes,
                                 buffersize,
                                 codec=codec,
                                 bitrate=bitrate,
                                 write_logfile=write_logfile,
                                 verbose=verbose,
                                 ffmpeg_params=ffmpeg_params,
                                 progress_bar=progress_bar)


# The to_audiofile method is replaced by the more explicit write_audiofile.
AudioClip.to_audiofile = deprecated_version_of(AudioClip.write_audiofile,
                                               'to_audiofile')
###


class AudioArrayClip(AudioClip):
    """
    
    An audio clip made from a sound array.
    
    Parameters
    -----------
    
    array
      A Numpy array representing the sound, of size Nx1 for mono,
      Nx2 for stereo.
       
示例#6
0
            result.mask = concatenate_videoclips(masks,
                                                 method="chain",
                                                 ismask=True)
            result.clips = clips

    elif method == "compose":
        result = CompositeVideoClip(
            [c.set_start(t).set_pos('center') for (c, t) in zip(clips, tt)],
            size=(w, h),
            bg_color=bg_color,
            ismask=ismask)

    result.tt = tt

    result.start_times = tt[:-1]
    result.start, result.duration, result.end = 0, tt[-1], tt[-1]

    audio_t = [(c.audio, t) for c, t in zip(clips, tt) if c.audio is not None]
    if len(audio_t) > 0:
        result.audio = CompositeAudioClip([a.set_start(t) for a, t in audio_t])

    fps_list = list(set([c.fps for c in clips if hasattr(c, 'fps')]))
    if len(fps_list) == 1:
        result.fps = fps_list[0]

    return result


concatenate = deprecated_version_of(concatenate_videoclips,
                                    "concatenate_videoclips")
示例#7
0
                     ColorClip([1,1], col=1, ismask=True, duration=c.duration)
                 #ColorClip(c.size, col=1, ismask=True).set_duration(c.duration)
                     for c in clips]
            result.mask = concatenate_videoclips(masks, method="chain", ismask=True)
            result.clips = clips


    elif method == "compose":
        result = CompositeVideoClip( [c.set_start(t).set_pos('center')
                                for (c, t) in zip(clips, tt)],
               size = (w, h), bg_color=bg_color, ismask=ismask)

    result.tt = tt
    
    result.start_times = tt[:-1]
    result.start, result.duration, result.end = 0, tt[-1] , tt[-1]
    
    audio_t = [(c.audio,t) for c,t in zip(clips,tt) if c.audio is not None]
    if len(audio_t)>0:
        result.audio = CompositeAudioClip([a.set_start(t)
                                for a,t in audio_t])

    fps_list = list(set([c.fps for c in clips if hasattr(c,'fps')]))
    if len(fps_list)==1:
        result.fps= fps_list[0]

    return result


concatenate = deprecated_version_of(concatenate_videoclips, "concatenate_videoclips")
示例#8
0
            result.mask = concatenate_videoclips(masks, method="chain", ismask=True)
            result.clips = clips
    elif method == "compose":
        result = CompositeVideoClip( [c.set_start(t).set_pos('center')
                                for (c, t) in zip(clips, tt)],
               size = (w, h), bg_color=bg_color, ismask=ismask)
    else:
        raise Exception("Moviepy Error: The 'method' argument of "
                        "concatenate_videoclips must be 'chain' or 'compose'")

    result.tt = tt

    result.start_times = tt[:-1]
    result.start, result.duration, result.end = 0, tt[-1] , tt[-1]

    audio_t = [(c.audio,t) for c,t in zip(clips,tt) if c.audio is not None]
    if len(audio_t)>0:
        result.audio = CompositeAudioClip([a.set_start(t)
                                for a,t in audio_t])

    fpss = [c.fps for c in clips if hasattr(c,'fps') and c.fps is not None]
    if len(fpss) == 0:
        result.fps = None
    else:
        result.fps = max(fpss)

    return result


concatenate = deprecated_version_of(concatenate_videoclips, oldname="concatenate")