+
29
-

回答

Playwright 自带的 chromium 是纯净开源版,不含 H.264/AAC 专利解码器,所以 MP4、直播流直接黑屏。

让 Playwright 去调用本机已装好的 Chrome Stable(或 Edge Stable),它们自带全套解码器。

from playwright.sync_api import sync_playwright

p = sync_playwright().start()
# 关键参数:channel="chrome"  或  channel="msedge"
browser = p.chromium.launch(
    channel="chrome",          # 本机 Chrome
    headless=False,            # 想后台跑再设 True
    args=[
        "--autoplay-policy=no-user-gesture-required",  # 允许自动播放
        "--disable-features=PreloadMediaEngagementData", 
        "--use-fake-ui-for-media-stream",              # 假摄像头/麦克风
    ]
)
page = browser.new_page()
page.goto("https://www.bilibili.com/video/BV1GJ411x74h")
page.wait_for_selector("video")        # 验证能否加载
print(page.eval_on_selector("video", "v => v.readyState"))  # 应输出 ≥ 2
browser.close()
p.stop()
只要本机 Chrome 能正常播,Playwright 调起来就能播——零额外配置。

网友回复

我知道答案,我要回答