server.set_address("::")
server.set_service('8554') # port as string
factory = GstRtspServer.RTSPMediaFactory()
- factory.set_launch("intervideosrc ! decodebin ! theoraenc ! queue ! rtptheorapay name=pay0")
+ # factory.set_launch("intervideosrc ! decodebin ! theoraenc ! queue ! rtptheorapay name=pay0")
+ # factory.set_launch("intervideosrc ! decodebin ! videoconvert ! video/x-raw,format=I420 ! theoraenc ! queue ! rtptheorapay name=pay0")
+ # factory.set_launch("intervideosrc ! decodebin ! videorate ! videoconvert ! video/x-raw,format=I420,framerate=10/1 ! theoraenc ! queue ! rtptheorapay name=pay0")
+ # factory.set_launch("intervideosrc ! decodebin ! videoconvert ! video/x-raw,format=I420 ! x264enc ! queue ! rtph264pay pt=96 name=pay0")
+ factory.set_launch("intervideosrc ! decodebin ! x264enc ! queue ! rtph264pay pt=96 name=pay0")
+ # factory.set_launch("intervideosrc ! decodebin ! videorate ! videoconvert ! video/x-raw,framerate=10/1 ! x264enc ! queue ! rtph264pay pt=96 name=pay0")
factory.set_shared(True)
mountPoints = server.get_mount_points()
mountPoints.add_factory("/cug", factory)
caps = pad.get_current_caps()
padsize = caps.get_size()
for i in range(padsize):
- s = caps.get_structure(i) # Gst.Structure
+ s = caps.get_structure(i) # Gst.Structure
name = s.get_name()
if name.startswith('video'):
q = Gst.ElementFactory.make('queue')
pad.link(q.get_static_pad('sink'))
q.link(conv)
conv.link(sink)
+ self.pipe.set_state(Gst.State.PLAYING)
async def listen_to_gstreamer_bus(self):
self.webrtcbin = Gst.ElementFactory.make('webrtcbin', 'laplace')