是否可以通过gstrtspserver流式传输现有的gstreamer管道

时间:2018-09-28 20:49:38

标签: python gstreamer rtsp

所以我在python中有完整的工作流水线,目前我正在将其转储到autovideosrc中。我希望能够通过RTSP进行流传输,因此我一直在研究gstrtspserver,但从我可以告诉gstrtspserver的角度来看,它仅使用gst_parse_launch之类的函数来构造其管道,例如本示例

import gi
gi.require_version('Gst','1.0')
gi.require_version('GstRtspServer','1.0')
from gi.repository import GLib, Gst, GstRtspServer

Gst.init(None)


mainloop = GLib.MainLoop()

server = GstRtspServer.RTSPServer()

mounts = server.get_mount_points()

factory = GstRtspServer.RTSPMediaFactory()
factory.set_launch('( videotestsrc pattern=ball is-live=1 ! x264enc speed-preset=ultrafast tune=zerolatency ! rtph264pay name=pay0 pt=96 )')

mounts.add_factory("/test", factory)

server.attach(None)

print("stream ready at rtsp://127.0.0.1:8554/test")
mainloop.run()

是否可以通过RTSP流式传输现有管道?

1 个答案:

答案 0 :(得分:0)

您可以使用gst_rtsp_media_take_pipeline (),它采用现有的管道。 您必须从GstRTSPMediaFactory派生一个类,以返回该新的GstRTSPMedia类型。