import { chromium } from '@playwright/test' const browser = await chromium.launch({ headless: true }) const results = [] try { for (const suffix of ['', '1']) { const page = await browser.newPage() const responses = [] page.on('response', (response) => { if (response.url().endsWith('.mp4')) responses.push({ status: response.status(), headers: response.headers() }) }) await page.goto('http://127.0.0.1:6180/') const result = await page.evaluate(async (suffix) => { const video = document.createElement('video') document.body.replaceChildren(video) const source = `/videos/chinese-maintenance/china-military-repair-workshop-hd-45s-system-pose${suffix}.mp4` video.muted = true video.preload = 'auto' video.autoplay = true const event = await new Promise((resolve) => { const timer = setTimeout(() => resolve('timeout'), 15000) for (const name of ['loadeddata', 'error']) video.addEventListener(name, () => { clearTimeout(timer); resolve(name) }, { once: true }) video.src = source video.load() }) return { source, event, canPlayH264: video.canPlayType('video/mp4; codecs="avc1.4d402a, mp4a.40.2"'), readyState: video.readyState, networkState: video.networkState, duration: Number.isFinite(video.duration) ? video.duration : null, width: video.videoWidth, height: video.videoHeight, error: video.error ? { code: video.error.code, message: video.error.message } : null } }, suffix) results.push({ ...result, responses }) await page.close() } } finally { await browser.close() } console.log(JSON.stringify(results, null, 2))