python通过Playwright打开的网页能录制网页中的画面与声音为mp4视频吗?
网友回复
画面录制: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%