def __init__(self): self.server = GstRtspServer.RTSPServer() f = MyFactory() # set up basic auth auth = GstRtspServer.RTSPAuth() token = GstRtspServer.RTSPToken() token.set_string("media.factory.role", "user") basic = GstRtspServer.RTSPAuth.make_basic("user", "password") auth.add_basic(basic, token) self.server.set_auth(auth) permissons = GstRtspServer.RTSPPermissions() permissons.add_role("user") permissons.add_permission_for_role("user", "media.factory.access", True) permissons.add_permission_for_role("user", "media.factory.construct", True) f.set_permissions(permissons) # mount factory f.set_shared(True) m = self.server.get_mount_points() m.add_factory("/test", f) # fire on main loop self.server.attach(None)
def __init__(self, ip="0.0.0.0",port="8554",factory="/test", user="******", password="******", gst_srt=" videotestsrc ! x264enc ! rtph264pay name=pay0 pt=96 "): self.server = GstRtspServer.RTSPServer.new() self.address = ip self.port = port self.launch_description = gst_srt self.server.set_address(self.address) self.server.set_service(self.port) self.server.connect("client-connected", self.client_connected) auth = GstRtspServer.RTSPAuth() token = GstRtspServer.RTSPToken() token.set_string('media.factory.role', user) basic = GstRtspServer.RTSPAuth.make_basic(user, password) auth.add_basic(basic, token) self.server.set_auth(auth) self.permissions = GstRtspServer.RTSPPermissions() self.permissions.add_permission_for_role(user, "media.factory.access", True) self.permissions.add_permission_for_role(user, "media.factory.construct", True) self.factory = GstRtspServer.RTSPMediaFactory.new() self.factory.set_permissions(self.permissions) self.factory.set_launch(self.launch_description) self.factory.set_shared(True) self.factory.set_transport_mode(GstRtspServer.RTSPTransportMode.PLAY) self.mount_points = self.server.get_mount_points() self.mount_points.add_factory(factory, self.factory) self.server.attach(None) print('Stream ready')
def __init__(self): GObject.threads_init() Gst.init(None) self.rtspServer = GstRtspServer.RTSPServer() self.rtspServer.set_service("8554") auth = GstRtspServer.RTSPAuth() token = GstRtspServer.RTSPToken() token.set_string('media.factory.role', "user") basic = GstRtspServer.RTSPAuth.make_basic("user", "password") auth.add_basic(basic, token) self.rtspServer.set_auth(auth) permissions = GstRtspServer.RTSPPermissions() permissions.add_permission_for_role("user", "media.factory.access", True) permissions.add_permission_for_role("user", "media.factory.construct", True) # self.factory = SensorFactory("rtsp://*****:*****@huongcangqt.dyndns.info:554/Streaming/Channels/101/") self.factory = SensorFactory("rtsp://*****:*****@192.168.101.99:556") self.factory.set_permissions(permissions) self.factory.set_shared(True) mountPoints = self.rtspServer.get_mount_points() mountPoints.add_factory("/test", self.factory) # self.factory2 = SensorFactory("rtsp://*****:*****@huongcangpxl.dyndns.info:554/Streaming/Channels/101/") # self.factory2.set_permissions(permissions) # self.factory2.set_shared(True) # mountPoints = self.rtspServer.get_mount_points() # mountPoints.add_factory("/test1", self.factory2) self.rtspServer.attach(None) loop = GObject.MainLoop() loop.run()