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)
Esempio n. 2
0
    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')
Esempio n. 3
0
    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()