突然在家工作,视频会议风靡一时,很多好玩的功能都只有Windows客户端内置,比如背景模糊、换背景图、滤镜、把自己变成土豆等等。我意识到这并不完全是业务关键,但它增加了友情,而且我一直感觉被排除在外。
如何向我的 Linux 系统添加一些这样的功能?请注意,我无法选择更改客户/服务。我正在寻找一种解决方案来创建某种虚拟摄像头设备,我可以从任何会议应用程序中进行选择。
答案1
我制作了一个 Linux 软件包 weffe,用于在 Linux 网络摄像头上使用 ffmpeg 实现一些基本视频效果:https://github.com/intermezzio/weffe。您可以添加前景图像(如框架),添加顶部和底部模因文本,或将预先录制的视频流式传输到网络摄像头,并使用其他一些功能。它非常快,因为它 100% 在 shell 中编写,无需任何额外的编程语言。
但是,如果您正在寻找具有更多功能的程序,您可以考虑以下几个程序(包括 rriemann 评论中的程序):
- 化身:让自己与一个假图像(如蒙娜丽莎)交谈,并且单词会从它的嘴里出来(使用Python + Tensorflow,可以通过CoLab在云端运行)
- Pyfake网络摄像头:用于将视频写入假网络摄像头设备的Python库
- Linux 假背景网络摄像头:在Linux上使用虚拟背景(Python + OpenCV编写)
- 开源虚拟背景:另一个虚拟后台程序(也是用Python + OpenCV编写的)
答案2
我使用 OBS Studio 找到了一个相当好的解决方案,其中包含 v4l2loopback 和 v4l2-sink obs 插件。这让我可以将 OBS 的输出发送到虚拟网络摄像头,该摄像头可以从任何视频会议客户端打开。虽然我还没弄清楚背景模糊,但OBS有很多选项和插件,比如绿屏。