diff --git a/homeassistant/components/foscam/camera.py b/homeassistant/components/foscam/camera.py index 353c7397d81..f95650853a0 100644 --- a/homeassistant/components/foscam/camera.py +++ b/homeassistant/components/foscam/camera.py @@ -3,6 +3,7 @@ from __future__ import annotations import asyncio +from urllib.parse import quote import voluptuous as vol @@ -152,7 +153,9 @@ class HassFoscamCamera(FoscamEntity, Camera): async def stream_source(self) -> str | None: """Return the stream source.""" if self._rtsp_port: - return f"rtsp://{self._username}:{self._password}@{self._foscam_session.host}:{self._rtsp_port}/video{self._stream}" + _username = quote(self._username) + _password = quote(self._password) + return f"rtsp://{_username}:{_password}@{self._foscam_session.host}:{self._rtsp_port}/video{self._stream}" return None