I am uploading a NMU to fix this.
The debdiff is attached and also available in git.
diff -Nru mkchromecast-0.3.9~git20200902+db2964a/debian/changelog
mkchromecast-0.3.9~git20200902+db2964a/debian/changelog
--- mkchromecast-0.3.9~git20200902+db2964a/debian/changelog 2020-10-16
08:47:59.000000000 +0200
+++ mkchromecast-0.3.9~git20200902+db2964a/debian/changelog 2023-09-18
12:18:36.000000000 +0200
@@ -1,3 +1,10 @@
+mkchromecast (0.3.9~git20200902+db2964a-2.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Replace youtube-dl with yt-dlp (Closes: #1024216).
+
+ -- Bastian Germann <b...@debian.org> Mon, 18 Sep 2023 10:18:36 +0000
+
mkchromecast (0.3.9~git20200902+db2964a-2) unstable; urgency=medium
* Also drop .gitignore files not present in the tarball.
diff -Nru mkchromecast-0.3.9~git20200902+db2964a/debian/control
mkchromecast-0.3.9~git20200902+db2964a/debian/control
--- mkchromecast-0.3.9~git20200902+db2964a/debian/control 2020-10-16
08:47:59.000000000 +0200
+++ mkchromecast-0.3.9~git20200902+db2964a/debian/control 2023-09-18
12:05:32.000000000 +0200
@@ -37,7 +37,7 @@
python3-requests,
sox (>=14.4.1),
vorbis-tools (>=1.4.0),
- youtube-dl,
+ yt-dlp,
${misc:Depends},
${python3:Depends}
Suggests: ffmpeg
diff -Nru mkchromecast-0.3.9~git20200902+db2964a/debian/patches/series
mkchromecast-0.3.9~git20200902+db2964a/debian/patches/series
--- mkchromecast-0.3.9~git20200902+db2964a/debian/patches/series
1970-01-01 01:00:00.000000000 +0100
+++ mkchromecast-0.3.9~git20200902+db2964a/debian/patches/series
2023-09-18 12:15:48.000000000 +0200
@@ -0,0 +1 @@
+yt-dlp.patch
diff -Nru mkchromecast-0.3.9~git20200902+db2964a/debian/patches/yt-dlp.patch
mkchromecast-0.3.9~git20200902+db2964a/debian/patches/yt-dlp.patch
--- mkchromecast-0.3.9~git20200902+db2964a/debian/patches/yt-dlp.patch
1970-01-01 01:00:00.000000000 +0100
+++ mkchromecast-0.3.9~git20200902+db2964a/debian/patches/yt-dlp.patch
2023-09-18 12:16:41.000000000 +0200
@@ -0,0 +1,36 @@
+Description: Replace youtube-dl with yt-dlp
+Author: Bastian Germann <b...@debian.org>
+---
+--- mkchromecast-0.3.9~git20200902+db2964a.orig/mkchromecast/__init__.py
++++ mkchromecast-0.3.9~git20200902+db2964a/mkchromecast/__init__.py
+@@ -786,7 +786,7 @@ if args.loop is True and args.video is T
+ Command
+ """
+ if args.command is not None and args.video is True:
+- safe_commands = ["ffmpeg", "avconv", "youtube-dl"]
++ safe_commands = ["ffmpeg", "avconv", "yt-dlp"]
+ command = shlex.split(args.command)
+ if command[0] not in safe_commands:
+ print(colors.error("Refusing to execute this."))
+--- mkchromecast-0.3.9~git20200902+db2964a.orig/mkchromecast/audio.py
++++ mkchromecast-0.3.9~git20200902+db2964a/mkchromecast/audio.py
+@@ -84,7 +84,7 @@ if youtube_url is not None:
+ query = urllib.parse.parse_qs(url_data.query)
+ video = query["v"][0]
+ print(colors.options("Playing video:") + " " + video)
+- command = ["youtube-dl", "-o", "-", youtube_url]
++ command = ["yt-dlp", "-o", "-", youtube_url]
+ mtype = "audio/mp4"
+ else:
+ if os.path.exists(configf) and tray is True:
+--- mkchromecast-0.3.9~git20200902+db2964a.orig/mkchromecast/video.py
++++ mkchromecast-0.3.9~git20200902+db2964a/mkchromecast/video.py
+@@ -73,7 +73,7 @@ I think that the command below is sendin
+ browser closes the connection.
+ """
+ if youtube_url is not None:
+- command = ["youtube-dl", "-o", "-", youtube_url]
++ command = ["yt-dlp", "-o", "-", youtube_url]
+
+ elif screencast is True:
+ if res is None: