Я пытаюсь настроить RTSP-сервер с помощью GST, я мог бы добавить фабрику к точкам монтирования, как это
import gi
gi.require_version('Gst', '1.0')
gi.require_version('GstRtspServer', '1.0')
from gi.repository import Gst, GstRtspServer, GObject
loop = GObject.MainLoop()
GObject.threads_init()
Gst.init(None)
class MyFactory(GstRtspServer.RTSPMediaFactory):
def __init__(self,desc_str):
GstRtspServer.RTSPMediaFactory.__init__(self)
self.desc=desc_str
def do_create_element(self,url):
return Gst.parse_launch(self.desc)
class GstServer(object):
def __init__(self):
self.server = GstRtspServer.RTSPServer()
self.server.attach(None)
def add_source(self,path,desc_str):
f = MyFactory(desc_str)
f.set_shared(True)
m = self.server.get_mount_points()
m.add_factory(path, f)
if __name__ == '__main__':
str2 = 'filesrc location=E:/aaa_rtp/my_down_3.mp4 ! qtdemux name=mdemux mdemux.video_0 ! queue ! rtph264pay pt=96 name=pay0 mdemux.audio_0 ! queue ! rtpmp4apay pt=97 name=pay1'
str3='filesrc location=E:/aaa_rtp/1913973949042281958.mp4 ! qtdemux name=mdemux mdemux.video_0 ! queue ! rtph264pay pt=96 name=pay0 mdemux.audio_0 ! queue ! rtpmp4apay pt=97 name=pay1'
s = GstServer()
s.add_source('/t',str2)
s.add_source('/1913973949042281958',str3)
loop.run()
Но здесь вопрос. Есть ли API, который я могу использовать для получения заводского списка, который был подключен к порту во время выполнения? Мне нужен список для отправки клиента в виде списка воспроизведения.