Пример #1
0
    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)
Пример #2
0
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 ();