示例#1
0
    def post(self):
        sdp_offer = self.request.body
        pipeline = kurento.create_pipeline()
        wrtc = media.WebRtcEndpoint(pipeline)

        wrtc.on_media_session_started_event(self.on_event)
        wrtc.on_media_session_terminated_event(self.on_event)

        sdp_answer = wrtc.process_offer(sdp_offer)
        self.finish(str(sdp_answer))

        # setup recording
        recorder = media.RecorderEndpoint(pipeline,
                                          uri="file:///tmp/test.webm")
        wrtc.connect(recorder)
        recorder.record()

        # plain old loopback
        # wrtc.connect(wrtc)

        # fun face overlay
        face = media.FaceOverlayFilter(pipeline)
        face.set_overlayed_image(
            "https://raw.githubusercontent.com/minervaproject/pykurento/master/example/static/img/rainbowpox.png",
            0, 0, 1, 1)
        wrtc.connect(face)
        face.connect(wrtc)
示例#2
0
    def get_pipeline(self):
        if self.pipeline_id:
            pipeline = kurento.get_pipeline(self.pipeline_id)
        else:
            pipeline = kurento.create_pipeline()
            self.pipeline_id = pipeline.id
            session = get_session()
            session.add(self)
            session.commit()

        return pipeline
示例#3
0
  def get_pipeline(self):
    if self.pipeline_id:
      pipeline = kurento.get_pipeline(self.pipeline_id)
    else:
      pipeline = kurento.create_pipeline()
      self.pipeline_id = pipeline.id
      session = get_session()
      session.add(self)
      session.commit()

    return pipeline
示例#4
0
  def post(self):
    sdp_offer = self.request.body
    pipeline = kurento.create_pipeline()
    MultiResHandler.incoming = media.WebRtcEndpoint(pipeline)
    MultiResHandler.high_res = MultiResHandler.incoming
    MultiResHandler.low_res = media.GStreamerFilter(pipeline, command="capsfilter caps=video/x-raw,width=160,height=120", filterType="VIDEO")
    MultiResHandler.med_res = media.GStreamerFilter(pipeline, command="capsfilter caps=video/x-raw,width=320,height=240", filterType="VIDEO")

    sdp_answer = MultiResHandler.incoming.process_offer(sdp_offer)
    self.finish(str(sdp_answer))

    MultiResHandler.high_res.connect(MultiResHandler.incoming)
    MultiResHandler.incoming.connect(MultiResHandler.low_res)
    MultiResHandler.incoming.connect(MultiResHandler.med_res)
示例#5
0
    def presenter(self, sdp_offer):
        global g_session_id, g_pipeline, g_incoming_end
        pipeline = kurento.create_pipeline()
        wrtc = media.WebRtcEndpoint(pipeline)
        g_session_id = wrtc.get_session_id()

        sdp_answer = wrtc.process_offer(sdp_offer)
        wrtc.gather_candidates()
        g_pipeline = pipeline
        g_incoming_end = wrtc.id

        wrtc.subscribe('OnIceCandidate', self.handle_candidate)

        result = {
                    "id": "presenterResponse",
                    "response": "accepted",
                    "sdpAnswer": sdp_answer
                }
        self.write_message(json.dumps(result))
示例#6
0
    def __init__(self, session):
        self.pipeline = None
        self.webRtc = None
        self.player = None
        self.recording_path = "file:///tmp/dd"
        self.recording_ext = ".webm"

        self.pipeline = kurento.create_pipeline()

        self.webRtc = media.WebRtcEndpoint(self.pipeline)
        self.player = media.PlayerEndpoint(self.pipeline,
                                           uri=self.recording_path +
                                           "_caller" + self.recording_ext)
        self.session = session

        # Connection
        self.player.connect(self.webRtc)

        # Player listeners
        self.player.addErrorListener(self.onErrorEvent)
示例#7
0
  def post(self):
    sdp_offer = self.request.body
    pipeline = kurento.create_pipeline()
    wrtc = media.WebRtcEndpoint(pipeline)

    wrtc.on_media_session_started_event(self.on_event)
    wrtc.on_media_session_terminated_event(self.on_event)

    sdp_answer = wrtc.process_offer(sdp_offer)
    self.finish(str(sdp_answer))

    # setup recording
    recorder = media.RecorderEndpoint(pipeline, uri="file:///tmp/test.webm")
    wrtc.connect(recorder)
    recorder.record()

    # plain old loopback
    # wrtc.connect(wrtc)

    # fun face overlay
    face = media.FaceOverlayFilter(pipeline)
    face.set_overlayed_image("https://raw.githubusercontent.com/minervaproject/pykurento/master/example/static/img/rainbowpox.png", 0, 0, 1, 1)
    wrtc.connect(face)
    face.connect(wrtc)
示例#8
0
def get_pipeline():
    global pipeline
    if not pipeline:
        pipeline = kurento.create_pipeline()
    return pipeline