def __init__(self, port, bitrate, framerate, path, videos): """ **On init:** Some initialization code. :param port: RTSP server port. :type port: string or integer :param bitrate: The bitrate (in kbps). :type bitrate: string or integer :param framerate: The framerate (in fps). :type framerate: string or integer :param string path: Path to the video directory. :param list videos: List of available videos. """ #: The bitrate (in kbps). self.bitrate = bitrate #: The framerate (in fps). self.framerate = framerate #: Path to the video directory. self.path = path #: List of available videos. self.videos = videos #: GStreamer RTSP server instance. self.server = Server() #: Gstreamer loop. self.loop = None self.server.set_service(str(port)) #: List of GStreamer RTSP factories. self.factory = [] self.__addMedia()
git = os.path.join(os.getcwd(), '.git') if os.path.exists(git): sys.path.insert(0, os.getcwd()) from urlparse import urlparse import gobject gobject.threads_init() import pygst pygst.require("0.10") from gst.rtspserver import Server from rtsputils import RelayMediaFactory local_url = sys.argv[1] remote_url = sys.argv[2] server = Server() server.set_service(str(urlparse(local_url).port)) factory = RelayMediaFactory() factory.props.location = remote_url factory.set_shared(True) mapping = server.get_media_mapping() mapping.add_factory("/relay", factory) server.attach() loop = gobject.MainLoop() loop.run()