Universal Video Recorder

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

Du musst eine Erweiterung wie Tampermonkey, Greasemonkey oder Violentmonkey installieren, um dieses Skript zu installieren.

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

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

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

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

Sie müssten eine Skript Manager Erweiterung installieren damit sie dieses Skript installieren können

(Ich habe schon ein Skript Manager, Lass mich es installieren!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

Autor
An Sung
Installationen heute
2
Installationen gesamt
3
Bewertungen
0 0 0
Version
1.0
Erstellt am
19.05.2026
Letzte Aktualisierung
19.05.2026
Größe
5,81 KB
Lizenz
MIT
Wird angewandt auf
Alle Seiten

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)