Pluto TV im Zwangs-Vollbild halten
Bauanleitung · Browser-Automatisierung
Pluto TV im Zwangs-Vollbild halten
Ein Userscript, das den Player bei jedem Folgenwechsel automatisch wieder auf volle Bildschirmgröße presst — damit OBS ein sauberes Signal ohne Menüs, Sprünge oder EPG-Einblendungen aufzeichnet.
Funktioniert zuverlässig. CSS-Overrides + MutationObserver sind eine bewährte Technik. Einziges Risiko: Wenn Pluto TV sein Layout grundlegend ändert, müssen die Klassennamen im Skript einmalig nachgezogen werden.
Benötigte Teile
- Chrome, Firefox, Brave oder Edge
- Tampermonkey oder Violentmonkey
- Das Userscript (unten, fertig zum Einfügen)
- OBS für die Aufnahme
Userscript-Manager installieren
Falls noch nicht vorhanden: Tampermonkey oder Violentmonkey aus dem Add-on-Store deines Browsers installieren.
Neues Skript anlegen
Auf das Icon von Tampermonkey/Violentmonkey klicken → Neues Skript erstellen. Den Platzhalter-Code komplett löschen.
Code einfügen und speichern
Den kompletten Block unten in den leeren Editor einfügen, dann mit Strg + S speichern.
// ==UserScript== // @name Pluto TV Permanent Fullscreen Enforcer // @namespace http://tampermonkey.net/ // @version 2.0 // @description Erzwingt dauerhaftes Vollbild und verhindert Minimierung bei Episodenwechsel // @author Jens // @match https://pluto.tv/* // @grant GM_addStyle // @run-at document-start // ==/UserScript== (function() { 'use strict'; // 1. CSS fest im Browser verankern (überschreibt alle Styles von Pluto TV) const cssRules = ` /* Blendet Header, Navigation, Kanal-Listen, Sidebar und EPG komplett aus */ header, nav, aside, footer, .sidebar, .channel-guide, .timeline, [class*="Guide_"], [class*="Header_"], [class*="Sidebar_"], [class*="jellyroll"], [class*="overlay-controls"] { display: none !important; visibility: hidden !important; height: 0 !important; width: 0 !important; } /* Setzt Body und HTML auf festes Schwarz ohne Scrollbalken */ html, body { overflow: hidden !important; background-color: #000000 !important; margin: 0 !important; padding: 0 !important; width: 100vw !important; height: 100vh !important; } /* Zwingt den Hauptcontainer und Player auf die volle Fenstergröße */ #root, main, [class*="PlayerContainer"], [class*="video-player"], [class*="Player_"] { position: fixed !important; top: 0 !important; left: 0 !important; width: 100vw !important; height: 100vh !important; z-index: 2147483640 !important; background-color: #000000 !important; } /* Hält das Video-Element bildschirmfüllend und wahrt das korrekte Format */ video { position: fixed !important; top: 0 !important; left: 0 !important; width: 100vw !important; height: 100vh !important; object-fit: contain !important; z-index: 2147483647 !important; background-color: #000000 !important; } `; if (typeof GM_addStyle !== "undefined") { GM_addStyle(cssRules); } else { const style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = cssRules; document.head.appendChild(style); } // 2. MutationObserver: reagiert in Echtzeit auf neue Player-Knoten const enforceVideoSize = () => { const videos = document.querySelectorAll('video'); videos.forEach(v => { if (v.style.position !== 'fixed') { v.style.setProperty('position', 'fixed', 'important'); v.style.setProperty('top', '0px', 'important'); v.style.setProperty('left', '0px', 'important'); v.style.setProperty('width', '100vw', 'important'); v.style.setProperty('height', '100vh', 'important'); v.style.setProperty('object-fit', 'contain', 'important'); v.style.setProperty('z-index', '2147483647', 'important'); } }); }; const observer = new MutationObserver(() => enforceVideoSize()); observer.observe(document.documentElement, { childList: true, subtree: true }); // Regelmäßige Überprüfung als Fallback setInterval(enforceVideoSize, 1000); })();
Pluto TV öffnen und in Vollbild wechseln
Den gewünschten Stream auf pluto.tv öffnen, dann F11 drücken — der Browser selbst geht ohne Tabs und Taskleiste in den echten Vollbildmodus.
Das Skript hält das Bild danach bei jedem Folgen- oder Werbewechsel automatisch auf voller Größe.In OBS aufnehmen
In OBS eine ganz normale Bildschirmaufnahme oder Anwendungsaufnahme starten. Das Signal kommt jetzt durchgehend scharf und randlos, ohne Sprünge bei Episodenwechseln.
Wenn’s mal nicht mehr passt
Das Skript zielt auf konkrete CSS-Klassenfragmente wie PlayerContainer oder Guide_. Ändert Pluto TV sein Frontend grundlegend, kann es sein, dass einzelne Menüs wieder auftauchen oder der Player nicht mehr greift.
In dem Fall im Browser mit den Entwicklertools (F12) den neuen Klassennamen des Player-Containers nachschauen und in den [class*="..."]-Selektoren im Skript ersetzen.