Skip to main content

将帧发送到虚拟相机

项目描述

pyvirtualcam

pyvirtualcam 从 Python 向虚拟相机发送帧。

用法

import pyvirtualcam
import numpy as np

with pyvirtualcam.Camera(width=1280, height=720, fps=20) as cam:
    print(f'Using virtual camera: {cam.device}')
    frame = np.zeros((cam.height, cam.width, 3), np.uint8)  # RGB
    while True:
        frame[:] = cam.frames_sent % 255  # grayscale animation
        cam.send(frame)
        cam.sleep_until_next_frame()

pyvirtualcam 使用它找到的第一个可用的虚拟相机(参见后面的部分)。

有关更多示例,包括使用 BGR 等不同的像素格式,或选择特定的相机设备,请查看examples/文件夹。

另请参阅API 文档

安装

该软件包适用于 Windows、macOS 和 Linux。从 PyPI 安装它:

pip install pyvirtualcam

pyvirtualcam 依赖于必须先安装的现有虚拟摄像机。有关详细信息,请参阅下一节。

支持的虚拟摄像机

窗户:OBS

OBS包括一个内置的 Windows 虚拟摄像头(自 26.0 起)。

要使用 OBS 虚拟摄像头,只需安装 OBS即可。

注意OBS只提供了一个单一的相机实例,所以无法从Python发送帧到OBS内置的虚拟相机,在OBS中捕捉相机,与其他内容混合,然后再次输出到OBS的内置在虚拟相机中。要实现这样的工作流程,请使用 Python 中的另一个虚拟摄像头(如 Unity Capture),以便 OBS 的内置虚拟摄像头在 OBS 中免费使用。

Windows:统一捕获

Unity Capture提供了最初用于流式传输 Unity 游戏的虚拟相机。与大多数其他虚拟相机相比,它支持 RGBA 帧(具有透明度的帧),而这些帧又可以在OBS中捕获以进行进一步处理。

要使用 Unity Capture 虚拟摄像机,请按照项目站点上的安装说明进行操作。

macOS:OBS

OBS包括一个用于 macOS 的内置虚拟相机(自 26.1 起)。

要使用 OBS 虚拟摄像头,请执行以下一次性设置步骤:

  • 安装 OBS
  • 启动 OBS。
  • 单击“启动虚拟摄像机”(右下角),然后单击“停止虚拟摄像机”。
  • 关闭 OBS。

请注意,OBS 仅提供单个相机实例,因此无法从 Python 发送帧,在 OBS 中捕获相机,将其与其他内容混合,然后再次将其作为虚拟相机输出。

Linux:v4l2loopback

pyvirtualcam 在 Linux 上使用v4l2loopback虚拟摄像机。

要在 Ubuntu 上创建 v4l2loopback 虚拟摄像头,请运行以下命令:

sudo apt install v4l2loopback-dkms
sudo modprobe v4l2loopback devices=1

有关详细信息,请参阅v4l2loopback 文档

从源代码构建

Linux/macOS

git clone https://github.com/letmaik/pyvirtualcam --recursive
cd pyvirtualcam
pip install .

视窗

这些说明是实验性的,不为它们提供支持。通常,不需要手动构建,因为轮子托管在 PyPI 上。

您需要安装 Visual Studio 才能构建 pyvirtualcam。

在 PowerShell 窗口中:

$env:USE_CONDA = '1'
$env:PYTHON_VERSION = '3.7'
$env:PYTHON_ARCH = '64'
$env:NUMPY_VERSION = '1.14'
git clone https://github.com/letmaik/pyvirtualcam --recursive
cd pyvirtualcam
powershell .github/scripts/build-windows.ps1

以上将下载所有构建依赖项(包括 Python 安装),并通过四个环境变量进行完全配置。设置USE_CONDA = '0'为在现有 Python 环境中构建。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置发行版

pyvirtualcam-0.9.1-cp310-cp310-win_amd64.whl (158.5 kB 查看哈希

已上传 cp310

pyvirtualcam-0.9.1-cp310-cp310-macosx_10_9_x86_64.whl (259.7 kB 查看哈希

已上传 cp310

pyvirtualcam-0.9.1-cp39-cp39-win_amd64.whl (157.8 kB 查看哈希

已上传 cp39

pyvirtualcam-0.9.1-cp39-cp39-macosx_10_9_x86_64.whl (259.9 kB 查看哈希

已上传 cp39

pyvirtualcam-0.9.1-cp38-cp38-win_amd64.whl (158.5 kB 查看哈希

已上传 cp38

pyvirtualcam-0.9.1-cp38-cp38-macosx_10_9_x86_64.whl (259.6 kB 查看哈希

已上传 cp38

pyvirtualcam-0.9.1-cp37-cp37m-win_amd64.whl (159.4 kB 查看哈希

已上传 cp37

pyvirtualcam-0.9.1-cp37-cp37m-macosx_10_9_x86_64.whl (259.0 kB 查看哈希

已上传 cp37