예제 #1
0
    def __camara_video_run(self):
        """
        Cambia modo Cámara de video.
        """
        if PR:
            print "__camara_video_run"
        self.control = True
        device = self.camara_setting.device
        salida = self.video_out_setting.formato
        xid = self.pantalla.get_property('window').xid
        self.jamediawebcam = JAMediaWebCamVideo(xid,
                                                device=device,
                                                formato=salida,
                                                efectos=[])

        self.jamediawebcam.connect("update", self.__update_record)
        self.jamediawebcam.connect("stop-rafaga", self.__recibe_stop_rafaga)
        self.jamediawebcam.connect("endfile", self.__control_grabacion_end)

        if "Escritorio" in device:
            self.get_toplevel().toolbar.permitir_filmar(True)

        else:
            if "/dev/video" in device:
                self.get_toplevel().toolbar.permitir_filmar(True)

            else:
                self.get_toplevel().toolbar.permitir_filmar(False)

        self.jamediawebcam.play()
        self.control = False
예제 #2
0
    def __re_init_video_web_cam(self, device=False, salida=False):
        """
        Cuando se agregan o quitan efectos o se cambia la fuente de video,
        se crea un nuevo objeto gstreamer que mantiene las configuraciones
        realizadas hasta el momento.
        """

        if PR:
            print "__re_init_video_web_cam", device, salida

        rot = 0
        config = {}

        if self.jamediawebcam:
            rot = self.jamediawebcam.get_rotacion()
            config = self.jamediawebcam.get_config()

        efectos = self.efectos_en_pipe.get_efectos()

        if not device:
            device = self.camara_setting.device

        if not salida:
            salida = self.video_out_setting.formato

        if self.jamediawebcam:
            try:
                self.jamediawebcam.disconnect_by_func(self.__update_record)
                self.jamediawebcam.disconnect_by_func(
                    self.__recibe_stop_rafaga)
                self.jamediawebcam.disconnect_by_func(
                    self.__control_grabacion_end)
            except:
                pass
            self.jamediawebcam.stop()
            del (self.jamediawebcam)
            self.jamediawebcam = False

        time.sleep(3)

        xid = self.pantalla.get_property('window').xid
        self.jamediawebcam = JAMediaWebCamVideo(xid,
                                                device=device,
                                                formato=salida,
                                                efectos=efectos)

        self.jamediawebcam.connect("update", self.__update_record)
        self.jamediawebcam.connect("stop-rafaga", self.__recibe_stop_rafaga)
        self.jamediawebcam.connect("endfile", self.__control_grabacion_end)
        self.jamediawebcam.play()
        self.__re_config(rot, config, efectos)
예제 #3
0
    def __camara_foto_run(self):
        """
        Cambia a modo Cámara de Fotografía.
        """
        if PR:
            print "__camara_foto_run"
        self.control = True
        device = self.camara_setting.device
        salida = self.video_out_setting.formato
        xid = self.pantalla.get_property('window').xid
        self.jamediawebcam = JAMediaWebCamVideo(xid,
                                                device=device,
                                                formato=salida,
                                                efectos=[])

        self.jamediawebcam.connect("update", self.__update_record)
        self.jamediawebcam.connect("stop-rafaga", self.__recibe_stop_rafaga)
        gobject.idle_add(self.jamediawebcam.play)
        self.control = False