Skip to content

Instantly share code, notes, and snippets.

@mrtj
Last active November 18, 2023 17:51
Show Gist options
  • Select an option

  • Save mrtj/22fc02099d7b1762fdccfb2fb45dd273 to your computer and use it in GitHub Desktop.

Select an option

Save mrtj/22fc02099d7b1762fdccfb2fb45dd273 to your computer and use it in GitHub Desktop.

Revisions

  1. mrtj revised this gist Apr 5, 2022. No changes.
  2. mrtj revised this gist Apr 5, 2022. 1 changed file with 10 additions and 3 deletions.
    13 changes: 10 additions & 3 deletions test-launch.py
    Original file line number Diff line number Diff line change
    @@ -6,9 +6,16 @@

    Gst.init(None)

    port = '8554'
    pipeline = 'avfvideosrc ! video/x-raw,width=640,height=480 ! vtenc_h264_hw ! queue ! rtph264pay name=pay0 pt=96'
    mount = '/test'
    import argparse
    parser = argparse.ArgumentParser(description='GStreamer RTSP server test-launch')
    parser.add_argument('-p', '--port', default="8554", help='server port (defaults to "8554")')
    parser.add_argument('-m', '--mount', default="/test", help='mount point (defaults to "/test")')
    parser.add_argument('pipeline', help='GStreamer pipeline', nargs='+')
    args = parser.parse_args()

    port = args.port
    mount = args.mount
    pipeline = ' '.join(args.pipeline)

    server = GstRtspServer.RTSPServer()
    server.service = port
  3. mrtj created this gist Apr 5, 2022.
    25 changes: 25 additions & 0 deletions test-launch.py
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,25 @@
    import gi

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

    Gst.init(None)

    port = '8554'
    pipeline = 'avfvideosrc ! video/x-raw,width=640,height=480 ! vtenc_h264_hw ! queue ! rtph264pay name=pay0 pt=96'
    mount = '/test'

    server = GstRtspServer.RTSPServer()
    server.service = port
    mounts = server.get_mount_points()
    factory = GstRtspServer.RTSPMediaFactory()
    factory.set_launch(pipeline)
    factory.set_shared(True)
    mounts.add_factory('/test', factory)
    server.attach()

    print('stream ready at rtsp://127.0.0.1:%s%s' % (port, mount))

    loop = GLib.MainLoop()
    loop.run()