def prepare_connection(self, request): new_id, _, _ = self.server.connection_manager_server.add_connection( '', 'Output', -1, '' ) self.info(f'startup, add {new_id:d} to connection table') d = request.notifyFinish() d.addBoth(self.requestFinished, new_id, request)
def start(self, request=None): self.info("GStreamerPipeline start %r %r", request, self.pipeline_description) self.requests.append(request) self.pipeline.set_state(gst.STATE_PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished, request)
def start(self, request=None): self.info( f'GStreamerPipeline start {request} {self.pipeline_description}') self.requests.append(request) self.pipeline.set_state(Gst.State.PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished, request)
def start(self, request=None): self.info("start %r", request) self.pipeline = gst.parse_launch(self.pipeline_description % self.uri) enc = self.pipeline.get_by_name('mux') sink = DataSink(destination=self.destination, request=request) self.pipeline.add(sink) enc.link(sink) self.pipeline.set_state(gst.STATE_PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished)
def start(self, request=None): self.info(f'start {request}') self.pipeline = Gst.parse_launch( f'{self.uri} ! decodebin ! audioconvert ! lame name=enc') enc = self.pipeline.get_by_name('enc') sink = DataSink(destination=self.destination, request=request) self.pipeline.add(sink) enc.link(sink) self.pipeline.set_state(Gst.State.PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished)
def start(self, request=None): self.info("start %r", request) self.pipeline = gst.parse_launch( "%s ! decodebin ! audioconvert ! lame name=enc" % self.uri) enc = self.pipeline.get_by_name('enc') sink = DataSink(destination=self.destination, request=request) self.pipeline.add(sink) enc.link(sink) self.pipeline.set_state(gst.STATE_PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished)
def start(self, request=None): self.info(f'start {request}') self.pipeline = Gst.parse_launch( f'{self.uri} ! qtdemux name=d ! queue ! h264parse ' f'! mp4mux name=mux d. ! queue ! mux.') mux = self.pipeline.get_by_name('mux') sink = DataSink(destination=self.destination, request=request) self.pipeline.add(sink) mux.link(sink) self.pipeline.set_state(Gst.State.PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished)
def start(self, request=None): self.info("start %r", request) self.pipeline = gst.parse_launch( "%s ! qtdemux name=d ! queue ! h264parse ! mp4mux name=mux d. ! queue ! mux." % self.uri) mux = self.pipeline.get_by_name('mux') sink = DataSink(destination=self.destination, request=request) self.pipeline.add(sink) mux.link(sink) self.pipeline.set_state(gst.STATE_PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished)
def start(self, request=None): self.info("start %r", request) ### FIXME mpeg2enc self.pipeline = gst.parse_launch( "mpegtsmux name=mux %s ! decodebin2 name=d ! queue ! ffmpegcolorspace ! mpeg2enc ! queue ! mux. d. ! queue ! audioconvert ! twolame ! queue ! mux." % self.uri) enc = self.pipeline.get_by_name('mux') sink = DataSink(destination=self.destination, request=request) self.pipeline.add(sink) enc.link(sink) self.pipeline.set_state(gst.STATE_PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished)
def start(self, request=None): if self.pipeline_description is None: raise NotImplementedError( 'Warning: operation cancelled. You must set a value for ' 'GStreamerTranscoder.pipeline_description') self.info(f'start {request}') self.pipeline = Gst.parse_launch(self.pipeline_description % self.uri) enc = self.pipeline.get_by_name('mux') sink = DataSink(destination=self.destination, request=request) self.pipeline.add(sink) enc.link(sink) self.pipeline.set_state(Gst.State.PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished)
def start(self, request=None): self.info(f'start {request}') # FIXME - mpeg2enc self.pipeline = Gst.parse_launch( f'mpegtsmux name=mux {self.uri} ! decodebin2 name=d ! queue ' f'! ffmpegcolorspace ! mpeg2enc ! queue ! mux. d. ' f'! queue ! audioconvert ! twolame ! queue ! mux.') enc = self.pipeline.get_by_name('mux') sink = DataSink(destination=self.destination, request=request) self.pipeline.add(sink) enc.link(sink) self.pipeline.set_state(Gst.State.PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished)
def start(self, request=None): self.info(f'start {request}') ''' # what we actually want here is a pipeline that calls # us when it knows about the size of the original image, # and allows us now to adjust the caps-filter with the # calculated values for width and height new_width = 160 new_height = 160 if original_width > 160: new_heigth = \ int(float(original_height) * (160.0/float(original_width))) if new_height > 160: new_width = \ int(float(new_width) * (160.0/float(new_height))) elif original_height > 160: new_width = \ int(float(original_width) * (160.0/float(original_height))) ''' try: type = request.args['type'][0] except IndexError: type = 'jpeg' if type == 'png': self.pipeline = Gst.parse_launch( f'{self.uri} ! decodebin2 ! videoscale ' f'! video/x-raw-yuv,width=160,height=160 ! pngenc name=enc') self.contentType = 'image/png' else: self.pipeline = Gst.parse_launch( f'{self.uri} ! decodebin2 ! videoscale ' f'! video/x-raw-yuv,width=160,height=160 ! jpegenc name=enc') self.contentType = 'image/jpeg' enc = self.pipeline.get_by_name('enc') sink = DataSink(destination=self.destination, request=request) self.pipeline.add(sink) enc.link(sink) self.pipeline.set_state(Gst.State.PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished)
def start(self, request=None): self.info(f'PCMTranscoder start {request} {self.uri}') self.pipeline = Gst.parse_launch( f'{self.uri} ! decodebin ! audioconvert name=conv') conv = self.pipeline.get_by_name('conv') caps = Gst.Caps.from_string( 'audio/x-raw-int,rate=44100,endianness=4321,' 'channels=2,width=16,depth=16,signed=true') # FIXME: UGLY. 'filter' is a python builtin! filter = Gst.ElementFactory.make('capsfilter', 'filter') filter.set_property('caps', caps) self.pipeline.add(filter) conv.link(filter) sink = DataSink(destination=self.destination, request=request) self.pipeline.add(sink) filter.link(sink) self.pipeline.set_state(Gst.State.PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished)
def start(self, request=None): self.info("PCMTranscoder start %r %r", request, self.uri) self.pipeline = gst.parse_launch( "%s ! decodebin ! audioconvert name=conv" % self.uri) conv = self.pipeline.get_by_name('conv') caps = gst.Caps( "audio/x-raw-int,rate=44100,endianness=4321,channels=2,width=16,depth=16,signed=true" ) #FIXME: UGLY. 'filter' is a python builtin! filter = gst.element_factory_make("capsfilter", "filter") filter.set_property("caps", caps) self.pipeline.add(filter) conv.link(filter) sink = DataSink(destination=self.destination, request=request) self.pipeline.add(sink) filter.link(sink) self.pipeline.set_state(gst.STATE_PLAYING) d = request.notifyFinish() d.addBoth(self.requestFinished)