Universal Video Recorder

Tracks videos > 5 mins with a dedicated red overlay. Pulses on play, downloads on pause.

Dovrai installare un'estensione come Tampermonkey, Greasemonkey o Violentmonkey per installare questo script.

You will need to install an extension such as Tampermonkey to install this script.

Dovrai installare un'estensione come Tampermonkey o Violentmonkey per installare questo script.

Dovrai installare un'estensione come Tampermonkey o Userscripts per installare questo script.

Dovrai installare un'estensione come ad esempio Tampermonkey per installare questo script.

Dovrai installare un gestore di script utente per installare questo script.

(Ho già un gestore di script utente, lasciamelo installare!)

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione come ad esempio Stylus per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

Dovrai installare un'estensione per la gestione degli stili utente per installare questo stile.

(Ho già un gestore di stile utente, lasciamelo installare!)

Autore
An Sung
Installazioni giornaliere
0
Installazioni totali
3
Valutazione
0 0 0
Versione
1.0
Creato il
19/05/2026
Aggiornato il
19/05/2026
Dimensione
5,81 KB
Licenza
MIT
Applica a
Tutti i siti

Universal Video Recorder

A lightweight, seamless userscript that automatically detects, records, and downloads HTML5 videos directly from your browser. Designed for ease of use, it ties the recording process directly to the video player's native play and pause events.

✨ Features

  • Automatic Detection: Continually scans the page (even on dynamically loaded single-page applications) and arms any <video> element with a duration longer than 5 minutes.
  • Visual Status Indicators:
    • Solid Red Border: Indicates the script has detected the video and is armed for recording.
    • Pulsing Red Border: Indicates the video is actively playing and being recorded.
  • Zero-Click Capture: No extra buttons or complex HUDs. Simply click Play on the video to start recording, and click Pause to stop and instantly download the file.
  • Decoupled Overlay UI: Uses a clever transparent overlay that perfectly tracks the video's size and position. This ensures the pulsing animation renders cleanly on all browsers without interfering with hardware acceleration or video controls.
  • High Quality: Captures the highest available quality stream directly from the player and saves it as a .mp4.

🚀 How to Use

  1. Install a userscript manager like Tampermonkey or Violentmonkey.
  2. Install this script.
  3. Navigate to a webpage containing a video longer than 5 minutes.
  4. You will see a red outline appear around the video player.
  5. Start Recording: Play the video. The border will begin to pulse, indicating the stream is being captured.
  6. Download: Pause the video. The script will automatically package the recorded chunks and prompt a download for your video file (video_capture_[timestamp].mp4).

⚠️ Known Limitations & Troubleshooting

  • CORS & DRM Restrictions: This script relies on the browser's native HTMLMediaElement.captureStream() API. It will not work on videos protected by DRM (e.g., Netflix, Hulu) or videos served from a different domain without the proper CORS headers (Cross-Origin Resource Sharing). If a video fails to record, check your browser's Developer Console (F12) for a CORS error.
  • File Sizes: Recording high-resolution video directly to your browser's memory can consume significant RAM. Pausing the video frequently to chunk your downloads is recommended for very long sessions.
  • To Disable: If you want to watch a video without recording it, simply toggle the script off in your userscript manager's extension menu and refresh the page.

🛠️ Technical Details

  • Author: dev.ansung
  • Language: Modern ES6+ JavaScript (Object-Oriented)
  • Permissions: @grant none (Runs entirely within the standard page context for maximum security)