コード例 #1
0
    def agregar_efecto(self, nombre_efecto):
        """
        Agrega un efecto según su nombre.
        """

        self.efectos.append(nombre_efecto)
        self.config_efectos[nombre_efecto] = {}

        self.stop()

        # Quitar efectos
        efectos_bin = self.pipeline.get_by_name('efectos_bin')
        jamedia_camara_bin = self.pipeline.get_by_name('jamedia_camara_bin')
        jamedia_camara_bin.unlink(efectos_bin)
        efectos_bin.unlink(self.gamma)
        self.pipeline.remove(efectos_bin)
        del (efectos_bin)

        # Agregar efectos
        efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos)
        self.pipeline.add(efectos_bin)
        jamedia_camara_bin.link(efectos_bin)
        efectos_bin.link(self.gamma)

        self.play()
コード例 #2
0
    def agregar_efecto(self, nombre_efecto):
        """
        Agrega un efecto según su nombre.
        """

        self.efectos.append(nombre_efecto)
        self.config_efectos[nombre_efecto] = {}

        self.stop()

        # Quitar efectos
        efectos_bin = self.pipeline.get_by_name("efectos_bin")
        jamedia_camara_bin = self.pipeline.get_by_name("jamedia_camara_bin")
        jamedia_camara_bin.unlink(efectos_bin)
        efectos_bin.unlink(self.gamma)
        self.pipeline.remove(efectos_bin)
        del (efectos_bin)

        # Agregar efectos
        efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos)
        self.pipeline.add(efectos_bin)
        jamedia_camara_bin.link(efectos_bin)
        efectos_bin.link(self.gamma)

        self.play()
コード例 #3
0
    def __set_base_pipe(self):
        """
        Linkea los elementos base.
        """

        #self.camara

        #efectos
        #self.gamma
        #self.videoflip

        multi_out_tee = Gst.ElementFactory.make('tee', "multi_out_tee")

        queue_xvimagesink = Gst.ElementFactory.make('queue',
                                                    "queue_xvimagesink")

        queue_xvimagesink.set_property('max-size-buffers', 1000)
        queue_xvimagesink.set_property('max-size-bytes', 0)
        queue_xvimagesink.set_property('max-size-time', 0)

        pantalla = Gst.ElementFactory.make('xvimagesink', "xvimagesink")

        efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos)

        fotobin = Foto_bin()

        self.pipeline.add(self.camara)
        self.pipeline.add(efectos_bin)
        self.pipeline.add(self.gamma)
        self.pipeline.add(self.videoflip)
        self.pipeline.add(multi_out_tee)

        self.pipeline.add(queue_xvimagesink)  # multi_out_tee. #1
        self.pipeline.add(pantalla)

        self.pipeline.add(fotobin)

        self.camara.link(efectos_bin)
        efectos_bin.link(self.gamma)
        self.gamma.link(self.videoflip)
        self.videoflip.link(multi_out_tee)

        multi_out_tee.link(queue_xvimagesink)  # multi_out_tee. #1
        queue_xvimagesink.link(pantalla)

        multi_out_tee.link(fotobin)
コード例 #4
0
    def __set_base_pipe(self):
        """
        Linkea los elementos base.
        """

        # self.camara

        # efectos
        # self.gamma
        # self.videoflip

        multi_out_tee = Gst.ElementFactory.make("tee", "multi_out_tee")

        queue_xvimagesink = Gst.ElementFactory.make("queue", "queue_xvimagesink")

        queue_xvimagesink.set_property("max-size-buffers", 1000)
        queue_xvimagesink.set_property("max-size-bytes", 0)
        queue_xvimagesink.set_property("max-size-time", 0)

        pantalla = Gst.ElementFactory.make("xvimagesink", "xvimagesink")

        efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos)

        fotobin = Foto_bin()

        self.pipeline.add(self.camara)
        self.pipeline.add(efectos_bin)
        self.pipeline.add(self.gamma)
        self.pipeline.add(self.videoflip)
        self.pipeline.add(multi_out_tee)

        self.pipeline.add(queue_xvimagesink)  # multi_out_tee. #1
        self.pipeline.add(pantalla)

        self.pipeline.add(fotobin)

        self.camara.link(efectos_bin)
        efectos_bin.link(self.gamma)
        self.gamma.link(self.videoflip)
        self.videoflip.link(multi_out_tee)

        multi_out_tee.link(queue_xvimagesink)  # multi_out_tee. #1
        queue_xvimagesink.link(pantalla)

        multi_out_tee.link(fotobin)
コード例 #5
0
    def quitar_efecto(self, indice_efecto):
        """
        Quita el efecto correspondiente al indice o
        al nombre que recibe.
        """

        if type(indice_efecto) == int:
            self.efectos.remove(self.efectos[indice_efecto])
            if self.efectos[indice_efecto] in self.config_efectos.keys():
                del (self.config_efectos[self.efectos[indice_efecto]])

        elif type(indice_efecto) == str:
            for efecto in self.efectos:
                if efecto == indice_efecto:
                    self.efectos.remove(efecto)
                    if efecto in self.config_efectos.keys():
                        del (self.config_efectos[efecto])
                    break

        self.stop()

        # Quitar efectos
        efectos_bin = self.pipeline.get_by_name('efectos_bin')
        jamedia_camara_bin = self.pipeline.get_by_name('jamedia_camara_bin')
        jamedia_camara_bin.unlink(efectos_bin)
        efectos_bin.unlink(self.gamma)
        self.pipeline.remove(efectos_bin)
        del (efectos_bin)

        # Agregar efectos
        efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos)
        self.pipeline.add(efectos_bin)
        jamedia_camara_bin.link(efectos_bin)
        efectos_bin.link(self.gamma)

        self.play()
コード例 #6
0
    def quitar_efecto(self, indice_efecto):
        """
        Quita el efecto correspondiente al indice o
        al nombre que recibe.
        """

        if type(indice_efecto) == int:
            self.efectos.remove(self.efectos[indice_efecto])
            if self.efectos[indice_efecto] in self.config_efectos.keys():
                del (self.config_efectos[self.efectos[indice_efecto]])

        elif type(indice_efecto) == str:
            for efecto in self.efectos:
                if efecto == indice_efecto:
                    self.efectos.remove(efecto)
                    if efecto in self.config_efectos.keys():
                        del (self.config_efectos[efecto])
                    break

        self.stop()

        # Quitar efectos
        efectos_bin = self.pipeline.get_by_name("efectos_bin")
        jamedia_camara_bin = self.pipeline.get_by_name("jamedia_camara_bin")
        jamedia_camara_bin.unlink(efectos_bin)
        efectos_bin.unlink(self.gamma)
        self.pipeline.remove(efectos_bin)
        del (efectos_bin)

        # Agregar efectos
        efectos_bin = Efectos_Video_bin(self.efectos, self.config_efectos)
        self.pipeline.add(efectos_bin)
        jamedia_camara_bin.link(efectos_bin)
        efectos_bin.link(self.gamma)

        self.play()