+
107
-

python通过Playwright打开的网页能录制网页中的画面与声音为mp4视频吗?

python通过Playwright打开的网页能录制网页中的画面与声音为mp4视频吗?


网友回复

+
20
-

画面录制:Playwright 内置了屏幕录制功能,可以将浏览器窗口内容录制为视频文件。

声音录制:标准的 Playwright 录制功能不支持捕获网页内的音频。

要录制声音,需要结合其他工具或方法,例如ffmpeg+虚拟音频设备VB-Audio捕获系统音频

在 Windows 上,你需要安装 VB-Audio 虚拟设备

在 macOS 上,你可以使用 Soundflower 或 BlackHole 等工具

在 Linux 上,你可以使用 PulseAudio 或 JACK

完整代码

import os
import subprocess
from playwright.sync_api import sync_playwright

def record_webpage_with_audio(url, output_file="recording.mp4", duration=10):
    # 创建临时目录存储录制文件
    temp_dir = "temp_recording"
    os.makedirs(temp_dir, exist_ok=True)
    
    # 启动系统音频捕获(需要安装额外工具如ffmpeg和系统音频捕获工具)
    # 这里使用系统命令行调用,实际使用时可能需要调整参数
    audio_process = None
    try:
        # 启动音频捕获进程(Windows示例,使用VB-Audio虚拟设备)
        audio_file = os.path.join(temp_dir, "audio.wav")
        audio_process = subprocess.Popen(
            [
                "ffmpeg", "-y", "-f", "dshow", "-i", "audio=virtual-audio-capturer",
                "-t", str(duration), audio_file
            ],
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE
        )
        
        # 使用Playwright录制视频
        with sync_playwright() as p:
            browser = p.chromium.launc...

点击查看剩余70%

我知道答案,我要回答