Exemplo n.º 1
0
 def __init__(self, video_media, begin, end, cut_video_name, controller):
     threading.Thread.__init__(self)
     self.video_media = video_media
     self.begin = begin
     self.end = end
     self.cut_video_name = cut_video_name
     self.recorder = VideoRecorder(self._Media())
     self.controller = controller
Exemplo n.º 2
0
class ThreadRecordCutVideo(threading.Thread):
    """
    """

    def __init__(self, video_media, begin, end, cut_video_name, controller):
        threading.Thread.__init__(self)
        self.video_media = video_media
        self.begin = begin
        self.end = end
        self.cut_video_name = cut_video_name
        self.recorder = VideoRecorder(self._Media())
        self.controller = controller
        #self.resource = Resource()
        #self.publisher = self.resource.get_publisher()

    def run(self):
        if not self.end > self.begin:
            log.print_function(logger.error,
                               "end frame (%d) is not greater than begin frame (%d)." % (self.end, self.begin))
            return
        if not (self.begin >= 0 and self.end <= self.video_media.get_total_frames()):
            log.print_function(logger.error,
                               "begin frame(%d) and end frame(%d) must be between 0 and %d."
                               % (self.end, self.begin, self.video_media.get_total_frames()))
            return
        if self.recorder.start(123, self.cut_video_name):
            self.video_media.set_position(self.begin)
            for frame_no in range(self.begin, self.end):
                img = self.video_media.next()
                self.recorder.add_image(img)
            new_file_name = self.recorder.get_file_name()
            self.recorder.stop()
            self.controller.add_lst_record_historic("Movie", new_file_name)
            log.print_function(logger.info, "Video has been cut and new video has been saved to %s" % new_file_name)

    class _Media():
        def add_observer(self, cp):
            pass

        def remove_observer(self, cb):
            pass