Rstp url with '@' in their password while using nvurisrcbin

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) GPU
• DeepStream Version 6.3
• Issue Type( questions, new requirements, bugs) Question
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)

nvurisrcbin cannot stream an RTSP URL when the password contains ‘@’. I implemented a workaround, but it appears to be a somewhat crude solution. Is there a more sophisticated approach to address this issue?\

username = 'username'
password = 'p@ssword'

    def decodebin_child_added(child_proxy, Object, name, user_data):
        global username, password
        if name == 'src':
            Object.set_property('user-id', username)
            Object.set_property('user-pw',  password)

        if (name.find("decodebin") != -1):
            Object.connect("child-added", self.decodebin_child_added, user_data)
        if (name.find("nvv4l2decoder") != -1):
            if (is_aarch64()):
                Object.set_property("enable-max-performance", True)
                Object.set_property("drop-frame-interval", 0)
                Object.set_property("num-extra-surfaces", 0)
                Object.set_property("gpu_id", self.gpu_id)
                # Object.set_property("drop-frame-interval", 20)
        if "source" in name:
            source_element = child_proxy.get_by_name("source")
            if source_element.find_property("drop-on-latency") != None:
                Object.set_property("drop-on-latency", True)

You can use %40 instead of the @

1 Like

Could you tell us how to build a rtsp stream with username and password?

this is the rtsp stream` rtsp://admin:ad@min@’

this worked for me

’ rtsp://admin:ad%40min@’

Thank You

%40%40 didn’t work for @@ in password

this works for me, but does nvurisrcbin creates a childpad ‘src’ for all kinds of rtsp streams?

Actually, the nvurisrcbin uses urideocdebin internally. The behavior related to the source is consistent with urideocdebin.