def addMedia(self, videos, bitrate, framerate, path): ''' Add videos to the server. :param list videos: List of available videos. :param int bitrate: The bitrate (in kbps). :param int framerate: The framerate (in fps). :param string path: Path to the video directory. ''' for i, video in enumerate(videos): for codec, items in supported_codecs.iteritems(): launch = 'filesrc location=%s/%s ! decodebin ! videorate ! video/x-raw,framerate=%s/1 ! %s bitrate=%s ! %s name=pay0' % ( path, video, framerate, items['encoder'], items['bitrate_from_kbps'](bitrate), items['rtppay']) pool = GstRtspServer.RTSPAddressPool() pool.add_range("224.3.0.0", "224.3.0.10", 5000, 5010, 10) factory = GstRtspServer.RTSPMediaFactory() factory.set_address_pool(pool) factory.set_launch(launch) factory.set_shared(True) factory.set_eos_shutdown(True) name = '/video%s.' % (i) + codec self.server.get_mount_points().add_factory(name, factory)
mainloop = GObject.MainLoop() server = GstRtspServer.RTSPServer() mounts = server.get_mount_points() factory = GstRtspServer.RTSPMediaFactory() factory.set_launch( 'videotestsrc is-live=1 ! x264enc speed-preset=ultrafast tune=zerolatency ! rtph264pay name=pay0 pt=96' ) # multicast için aşağıdakini yazdım # ########################################################### factory.set_shared(True) pool = GstRtspServer.RTSPAddressPool() pool.add_range("224.3.0.0", "224.3.0.10", 5000, 5010, 16) factory.set_address_pool(pool) factory.set_protocols(GstRtsp.RTSPLowerTrans.UDP_MCAST) # ########################################################### mounts.add_factory("/test", factory) server.attach(None) print("stream ready at rtsp://127.0.0.1:8554/test") mainloop.run() # aşağıdaki factory scriptini de deneyebilirsin... """ factory = gst_rtsp_media_factory_new ();