import gi
gi.require_version('Gst', '1.0')
gi.require_version('GstRtspServer', '1.0')
from gi.repository import Gst, GstRtspServer, GLib
Gst.init(None)
class MyFactory(GstRtspServer.RTSPMediaFactory):
def __init__(self, **properties):
super(MyFactory, self).__init__(**properties)
self.launch_string = 'v4l2src device=/dev/video1 ! video/x-h264,width=640,height=480,framerate=30/1 ! h264parse ! rtph264pay name=pay0 pt=96'
def do_create_element(self, url):
return Gst.parse_launch(self.launch_string)
server = GstRtspServer.RTSPServer()
factory = MyFactory()
factory.set_shared(True)
server.get_mount_points().add_factory("/stream", factory)
server.attach(None)
loop = GLib.MainLoop()
loop.run()