Hello,
I am testing RTSP multi factory with gst-rtsp-server source.
Compile it like this:
gst-rtsp-server/examples$ gcc test-auth.c -o test-auth $(pkg-config --cflags --libs gstreamer-1.0 gstreamer-rtsp-server-1.0)
After running the RTSP server
gst-rtsp-server/examples$ ./test-auth --gst-debug=4
When connecting to the second factory locally, an error occurs.rtsp_local_client.sh (539 Bytes)
nvidia@tegra-ubuntu:~/_script/test$ ./rtsp_local_client.sh
Setting pipeline to PAUSED ...
Opening in BLOCKING MODE
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://admin2:power2@127.0.0.1:8554/test2
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not open resource for reading.
Additional debug info:
gstrtspsrc.c(5829): gst_rtspsrc_setup_auth (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
No supported authentication protocol was found
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
In Server
gst-rtsp-server/examples$ ./test-auth --gst-debug=4
0:00:00.001091525 12943 0x55b0e8c6c0 INFO GST_INIT gstmessage.c:127:_priv_gst_message_initialize: init messages
0:00:00.003079567 12943 0x55b0e8c6c0 INFO GST_INIT gstcontext.c:84:_priv_gst_context_initialize: init contexts
0:00:00.003788882 12943 0x55b0e8c6c0 INFO GST_PLUGIN_LOADING gstplugin.c:317:_priv_gst_plugin_initialize: registering 0 static plugins
0:00:00.004106291 12943 0x55b0e8c6c0 INFO GST_PLUGIN_LOADING gstplugin.c:225:gst_plugin_register_static: registered static plugin "staticelements"
0:00:00.004149684 12943 0x55b0e8c6c0 INFO GST_PLUGIN_LOADING gstplugin.c:227:gst_plugin_register_static: added static plugin "staticelements", result: 1
0:00:00.004245428 12943 0x55b0e8c6c0 INFO GST_REGISTRY gstregistry.c:1727:ensure_current_registry: reading registry cache: /home/nvidia/.cache/gstreamer-1.0/registry.aarch64.bin
0:00:00.064520855 12943 0x55b0e8c6c0 INFO GST_REGISTRY gstregistrybinary.c:621:priv_gst_registry_binary_read_cache: loaded /home/nvidia/.cache/gstreamer-1.0/registry.aarch64.bin in 0.060158 seconds
0:00:00.064701528 12943 0x55b0e8c6c0 INFO GST_REGISTRY gstregistry.c:1583:scan_and_update_registry: Validating plugins from registry cache: /home/nvidia/.cache/gstreamer-1.0/registry.aarch64.bin
0:00:00.068528618 12943 0x55b0e8c6c0 INFO GST_REGISTRY gstregistry.c:1685:scan_and_update_registry: Registry cache has not changed
0:00:00.068597707 12943 0x55b0e8c6c0 INFO GST_REGISTRY gstregistry.c:1762:ensure_current_registry: registry reading and updating done, result = 1
0:00:00.068654955 12943 0x55b0e8c6c0 INFO GST_INIT gst.c:807:init_post: GLib runtime version: 2.56.4
0:00:00.068692811 12943 0x55b0e8c6c0 INFO GST_INIT gst.c:809:init_post: GLib headers version: 2.56.4
0:00:00.068715691 12943 0x55b0e8c6c0 INFO GST_INIT gst.c:810:init_post: initialized GStreamer successfully
0:00:00.069365326 12943 0x55b0e8c6c0 INFO rtspmountpoints rtsp-mount-points.c:333:gst_rtsp_mount_points_add_factory: adding media factory 0x55b0e8d600 for path /test
0:00:00.069486287 12943 0x55b0e8c6c0 INFO rtspmountpoints rtsp-mount-points.c:333:gst_rtsp_mount_points_add_factory: adding media factory 0x55b0e8d6c0 for path /test2
stream with user:password ready at rtsp://127.0.0.1:8554/test
stream with admin:power ready at rtsp://127.0.0.1:8554/test
stream with admin2:power2 ready at rtsp://127.0.0.1:8554/test2
removing all sessions
0:00:43.484679178 12943 0x55b0e8c6c0 INFO rtspclient rtsp-client.c:4132:gst_rtsp_client_set_connection: client 0x55b10d2180 connected to server ip 127.0.0.1, ipv6 = 0
0:00:43.484769450 12943 0x55b0e8c6c0 INFO rtspclient rtsp-client.c:4135:gst_rtsp_client_set_connection: added new client 0x55b10d2180 ip 127.0.0.1:36710
0:00:43.485099980 12943 0x55b0e8c6c0 INFO rtspclient rtsp-client.c:4631:gst_rtsp_client_attach: client 0x55b10d2180: attaching to context 0x55b10d1620
0:00:43.485243404 12943 0x55b0f93f70 INFO rtspthreadpool rtsp-thread-pool.c:330:do_loop: enter mainloop of thread 0x55b10caf30
0:00:43.487119957 12943 0x55b0f93f70 INFO rtspclient rtsp-client.c:3468:handle_request: client 0x55b10d2180: received a request OPTIONS rtsp://127.0.0.1:8554/test2 1.0
0:00:43.489245888 12943 0x55b0f93f70 INFO rtspclient rtsp-client.c:3468:handle_request: client 0x55b10d2180: received a request DESCRIBE rtsp://127.0.0.1:8554/test2 1.0
0:00:43.489355840 12943 0x55b0f93f70 INFO rtspmountpoints rtsp-mount-points.c:300:gst_rtsp_mount_points_match: found media factory 0x55b0e8d6c0 for path /test2
0:00:43.489503745 12943 0x55b0f93f70 ERROR rtspclient rtsp-client.c:1022:find_media: client 0x55b10d2180: not authorized to see factory path /test2
0:00:43.489539201 12943 0x55b0f93f70 ERROR rtspclient rtsp-client.c:2910:handle_describe_request: client 0x55b10d2180: no media
0:00:43.490388005 12943 0x55b0f93f70 INFO rtspclient rtsp-client.c:4352:closed: client 0x55b10d2180: connection closed
0:00:43.490453446 12943 0x55b0f93f70 INFO rtspclient rtsp-client.c:4584:client_watch_notify: client 0x55b10d2180: watch destroyed
0:00:43.490602694 12943 0x55b0f93f70 INFO rtspclient rtsp-client.c:737:gst_rtsp_client_finalize: finalize client 0x55b10d2180
0:00:43.490938088 12943 0x55b0f93f70 INFO rtspthreadpool rtsp-thread-pool.c:332:do_loop: exit mainloop of thread 0x55b10caf30
stream with admin:power ready at rtsp://127.0.0.1:8554/test ----------> OK
stream with admin2:power2 ready at rtsp://127.0.0.1:8554/test2 ----------> NG
How do I connect to the second factory?