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%


