Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteTo record what a video page actually shows, use Playwright’s browser recording: create a browser context with recordVideo, visit the page, perform any required consent, login or playback actions, let it run, then close the context so the video is finalized. To get the site’s original downloadable media file instead, trigger the page’s download control and save the resulting download. These are different jobs: a browser recording captures the rendered session; a download retrieves the file the site provides.
Choose between recording the page and downloading its video
Start by deciding what you need as the output. A recorded browser session is useful when you need evidence of playback as a visitor sees it: the video in its player, captions, page UI, or the result of an authenticated interaction. A download is preferable when the site offers a legitimate download and you need the media file itself.
| Need | Use | What you get |
|---|---|---|
| Show what appeared and happened in the browser | Playwright video recording | A recording of the browser viewport and interactions during the session. |
| Keep the media file offered by the site | Playwright download event and saveAs |
The file delivered by the site, in its supplied format. |
A page URL alone does not establish that a downloadable video exists. The page may stream media, require a click or other user gesture, require authentication, or provide a player without a download control. Playwright’s automation APIs do not grant access to protected content or promise that a site will permit either workflow.
Record the rendered browser session with Playwright
In JavaScript, enable video recording when creating a browser context. The recording is associated with a page in that context, and it is not complete merely because playback has stopped: Playwright saves videos when the browser context closes. Set both the viewport and recording dimensions deliberately if the output size matters.
#1 Best Overall
- 【1080P 60FPS Video Capture Card】 This HDMI game capture card is based on USB3.0 high speed transmission port, input resolution up to 4K@30HZ, output resolution up to 2K@30Hz or 1920×1080@60Hz. Type c and USB interface can meet most of the devices in daily life. Easily meet the online capture, real-time recording, online meetings, live gaming and other functions, so you have a better visual enjoyment. Note: For capture use only; requires capture software to function and is not intended for direct screen casting to a monitor or TV
- 【Ultra Low Latency Screen Sharing】 HDMI capture card is made of good quality aluminum alloy with strong heat dissipation, allowing you to enjoy ultra low latency while live gaming or video recording or live streaming, avoiding blue screens and lag. This HDMI to USBC capture card supports easy recording of good quality audio or HD video and transferring it to your computer or streaming platform, allowing you to record 60 fps HD video directly on your hard drive and real-time preview
- 【Plug and Play, Easy to Carry】 This HDMI 1080P video capture card does not require any additional drivers or external power supply, just plug and play for fast capture. The capture card is small and lightweight, so you can put it in your bag for emergencies, making it very portable for outdoor live streaming. It's also a great way to share content in game recording, video conference, video recorder and online teaching
- 【Wide Compatibility USB Capture Card】 Easily streams to Facebook, Youtube or Twitch. With the connection, this HDMI to USB C/3.0 video capture devices can be working on several Operating Systems and various software: Windows 7/ 8/ 10, Mac OS or above, Linux, Android, Laptop, Xbox One, PS3/PS4/PS5, Camera, DVDs, Set Top Box, Webcame, DSLR, Switch/Switch 2, TV BOX, HDTV, Potplayer/VLC, ZOOM, OBS Studio etc.
- 【Package Content & Note】 1x HD Audio Capture Card , 1x USB 3.0 to USB C Adapter (A-side 3.0, B-side 2.0), 1x user manual. Please note that you need to restart the OBS Studio software after the audio setup is complete, otherwise it will result in no sound output. When using an adapter, if the device is recognized as USB 2.0, try using the other side with the USB-C port. Simply flip the capture card and reconnect it to be recognized as USB 3.0
Install Playwright
In a new Node.js project, install Playwright and its Chromium browser:
npm install playwright
npx playwright install chromium
Save the following as capture-video.mjs. It creates the output directory, opens the video page, waits for the specified capture period, closes the context to finalize the recording, and saves the result to a chosen path.
Runnable JavaScript example
import { chromium } from 'playwright';
import { mkdir } from 'node:fs/promises';
const url = process.argv[2] ?? 'https://example.com/video-page';
const output = process.argv[3] ?? 'videos/capture.webm';
const videoDir = 'videos/raw';
await mkdir(videoDir, { recursive: true });
const browser = await chromium.launch();
let context;
try {
context = await browser.newContext({
viewport: { width: 1280, height: 720 },
recordVideo: {
dir: videoDir,
size: { width: 1280, height: 720 }
}
});
const page = await context.newPage();
await page.goto(url, { waitUntil: 'domcontentloaded' });
// Add the site's permitted consent, login, or play interactions here.
// For example: await page.getByRole('button', { name: /play/i }).click();
await page.waitForTimeout(5000);
const video = page.video();
await context.close();
context = undefined;
await video.saveAs(output);
console.log(`Saved browser recording to ${output}`);
} finally {
if (context) await context.close();
await browser.close();
}
Run it with a page URL and, optionally, an output path:
node capture-video.mjs 'https://example.com/video-page' 'videos/result.webm'
The five-second wait is only an example capture duration, not a guarantee that playback has started or finished. Replace it with a duration appropriate to your task and add the page interactions or readiness checks the site requires. The sample requests a 1280 × 720 viewport and recording size; choose dimensions that fit the target page and the evidence you need.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Rank #2
- 【1080P HD High Quality】Capture resolution up to 1080p for video source and it is ideal for all HDMI devices such as PS4, PS3, Xbox One, Xbox 360, Wii U, DVDs, DSLR, Camera, Security Camera and set top box. Note: Video input supports 4K30/60Hz and 1080p120/144Hz. Does not support 4K120Hz/144Hz. Output supports up to 2K30Hz.
- 【Plug and Play】No driver or external power supply required, true PnP. Once plugged in, the device is identified automatically as a webcam. Detect input and adjust output automatically. Won't occupy CPU, optional audio capture. No freeze with correct setting.
- 【Compatible with Multiple Systems】suitable for Windows and Mac OS. High speed USB 3.0 technology and superior low latency technology makes it easier for you to transmit live streaming to Twitch, Youtube, Facebook, Twitter, OBS, Potplayer and VLC.
- 【HDMI LOOP-OUT】Based on the high-speed USB 3.0 technology, it can capture one single channel HD HDMI video signal. There is no delay when you are playing game live.
- 【Support Mic-in for Commentary】Rybozen capture card has microphone input and you can use it to add external commentary when playing a game. Please note: it only accepts 3.5mm TRS standard microphone headset.
When the file is ready
Keep a reference to the page’s video() object. Playwright documents video.saveAs(path) as waiting for the page to close and the video to be fully saved, so it can write the finalized recording to a destination you choose. Alternatively, video.path() returns the recording path after the page or context has closed. Do not try to consume the recording as a finished artifact before closing the context.
Download the media file when the page offers a download
If the site exposes a download link or button and you are authorized to use it, wait for the download event before clicking. Then call saveAs to copy the completed download to a durable path before closing the browser context.
import { chromium } from 'playwright';
import { mkdir } from 'node:fs/promises';
await mkdir('downloads', { recursive: true });
const browser = await chromium.launch();
const context = await browser.newContext();
try {
const page = await context.newPage();
await page.goto('https://example.com/video-page');
const downloadPromise = page.waitForEvent('download');
await page.getByRole('link', { name: /download/i }).click();
const download = await downloadPromise;
await download.saveAs('downloads/video.mp4');
console.log('Saved downloads/video.mp4');
} finally {
await context.close();
await browser.close();
}
The example assumes there is a link whose accessible name matches “download”; change the locator to match the actual page. The download event is emitted when the download starts, and saveAs writes the completed file. Browser-context downloads are deleted when the context closes, so do not rely on a temporary download path surviving after shutdown.
Handle consent, login and playback deliberately
Recording captures a browser session, so the page state matters. If a consent banner covers the player, a login is required, or playback starts only after a user gesture, automate those permitted actions before the capture interval. A direct download may need the same signed-in session, cookies or headers as the page. Do not assume that copying a media URL into a separate request preserves that context.
- Use a page-level interaction when the site requires a click to reveal or start the player.
- Wait for a meaningful page condition where possible, such as a visible player or a known playback control, rather than assuming navigation means the video is ready.
- Choose a capture interval long enough for the portion you need. Waiting a fixed duration alone does not verify that the video actually played.
- Use a deliberate viewport and recording size if layout, captions or controls are part of the evidence.
Automation does not override access controls. If a player cannot be accessed in the authorized browser session, or the site does not offer a download, Playwright’s recording and download primitives do not supply permission or a workaround.
Rank #3
- 【4K HDMI Input, 2K@30Hz Recording】Powered by a true USB 3.0 high-speed interface, the capture card supports up to 4K@30Hz HDMI input and records at 2K@30Hz or 1080P@60Hz. Perfect for gamers, streamers, and professionals who need crisp, smooth video for live streaming, gameplay recording, or online meetings.
- 【Ultra Low Latency Screen Sharing】Built with a premium aluminum alloy shell and advanced chipset for stable heat dissipation, ensuring ultra-low latency transmission. Capture high-quality video and dual-channel audio in real time—no lag, no frame drop—ideal for Twitch, YouTube, or OBS streaming.
- 【Easy Plug and Play, Compact & Portable】No driver or external power required—just plug and play via USB 3.0 or Type-C connection to your Windows or macOS computer. Lightweight and compact design makes it easy to carry for outdoor streaming, live shows, or mobile recording setups.
- 【Wide Compatibility & Multi-Device Support】Compatible with Windows 7 8 10 11, macOS, Linux,Android and supports most popular software such as OBS, Zoom, VLC, Twitch Studio, and more. Works seamlessly with PS4, PS5, Xbox, Switch, DSLR cameras, TV boxes, and other HDMI-output devices for streaming to YouTube, Twitch, etc.
- 【What You Get】Includes: HDMI Capture Card, USB 3.0 to USB-C Adapter, User Manual. Tips: Make sure your tablet’s OTG function is enabled before connecting. Test your HDMI device with a monitor first to confirm video and audio output, then connect to the Video Capture Card for recording.
Control video retention in Playwright Test
If you are recording as part of an automated test suite rather than a standalone script, Playwright Test’s video option defaults to off. Its documented modes let you retain artifacts selectively instead of keeping every recording.
| Mode | Use |
|---|---|
on |
Record videos for tests. |
retain-on-failure |
Keep recordings for failed tests rather than retaining every successful run. |
on-first-retry |
Record on a test’s first retry. |
on-all-retries |
Record on retries. |
These options concern Playwright Test’s test-run artifact retention. For a standalone script using BrowserContext.newContext, configure recordVideo as in the example and manage saved files yourself.
Choose dimensions, timing and storage for a reliable capture
Dimensions
The recorded output reflects the browser viewport and recording configuration, not an abstract copy of the source video. Set the viewport explicitly for a predictable page layout. Set recordVideo.size when you require specific output dimensions; Playwright documents that when dimensions are omitted, output is scaled to fit the configured defaults. A smaller or differently shaped viewport can change responsive layout, so size the viewport for the page state you intend to record.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesTiming and completion
Navigation completion is not the same as video playback completion. Pages may render a player before media begins, and playback can depend on consent, authentication, or a user gesture. A fixed wait is simple but can produce a recording of a loading state. Prefer a page-specific readiness condition where one is available, then capture the desired segment and close the context cleanly.
Rank #4
- High-Quality Video Capture, 4K HDMI Capture Card Ready: Capture smooth and vibrant video with this 4K HDMI capture card, engineered for gamers and content creators who demand crisp 1080P 60FPS video quality. Whether you're streaming to Twitch or recording gameplay for YouTube, your footage will look professional and detailed
- Plug-and-Play USB Capture Card, No Drivers Needed: Designed as a USB capture card for streaming, this device works instantly out of the box, just plug into your PC or laptop and start capturing. Fully compatible with popular software like OBS Studio, Streamlabs, and XSplit, making setup quick and stress-free for beginners and pros alike
- Universal Compatibility PS5, Xbox, Switch & More: Stream or record gameplay from virtually any HDMI-enabled device including Nintendo Switch, PS5, Xbox Series X, DSLR cameras, and PCs. The video capture card for gaming supports seamless passthrough so you can play without lag while your audience watches every frame in real time
- Low-Latency Performance for Smooth Streaming: This capture card for streaming minimizes delay between gameplay and broadcast, so you get reliable, low-latency capture that works well for competitive gaming, live broadcasts, and podcast sessions. Suitable for those building their channel with high-quality, engaging content
- Compact & Portable Design for Content Creators: Lightweight and portable, this USB 3.0 capture card works well for creators who travel or switch gaming setups often. Throw it in your bag and stream or record wherever you are, at home, events, LAN parties, streaming or studio sessions
Storage and lifecycle
Recording consumes disk space and produces an artifact that must be finalized. Ensure the recording directory exists and that the destination is writable. In a test suite, retention modes can reduce stored artifacts by retaining only failures or retries. In a standalone workflow, choose where to save the output and decide how long to keep it; Playwright does not make that retention decision for your application.
Troubleshoot common failures
- No video file appears: The context may still be open. Close the page or context and await closure before checking the artifact. Use
video.saveAs(path)after closing the context if you need a known destination. - The recording is blank or shows a loading screen: A successful navigation does not prove playback began. Add the required consent, login or play action, wait for a meaningful player state, and verify the captured interval.
- The recording has the wrong dimensions: Set the browser viewport and
recordVideo.sizeexplicitly. The viewport affects responsive layout; the recording size affects the artifact dimensions. - The download promise never resolves: Confirm the control actually starts a browser download. A player or streaming request is not necessarily a download. Start waiting for the event before clicking, and use a locator matching the real control.
- The download disappears after shutdown: Context downloads are temporary and are deleted when the context closes. Await the download event and call
download.saveAsto a durable location before closing. - The page is inaccessible or the media will not play: Check whether the site requires a permitted authenticated session or a user gesture. Browser automation cannot promise access to protected or DRM media.
- The output file cannot be written: Check that its parent directory exists and that the process has permission to write there. Save to an application-controlled path rather than assuming a temporary browser path will persist.
Rights and authorization
Automating a browser does not grant permission to copy, download or redistribute a video. Follow the site’s terms, copyright rules, access controls and applicable law, and capture only material you are authorized to use. Playwright documents the mechanics of browser recording and downloads; those mechanics are not a license to use the content.
Or skip the browser setup
For a still screenshot, not a video recording: ScreenshotNeo is a website screenshot API and MCP server for developers. It cannot record browser playback or return the underlying video file, so use Playwright above for either video workflow. If a still image of the page is enough, one GET request can capture it. The API accepts common screenshot parameter names, which can make switching from another screenshot API easier.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/video-page -o shot.webp
See the ScreenshotNeo API documentation for request options. For still screenshots, cookie and consent banners are accepted like a visitor and more than 60 known consent platforms, newsletter popups and chat widgets can be removed before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and responses include X-Page-Verdict and X-Billed headers. Its MCP server provides take_screenshot, get_page_info and capture_pdf tools for AI agents and MCP clients. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots. Learn about ScreenshotNeo or sign up free for 1,000 screenshots a month with no card.
Frequently Asked Questions
Does enabling browser video recording guarantee that a page’s audio will be captured?
The recording setup described here establishes browser video recording, not a guarantee about audio output. Check the current Playwright documentation and validate the artifact for your browser and environment before relying on it.
Can I use a browser recording as proof that a site authorized a download?
No. A recording documents what the browser rendered; it does not establish permission to copy, retain or redistribute the content.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Recommended Free Tools




