def test_video_text_image(self):
        fLOG(__file__,
             self._testMethodName,
             OutputPrint=__name__ == "__main__")

        temp = get_temp_folder(__file__, "temp_video_text_image")
        img = os.path.join(temp, '..', 'data', 'GastonLagaffe_1121.jpg')
        vidimg0 = video_image(img, duration=5, opacity=200)
        vidimg = video_position(vidimg0, lambda t: (0, 0), relative=True)

        text0 = video_text('boule',
                           size=2.,
                           color=(255, 0, 0, 128),
                           background=(0, 255, 0, 100))
        text = video_position(text0,
                              lambda t: (t * 0.1, t * 0.2),
                              relative=True)

        comb = video_compose([vidimg, text], t1=[0, 1])
        exp1 = os.path.join(temp, "courte_text.mp4")
        exp2 = os.path.join(temp, "courte_laga.mp4")
        video_save(text,
                   exp1,
                   fps=20,
                   duration=5,
                   verbose=__name__ == "__main__")
        video_save(comb,
                   exp2,
                   fps=20,
                   duration=5,
                   verbose=__name__ == "__main__")
        self.assertExists(exp1)
        self.assertExists(exp2)
        clean_video([text, text0, comb, vidimg, vidimg0])
Beispiel #2
0
 def test_video_frame_sequence(self):
     fLOG(__file__,
          self._testMethodName,
          OutputPrint=__name__ == "__main__")
     temp = get_temp_folder(__file__, "temp_video_frame_images")
     fold = os.path.join(temp, "..", "data", "images")
     vid = video_frame(fold, fps=4)
     exp = os.path.join(temp, "courte.gif")
     video_save(vid, exp)
     self.assertExists(exp)
     clean_video(vid)
 def test_modify_avideo(self):
     fLOG(__file__,
          self._testMethodName,
          OutputPrint=__name__ == "__main__")
     temp = get_temp_folder(__file__, "temp_video_modification")
     vid = video_load(os.path.join(temp, '..', 'data', 'videxa.mp4'))
     vid2 = video_modification(vid, speed=2., mirrory=True, mirrorx=True)
     exp = os.path.join(temp, "courte2x.mp4")
     video_save(vid2, exp)
     self.assertExists(exp)
     clean_video([vid2, vid])
 def test_modify_avideo_blur(self):
     temp = get_temp_folder(__file__, "temp_videodl_face_blur")
     vid = video_load(os.path.join(temp, '..', 'data', 'charlie.mp4'))
     vide = video_extract_video(vid, 0, 5 if __name__ == "__main__" else 1)
     vid2 = video_map_images(
         vide,
         fps=10,
         name="detect",
         logger='bar' if __name__ == "__main__" else None)
     exp = os.path.join(temp, "face.mp4")
     video_save(vid2, exp)
     self.assertExists(exp)
     clean_video([vid2, vid, vide])
    def test_video_image_position(self):
        fLOG(__file__,
             self._testMethodName,
             OutputPrint=__name__ == "__main__")
        temp = get_temp_folder(__file__, "temp_video_position")
        nimg = os.path.join(temp, '..', 'data', 'GastonLagaffe_1121.jpg')
        img = video_image(nimg, duration=60, zoom=(200, 200))
        exp = os.path.join(temp, "courte.mp4")
        video_save(img, exp, fps=20)
        self.assertExists(exp)
        clean_video(img)

        exp = os.path.join(temp, "courte05.mp4")
        img = video_image(nimg, duration=60, zoom=(200, 200))
        vid = video_position(img, (0.5, 0.5), relative=True)
        video_save(vid, exp, fps=20)
        self.assertExists(exp)
        clean_video([vid, img])

        exp = os.path.join(temp, "courtecb.mp4")
        img = video_image(nimg, duration=60, zoom=(200, 200))
        vid = video_position(img, ('center', 'bottom'), relative=True)
        video_save(vid, exp, fps=20)
        self.assertExists(exp)
        clean_video([vid, img])

        exp = os.path.join(temp, "courtefct.mp4")
        img = video_image(nimg, duration=60, zoom=(200, 200))
        vid = video_position(img, lambda t: (t * 0.1, t * 0.2), relative=True)
        video_save(vid, exp, fps=20)
        self.assertExists(exp)
        clean_video([vid, img])
 def test_extract_avideo(self):
     fLOG(__file__,
          self._testMethodName,
          OutputPrint=__name__ == "__main__")
     temp = get_temp_folder(__file__, "temp_video_extract")
     vid = os.path.join(temp, '..', 'data', 'videxa.mp4')
     vid2 = video_extract_video(vid, '00:00:01', '00:00:04')
     exp = os.path.join(temp, "courte.mp4")
     video_save(vid2, exp)
     self.assertExists(exp)
     exp = os.path.join(temp, "courte.gif")
     video_save(vid2, exp)
     self.assertExists(exp)
     clean_video(vid2)
    def test_compose_avideo(self):
        fLOG(__file__,
             self._testMethodName,
             OutputPrint=__name__ == "__main__")
        temp = get_temp_folder(__file__, "temp_video_compose")
        vid = os.path.join(temp, '..', 'data', 'videxa.mp4')
        vid2 = video_compose(vid, vid, '00:00:01', '00:00:04')
        exp = os.path.join(temp, "courte.mp4")
        video_save(vid2, exp)
        self.assertExists(exp)

        exp = os.path.join(temp, "courte2.mp4")
        vid3 = video_concatenate([vid, vid])
        video_save(vid3, exp)
        self.assertExists(exp)
        clean_video(vid3)
 def test_video_audio_bug(self):
     fLOG(__file__,
          self._testMethodName,
          OutputPrint=__name__ == "__main__")
     temp = get_temp_folder(__file__, "temp_video_audio_bug")
     vid = os.path.join(temp, '..', 'data', 'videxa.mp4')
     audio = video_extract_audio(vid)
     vid2 = video_modification(vid, speed=2., mirrory=True, mirrorx=True)
     audio1 = video_extract_audio(vid2)
     audio3 = audio_concatenate([audio1, audio, audio1, audio1])
     vid3 = video_concatenate([vid, vid2])
     vid4 = video_replace_audio(vid3, audio3)
     exp = os.path.join(temp, "courte2x.mp4")
     video_save(vid4, exp)
     self.assertExists(exp)
     clean_video([vid4, vid2, vid3, audio, audio1, audio3])
 def test_modify_avideo(self):
     temp = get_temp_folder(__file__, "temp_videodl_face_rect")
     vid = video_load(os.path.join(temp, '..', 'data', 'charlie.mp4'))
     vide = video_extract_video(vid, 0, 10 if __name__ == "__main__" else 1)
     vid2 = video_map_images(
         vide,
         fps=10,
         name="detect",
         action="rect",
         logger='bar' if __name__ == "__main__" else None)
     exp = os.path.join(temp, "face.mp4")
     self.assertTrue(vid2.make_frame is not None)
     video_save_image(vid2, t=1, filename=os.path.join(temp, "img1.jpg"))
     im = video_save_image(vid2, t=2)
     im.save(os.path.join(temp, "img2.png"))
     video_save(vid2, exp, verbose=__name__ == "__main__")
     self.assertExists(exp)
     clean_video([vid2, vid, vide])
Beispiel #10
0
    def test_video_frame(self):
        fLOG(__file__,
             self._testMethodName,
             OutputPrint=__name__ == "__main__")
        import gizeh
        temp = get_temp_folder(__file__, "temp_video_frame")

        def make_frame(t):
            # See example: https://zulko.github.io/moviepy/getting_started/videoclips.html#videoclip
            surface = gizeh.Surface(128, 128)
            radius = 100 * (1 + (t * (2 - t))**2) / 6
            circle = gizeh.circle(radius, xy=(64, 64), fill=(1, 0, 0))
            circle.draw(surface)
            return surface.get_npimage()

        vid = video_frame(make_frame)
        exp = os.path.join(temp, "courte.gif")
        video_save(vid, exp, fps=20, duration=2)
        self.assertExists(exp)
        clean_video(vid)
Beispiel #11
0
    def test_video_text(self):
        temp = get_temp_folder(__file__, "temp_video_text")
        vid = img = video_text('boule')
        exp = os.path.join(temp, "courte.mp4")
        video_save(vid,
                   exp,
                   fps=20,
                   duration=3,
                   verbose=__name__ == "__main__")
        self.assertExists(exp)
        clean_video(vid)

        exp = os.path.join(temp, "courtefct.mp4")
        vid = video_position(img, lambda t: (t * 0.1, t * 0.2), relative=True)
        video_save(vid,
                   exp,
                   fps=20,
                   duration=4,
                   verbose=__name__ == "__main__")
        self.assertExists(exp)
        clean_video(vid)
    def test_modify_placement(self):
        fLOG(
            __file__,
            self._testMethodName,
            OutputPrint=__name__ == "__main__")
        temp = get_temp_folder(__file__, "temp_video_placement")
        vid = video_load(os.path.join(temp, '..', 'data', 'videxa.mp4'))

        vid2 = video_compose(vid, vid, t2=1, place='h2')
        exp = os.path.join(temp, "h2.mp4")
        video_save(vid2, exp)
        self.assertExists(exp)
        clean_video([vid2, vid])

        vid = video_load(os.path.join(temp, '..', 'data', 'videxa.mp4'))
        vid2 = video_compose(vid, vid, t2=1, place='v2')
        exp = os.path.join(temp, "v2.mp4")
        video_save(vid2, exp)
        self.assertExists(exp)
        clean_video([vid2, vid])

        vid = video_load(os.path.join(temp, '..', 'data', 'videxa.mp4'))
        vid2 = video_compose(vid, vid, t2=1, place='br', zoom=0.2)
        exp = os.path.join(temp, "br.mp4")
        video_save(vid2, exp)
        self.assertExists(exp)
        clean_video([vid2, vid])
    def test_video_image_resize(self):
        fLOG(__file__,
             self._testMethodName,
             OutputPrint=__name__ == "__main__")
        temp = get_temp_folder(__file__, "temp_video_resize")
        nimg = os.path.join(temp, '..', 'data', 'GastonLagaffe_1121.jpg')
        vid = video_image(nimg, duration=60, zoom=(200, 200))
        exp = os.path.join(temp, "courte.mp4")
        video_save(vid, exp, fps=20)
        self.assertExists(exp)
        clean_video(vid)

        exp = os.path.join(temp, "courtecb.mp4")
        img = video_image(nimg, duration=60, zoom=(200, 200))
        vid = video_resize(img, 0.5)
        video_save(vid, exp, fps=20)
        self.assertExists(exp)
        clean_video([vid, img])

        exp = os.path.join(temp, "courtefct.mp4")
        img = video_image(nimg, duration=60, zoom=(200, 200))
        vid = video_resize(img, lambda t: max(0.1, 1 - 0.1 * t))
        video_save(vid, exp, fps=20)
        self.assertExists(exp)
        clean_video([vid, img])
    def test_extract_audio_video(self):
        fLOG(__file__,
             self._testMethodName,
             OutputPrint=__name__ == "__main__")
        temp = get_temp_folder(__file__, "temp_video_audio")
        vid = os.path.join(temp, '..', 'data', 'videxa.mp4')
        aud = os.path.join(temp, '..', 'data', 'cartoon011.wav')
        vid = video_remove_audio(vid)
        audio2 = audio_modification(aud,
                                    volumex=5.5,
                                    fadein=True,
                                    speed=2.,
                                    keep_duration=False,
                                    loop_duration=True)
        vid2 = video_replace_audio(vid, audio2, loop=False)
        self.assertTrue(video_extract_audio(vid2) is not None)
        exp = os.path.join(temp, "courte_audio.mp4")
        video_save(vid2, exp, verbose=__name__ == "__main__", duration=2)
        self.assertExists(exp)

        audio3 = audio2wav(audio2, duration=5, fps=44100)
        exp = os.path.join(temp, "courte_audio.mp3")
        audio_save(audio3, exp, verbose=__name__ == "__main__")
        self.assertExists(exp)