{"id":14949,"date":"2026-07-17T09:41:04","date_gmt":"2026-07-17T09:41:04","guid":{"rendered":"https:\/\/blog.bachi.net\/?p=14949"},"modified":"2026-07-17T09:42:09","modified_gmt":"2026-07-17T09:42:09","slug":"youtube-downloader","status":"publish","type":"post","link":"https:\/\/blog.bachi.net\/?p=14949","title":{"rendered":"YouTube Downloader"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/yt-dlp\/yt-dlp\/releases\">github.com\/yt-dlp\/yt-dlp\/releases<\/a><br \/>\n<a href=\"https:\/\/github.com\/Dinesh6777\/Universal-Video-Downloader-GUI\/releases\">github.com\/Dinesh6777\/Universal-Video-Downloader-GUI\/releases<\/a><\/p>\n<p>&nbsp;<\/p>\n<div id=\"846b0a0cc0692b39\" class=\"conversation-container message-actions-hover-boundary ng-star-inserted\">\n<div class=\"user-query-container\">\n<div id=\"user-query-content-0\" class=\"query-content ng-star-inserted\" data-hveid=\"0\" data-ved=\"0CAAQ3ucQahcKEwiExJ3P5r6VAxUAAAAAHQAAAAAQeg\">\n<div class=\"query-text gds-body-l\" dir=\"ltr\" role=\"heading\" aria-level=\"2\">\n<p class=\"query-text-line ng-star-inserted\">Wie kann ich yt-dlp benutzen mit deno und Google chrome? Kannst du mir issue 7271 erkl\u00e4ren und eine L\u00f6sung vorschlagen?<\/p>\n<\/div>\n<\/div>\n<div class=\"luminous-actions-container ng-star-inserted\"><\/div>\n<\/div>\n<div>\n<div class=\"response-container response-container-with-gpi ng-tns-c1279277454-11 no-background\" data-hveid=\"1\">\n<div class=\"response-container-header ng-tns-c1279277454-11 ng-star-inserted\">\n<div class=\"response-container-header-controls ng-tns-c1279277454-11\">\n<div class=\"ng-tns-c1279277454-11 tts ng-trigger ng-trigger-singleResponseEnter ng-star-inserted\">\n<div class=\"single-draft-response-container ng-tns-c1279277454-11\"><\/div>\n<\/div>\n<\/div>\n<div class=\"response-container-header-status ng-tns-c1279277454-11\">\n<div class=\"response-container-header-processing-state ng-tns-c1279277454-11\"><\/div>\n<\/div>\n<\/div>\n<div class=\"presented-response-container ng-tns-c1279277454-11\" data-hveid=\"2\">\n<div class=\"response-container-content ng-tns-c1279277454-11 has-thoughts\">\n<div class=\"response-content ng-tns-c1279277454-11\">\n<div class=\"model-response-label-announcer\" aria-live=\"off\" aria-busy=\"false\"><\/div>\n<div class=\"container\">\n<div id=\"model-response-message-contentr_846b0a0cc0692b39\" class=\"markdown markdown-main-panel enable-luminous-fast-follows enable-updated-hr-color\" dir=\"ltr\" aria-busy=\"false\" aria-live=\"off\">\n<p data-path-to-node=\"0\">Die Verwendung von <code data-path-to-node=\"0\" data-index-in-node=\"19\">yt-dlp<\/code> in Kombination mit <b data-path-to-node=\"0\" data-index-in-node=\"45\">Deno<\/b> und <b data-path-to-node=\"0\" data-index-in-node=\"54\">Google Chrome<\/b> ist ein hervorragender Weg, um Downloads programmatisch zu steuern und gleichzeitig Login-Sitzungen (Cookies) zu nutzen.<\/p>\n<p data-path-to-node=\"1\">Hier ist die Erkl\u00e4rung, wie du beides verbindest, was es mit dem bekannten <b data-path-to-node=\"1\" data-index-in-node=\"75\">Issue #7271<\/b> auf sich hat und wie du das Problem l\u00f6st.<\/p>\n<h2 data-path-to-node=\"3\">1. yt-dlp mit Deno nutzen<\/h2>\n<p data-path-to-node=\"4\">In Deno kannst du externe CLI-Tools wie <code data-path-to-node=\"4\" data-index-in-node=\"40\">yt-dlp<\/code> \u00fcber die <code data-path-to-node=\"4\" data-index-in-node=\"56\">Deno.Command<\/code>-API ausf\u00fchren.<\/p>\n<p data-path-to-node=\"5\">Hier ist ein einfaches Beispiel, wie du <code data-path-to-node=\"5\" data-index-in-node=\"40\">yt-dlp<\/code> aufrufst und anweist, die Cookies aus Google Chrome zu lesen:<\/p>\n<div class=\"code-block ng-tns-c588334227-19 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiExJ3P5r6VAxUAAAAAHQAAAAAQgwE\">\n<div class=\"formatted-code-block-internal-container ng-tns-c588334227-19\">\n<div class=\"animated-opacity ng-tns-c588334227-19\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c588334227-19 ng-star-inserted\"><span class=\"ng-tns-c588334227-19\">TypeScript<\/span><\/p>\n<div class=\"buttons ng-tns-c588334227-19 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c588334227-19\"><code class=\"code-container formatted ng-tns-c588334227-19\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-comment\">\/\/ download.ts<\/span>\r\n<span class=\"hljs-keyword\">const<\/span> url = <span class=\"hljs-string\">\"https:\/\/www.youtube.com\/watch?v=dQw4w9WgXcQ\"<\/span>;\r\n\r\n<span class=\"hljs-keyword\">const<\/span> command = <span class=\"hljs-keyword\">new<\/span> Deno.Command(<span class=\"hljs-string\">\"yt-dlp\"<\/span>, {\r\n  <span class=\"hljs-attr\">args<\/span>: [\r\n    <span class=\"hljs-string\">\"--cookies-from-browser\"<\/span>, <span class=\"hljs-string\">\"chrome\"<\/span>,\r\n    <span class=\"hljs-string\">\"--format\"<\/span>, <span class=\"hljs-string\">\"bestvideo+bestaudio\/best\"<\/span>,\r\n    url\r\n  ],\r\n  <span class=\"hljs-attr\">stdout<\/span>: <span class=\"hljs-string\">\"piped\"<\/span>,\r\n  <span class=\"hljs-attr\">stderr<\/span>: <span class=\"hljs-string\">\"piped\"<\/span>,\r\n});\r\n\r\n<span class=\"hljs-built_in\">console<\/span>.log(<span class=\"hljs-string\">\"Starte Download...\"<\/span>);\r\n<span class=\"hljs-keyword\">const<\/span> { code, stdout, stderr } = <span class=\"hljs-keyword\">await<\/span> command.output();\r\n\r\n<span class=\"hljs-keyword\">if<\/span> (code === <span class=\"hljs-number\">0<\/span>) {\r\n  <span class=\"hljs-built_in\">console<\/span>.log(<span class=\"hljs-string\">\"Download erfolgreich!\"<\/span>);\r\n} <span class=\"hljs-keyword\">else<\/span> {\r\n  <span class=\"hljs-keyword\">const<\/span> errorString = <span class=\"hljs-keyword\">new<\/span> TextDecoder().decode(stderr);\r\n  <span class=\"hljs-built_in\">console<\/span>.error(<span class=\"hljs-string\">\"Fehler beim Download:\"<\/span>, errorString);\r\n}\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<blockquote data-path-to-node=\"7\">\n<p data-path-to-node=\"7,0\"><b data-path-to-node=\"7,0\" data-index-in-node=\"0\">Hinweis:<\/b> Um dieses Skript auszuf\u00fchren, ben\u00f6tigt Deno die Berechtigung, Subprozesse zu starten. Der Befehl lautet: <code data-path-to-node=\"7,0\" data-index-in-node=\"114\">deno run --allow-run download.ts<\/code><\/p>\n<\/blockquote>\n<h2 data-path-to-node=\"9\">2. Erkl\u00e4rung zu Issue #7271<\/h2>\n<p data-path-to-node=\"10\">Wenn du den obigen Code ausf\u00fchrst, w\u00e4hrend Google Chrome ge\u00f6ffnet ist, wirst du unter Windows (und manchmal macOS) sehr wahrscheinlich auf folgende Fehlermeldung sto\u00dfen: <code data-path-to-node=\"10\" data-index-in-node=\"170\">ERROR: Could not copy Chrome cookie database. See https:\/\/github.com\/yt-dlp\/yt-dlp\/issues\/7271 for more info.<\/code><\/p>\n<h3 data-path-to-node=\"11\">Das Problem<\/h3>\n<p data-path-to-node=\"12\"><b data-path-to-node=\"12\" data-index-in-node=\"0\">Issue #7271<\/b> beschreibt einen Konflikt bei der Dateisperrung. Moderne Chromium-Browser (Chrome, Edge, Brave) sperren die SQLite-Datenbank, in der deine Cookies gespeichert sind (<code data-path-to-node=\"12\" data-index-in-node=\"177\">Network Persistent State<\/code> \/ <code data-path-to-node=\"12\" data-index-in-node=\"204\">Cookies<\/code>), sobald der Browser ge\u00f6ffnet ist (Feature: <code data-path-to-node=\"12\" data-index-in-node=\"256\">LockProfileCookieDatabase<\/code>).<\/p>\n<p data-path-to-node=\"13\">Wenn <code data-path-to-node=\"13\" data-index-in-node=\"5\">yt-dlp<\/code> versucht, diese Datei zu kopieren oder zu lesen, um die Sitzungsdaten f\u00fcr YouTube zu extrahieren, verweigert das Betriebssystem den Zugriff mit einem <b data-path-to-node=\"13\" data-index-in-node=\"162\">&#8220;Permission Denied&#8221;<\/b>-Fehler.<\/p>\n<h2 data-path-to-node=\"15\">3. L\u00f6sungen f\u00fcr das Cookie-Problem<\/h2>\n<p data-path-to-node=\"16\">Es gibt drei g\u00e4ngige Wege, um dieses Problem zu umgehen:<\/p>\n<h3 data-path-to-node=\"17\">L\u00f6sung A: Chrome vor dem Ausf\u00fchren schlie\u00dfen (Die einfachste Methode)<\/h3>\n<p data-path-to-node=\"18\">Schlie\u00dfe alle Instanzen von Google Chrome vollst\u00e4ndig, bevor du dein Deno-Skript startest. Sobald Chrome geschlossen ist, gibt das Betriebssystem die Cookie-Datenbank frei und <code data-path-to-node=\"18\" data-index-in-node=\"176\">yt-dlp<\/code> kann fehlerfrei darauf zugreifen.<\/p>\n<h3 data-path-to-node=\"19\">L\u00f6sung B: Cookies manuell exportieren (Die robusteste Methode)<\/h3>\n<p data-path-to-node=\"20\">Da das Auslesen direkt aus dem Browser zunehmend instabil wird, empfiehlt das <code data-path-to-node=\"20\" data-index-in-node=\"78\">yt-dlp<\/code>-Team, die Cookies manuell in eine Textdatei zu exportieren.<\/p>\n<ol start=\"1\" data-path-to-node=\"21\">\n<li>\n<p data-path-to-node=\"21,0,0\">Installiere eine Browser-Erweiterung wie <i data-path-to-node=\"21,0,0\" data-index-in-node=\"41\">Get cookies.txt LOCALLY<\/i> oder <i data-path-to-node=\"21,0,0\" data-index-in-node=\"70\">Export Cookies<\/i>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"21,1,0\">Exportiere deine Cookies f\u00fcr YouTube als <code data-path-to-node=\"21,1,0\" data-index-in-node=\"41\">cookies.txt<\/code>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"21,2,0\">Passe dein Deno-Skript an, um diese Datei direkt zu nutzen:<\/p>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c588334227-20 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiExJ3P5r6VAxUAAAAAHQAAAAAQhAE\">\n<div class=\"formatted-code-block-internal-container ng-tns-c588334227-20\">\n<div class=\"animated-opacity ng-tns-c588334227-20\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c588334227-20 ng-star-inserted\"><span class=\"ng-tns-c588334227-20\">TypeScript<\/span><\/p>\n<div class=\"buttons ng-tns-c588334227-20 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c588334227-20\"><code class=\"code-container formatted ng-tns-c588334227-20\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-comment\">\/\/ Nutze die exportierte Datei statt des Browsers<\/span>\r\n<span class=\"hljs-attr\">args<\/span>: [\r\n  <span class=\"hljs-string\">\"--cookies\"<\/span>, <span class=\"hljs-string\">\".\/cookies.txt\"<\/span>, \r\n  url\r\n]\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h3 data-path-to-node=\"23\">L\u00f6sung C: Chrome-Sperre via Verkn\u00fcpfung deaktivieren<\/h3>\n<p data-path-to-node=\"24\">Falls du Chrome unbedingt offen lassen musst, kannst du Chrome mit einem speziellen Flag starten, welches die Datenbanksperre deaktiviert:<\/p>\n<ul data-path-to-node=\"25\">\n<li>\n<p data-path-to-node=\"25,0,0\"><b data-path-to-node=\"25,0,0\" data-index-in-node=\"0\">Windows:<\/b> Erstelle eine Kopie deiner Chrome-Verkn\u00fcpfung, mache einen Rechtsklick -&gt; <i data-path-to-node=\"25,0,0\" data-index-in-node=\"83\">Eigenschaften<\/i> und h\u00e4nge folgendes an das Feld <i data-path-to-node=\"25,0,0\" data-index-in-node=\"129\">Ziel<\/i> an: <code data-path-to-node=\"25,0,0\" data-index-in-node=\"138\">--disable-features=LockProfileCookieDatabase<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"25,1,0\"><b data-path-to-node=\"25,1,0\" data-index-in-node=\"0\">macOS (Terminal):<\/b> <code data-path-to-node=\"25,1,0\" data-index-in-node=\"18\">open -a \"Google Chrome\" --args --disable-features=LockProfileCookieDatabase<\/code><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<div class=\"response-footer complete has-thoughts gap\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"response-container-footer ng-tns-c1279277454-11 ng-star-inserted\">\n<div class=\"actions-container-v2 ng-tns-c3067191576-12\">\n<div class=\"buttons-container-v2 ng-tns-c3067191576-12 ng-star-inserted\"><button class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted\" aria-label=\"Gute Antwort\" aria-pressed=\"false\"><\/button><button class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted\" aria-label=\"Schlechte Antwort\" aria-pressed=\"false\"><\/button><button class=\"mdc-icon-button mat-mdc-icon-button mat-mdc-button-base mat-badge mat-unthemed mat-badge-overlap mat-badge-above mat-badge-after mat-badge-small mat-badge-hidden ng-star-inserted\" aria-label=\"Kopieren\"><\/button><\/p>\n<div class=\"ng-tns-c3067191576-12 ng-star-inserted\">\n<div class=\"menu-button-wrapper ng-tns-c3067191576-12 ng-star-inserted\">\n<div class=\"more-menu-button-container ng-tns-c3067191576-12\"><\/div>\n<\/div>\n<\/div>\n<div class=\"spacer ng-tns-c3067191576-12 ng-star-inserted\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"restart-chat-button-scroll-placeholder ng-star-inserted\"><\/div>\n<\/div>\n<div id=\"d9258800b2d0e1a7\" class=\"conversation-container message-actions-hover-boundary ng-star-inserted\">\n<div class=\"user-query-container\">\n<div class=\"file-preview-container ng-star-inserted\"><\/div>\n<div id=\"user-query-content-1\" class=\"query-content ng-star-inserted\" data-hveid=\"0\" data-ved=\"0CAAQ3ucQahgKEwiExJ3P5r6VAxUAAAAAHQAAAAAQigE\">\n<div class=\"query-text gds-body-l\" dir=\"ltr\" role=\"heading\" aria-level=\"2\">\n<p class=\"query-text-line ng-star-inserted\">Ich habe Chrome geschlossen. Jetzt gibt es eine anderer Fehlermeldung:<\/p>\n<p class=\"query-text-line ng-star-inserted\">[21:37:45] [ERROR] ERROR: Failed to decrypt with DPAPI. See\u00a0 https:\/\/github.com\/yt-dlp\/yt-dlp\/issues\/10927\u00a0 for more info.<\/p>\n<p class=\"query-text-line ng-star-inserted\">Kannst du mir das erkl\u00e4ren?<\/p>\n<\/div>\n<\/div>\n<div class=\"luminous-actions-container ng-star-inserted\"><\/div>\n<\/div>\n<div>\n<div class=\"response-container response-container-with-gpi ng-tns-c1279277454-21 no-background response-container-has-multiple-responses\" data-hveid=\"1\">\n<div class=\"response-container-header ng-tns-c1279277454-21 ng-star-inserted\">\n<div class=\"response-container-header-controls ng-tns-c1279277454-21\"><\/div>\n<div class=\"response-container-header-status ng-tns-c1279277454-21\">\n<div class=\"response-container-header-processing-state ng-tns-c1279277454-21\"><\/div>\n<\/div>\n<\/div>\n<div class=\"presented-response-container ng-tns-c1279277454-21\" data-hveid=\"2\">\n<div class=\"response-container-content ng-tns-c1279277454-21\">\n<div class=\"response-content ng-tns-c1279277454-21\">\n<div class=\"model-response-label-announcer\" aria-live=\"off\" aria-busy=\"false\"><\/div>\n<div class=\"container\">\n<div id=\"model-response-message-contentr_d9258800b2d0e1a7\" class=\"markdown markdown-main-panel enable-luminous-fast-follows enable-updated-hr-color\" dir=\"ltr\" aria-busy=\"false\" aria-live=\"polite\">\n<p data-path-to-node=\"0\">Diesen Fehler hast du dir nicht ausgesucht \u2013 du bist hier gerade \u00fcber eine der gr\u00f6\u00dften H\u00fcrden gestolpert, die Google in Chromium eingebaut hat.<\/p>\n<h2 data-path-to-node=\"1\">Das Problem: Was bedeutet Issue #10927?<\/h2>\n<p data-path-to-node=\"2\"><b data-path-to-node=\"2\" data-index-in-node=\"0\">DPAPI<\/b> steht f\u00fcr <i data-path-to-node=\"2\" data-index-in-node=\"16\">Data Protection API<\/i> (eine Verschl\u00fcsselungsschnittstelle von Windows).<\/p>\n<p data-path-to-node=\"3\">Google Chrome hat eine versch\u00e4rfte Sicherheitsfunktion namens <b data-path-to-node=\"3\" data-index-in-node=\"62\">Application-Bound Encryption<\/b> (anwendungsgebundene Verschl\u00fcsselung) eingef\u00fchrt. Fr\u00fcher konnte jedes Programm, das unter deinem Windows-Benutzerkonto lief (wie <code data-path-to-node=\"3\" data-index-in-node=\"220\">yt-dlp<\/code>), deine Chrome-Cookies mit DPAPI entschl\u00fcsseln.<\/p>\n<p data-path-to-node=\"4\">Jetzt signiert Chrome den Verschl\u00fcsselungs-Key so, dass <b data-path-to-node=\"4\" data-index-in-node=\"56\">nur noch die originale <code data-path-to-node=\"4\" data-index-in-node=\"79\">chrome.exe<\/code> selbst<\/b> diesen Key jemals wieder entschl\u00fcsseln darf. Wenn ein externes Tool wie <code data-path-to-node=\"4\" data-index-in-node=\"169\">yt-dlp<\/code> versucht, an die Keys heranzukommen, verweigert Windows den Dienst und wirft genau diesen Fehler: <code data-path-to-node=\"4\" data-index-in-node=\"274\">Failed to decrypt with DPAPI<\/code>.<\/p>\n<p data-path-to-node=\"5\">Da das eine fundamentale \u00c4nderung in Windows-Chrome ist, kann <code data-path-to-node=\"5\" data-index-in-node=\"62\">yt-dlp<\/code> dieses Problem beim direkten Browser-Zugriff technisch nicht mehr umgehen.<\/p>\n<h2 data-path-to-node=\"7\">Die L\u00f6sungen<\/h2>\n<p data-path-to-node=\"8\">Da das direkte Auslesen aus Chrome unter Windows dauerhaft blockiert ist, hast du drei Optionen, um dein Deno-Skript wieder zum Laufen zu bringen:<\/p>\n<h3 data-path-to-node=\"9\">L\u00f6sung 1: Cookies exportieren (Empfohlen)<\/h3>\n<p data-path-to-node=\"10\">Das ist der sauberste und vom <code data-path-to-node=\"10\" data-index-in-node=\"30\">yt-dlp<\/code>-Team empfohlene Weg.<\/p>\n<ol start=\"1\" data-path-to-node=\"11\">\n<li>\n<p data-path-to-node=\"11,0,0\">Installiere im Chrome Web Store eine Extension wie <b data-path-to-node=\"11,0,0\" data-index-in-node=\"51\">&#8220;Get cookies.txt LOCALLY&#8221;<\/b>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,1,0\">Besuche YouTube, klicke auf das Extension-Icon und exportiere die Cookies als Textdatei (z. B. <code data-path-to-node=\"11,1,0\" data-index-in-node=\"95\">cookies.txt<\/code>).<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,2,0\">Verschiebe die Datei in deinen Deno-Projektordner und passe die Argumente im Skript an:<\/p>\n<\/li>\n<\/ol>\n<div class=\"code-block ng-tns-c588334227-27 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiExJ3P5r6VAxUAAAAAHQAAAAAQlAE\">\n<div class=\"formatted-code-block-internal-container ng-tns-c588334227-27\">\n<div class=\"animated-opacity ng-tns-c588334227-27\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c588334227-27 ng-star-inserted\"><span class=\"ng-tns-c588334227-27\">TypeScript<\/span><\/p>\n<div class=\"buttons ng-tns-c588334227-27 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c588334227-27\"><code class=\"code-container formatted ng-tns-c588334227-27\" role=\"text\" data-test-id=\"code-content\"><span class=\"hljs-comment\">\/\/ Passe dein Deno-Skript an:<\/span>\r\n<span class=\"hljs-attr\">args<\/span>: [\r\n  <span class=\"hljs-string\">\"--cookies\"<\/span>, <span class=\"hljs-string\">\".\/cookies.txt\"<\/span>, <span class=\"hljs-comment\">\/\/ Ersetzt --cookies-from-browser<\/span>\r\n  <span class=\"hljs-string\">\"--format\"<\/span>, <span class=\"hljs-string\">\"bestvideo+bestaudio\/best\"<\/span>,\r\n  url\r\n],\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h3 data-path-to-node=\"13\">L\u00f6sung 2: Auf Firefox umsteigen<\/h3>\n<p data-path-to-node=\"14\">Firefox nutzt diese anwendungsgebundene Windows-Verschl\u00fcsselung nicht. Wenn du deine YouTube-Sitzung in Firefox startest, klappt der direkte Zugriff aus dem Skript weiterhin problemlos.<\/p>\n<p data-path-to-node=\"15\">Du musst im Deno-Code lediglich den Browser-Namen \u00e4ndern:<\/p>\n<div class=\"code-block ng-tns-c588334227-28 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation\" data-hveid=\"0\" data-ved=\"0CAAQhtANahgKEwiExJ3P5r6VAxUAAAAAHQAAAAAQlQE\">\n<div class=\"formatted-code-block-internal-container ng-tns-c588334227-28\">\n<div class=\"animated-opacity ng-tns-c588334227-28\">\n<div class=\"code-block-decoration header-formatted gds-emphasized-body-m ng-tns-c588334227-28 ng-star-inserted\"><span class=\"ng-tns-c588334227-28\">TypeScript<\/span><\/p>\n<div class=\"buttons ng-tns-c588334227-28 ng-star-inserted\"><\/div>\n<\/div>\n<pre class=\"ng-tns-c588334227-28\"><code class=\"code-container formatted ng-tns-c588334227-28\" role=\"text\" data-test-id=\"code-content\">args: [\r\n  <span class=\"hljs-string\">\"--cookies-from-browser\"<\/span>, <span class=\"hljs-string\">\"firefox\"<\/span>, <span class=\"hljs-comment\">\/\/ Chrome durch firefox ersetzen<\/span>\r\n  url\r\n],\r\n<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<h3 data-path-to-node=\"17\">L\u00f6sung 3: Chrome Enterprise-Richtlinie (F\u00fcr Bastler)<\/h3>\n<p data-path-to-node=\"18\">Falls du zwingend Chrome ohne manuelle Exporte nutzen musst, kannst du die neue Verschl\u00fcsselung \u00fcber die Windows-Registry (Group Policy) komplett abschalten.<\/p>\n<blockquote data-path-to-node=\"19\">\n<p data-path-to-node=\"19,0\"><b data-path-to-node=\"19,0\" data-index-in-node=\"0\">Achtung:<\/b> Das senkt die Sicherheit deines Browsers, da auch Schadsoftware theoretisch wieder leichter an deine Cookies gelangen kann. Zudem werden dabei alle deine aktuell im Browser gespeicherten Passw\u00f6rter\/Cookies einmalig zur\u00fcckgesetzt.<\/p>\n<\/blockquote>\n<p data-path-to-node=\"20\">Falls du das dennoch tun m\u00f6chtest, musst du in der Windows-Registrierung den folgenden Registry-Eintrag setzen und Chrome neu starten:<\/p>\n<ul data-path-to-node=\"21\">\n<li>\n<p data-path-to-node=\"21,0,0\">Pfad: <code data-path-to-node=\"21,0,0\" data-index-in-node=\"6\">HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Google\\Chrome<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"21,1,0\">Name: <code data-path-to-node=\"21,1,0\" data-index-in-node=\"6\">ApplicationBoundEncryptionEnabled<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"21,2,0\">Typ: <code data-path-to-node=\"21,2,0\" data-index-in-node=\"5\">DWORD<\/code><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"21,3,0\">Wert: <code data-path-to-node=\"21,3,0\" data-index-in-node=\"6\">0<\/code><\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>github.com\/yt-dlp\/yt-dlp\/releases github.com\/Dinesh6777\/Universal-Video-Downloader-GUI\/releases &nbsp; Wie kann ich yt-dlp benutzen mit deno und Google chrome? Kannst du mir issue 7271 erkl\u00e4ren und eine L\u00f6sung vorschlagen? Die Verwendung von yt-dlp in Kombination mit Deno und Google Chrome ist ein hervorragender Weg, um Downloads programmatisch zu steuern und gleichzeitig Login-Sitzungen (Cookies) zu nutzen. Hier ist die Erkl\u00e4rung, wie du [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-14949","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/14949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14949"}],"version-history":[{"count":3,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/14949\/revisions"}],"predecessor-version":[{"id":14952,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=\/wp\/v2\/posts\/14949\/revisions\/14952"}],"wp:attachment":[{"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14949"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14949"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.bachi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}