
























这不是一个常规的虚拟直播需求,而是有一些怪异点的需求(Linux&直播pk&3d皮&免费&变声),所以实现得很别扭,如果你是普通用户,可能和你关系不大。
一直想着做虚拟形象来直播,遇到了蛮多的状况的,有一些网上也没有搜到的,这里写出来和大家分享一下。
皮套有3D和2D两种的,可以使用不同的软件绘制。这里我是用来steam上面的VRoid Studio来画的,目前可以用proton兼容层跑,做出来.vrm的模型格式。我是在默认给的皮上面随便改了改,有更高要求的可以尝试一下自己搞,或者找人搞。画出来的皮套保存在本地,之后动捕软件需要读取这个皮套。
虽然有一些软件是直接完成从摄像头捕捉到生成整个画面的过程,一些工具链会按2个部分单独完成,中间的结构图像是LLVM的IR。
动捕是需要读取摄像头的话画面,识别其中的人脸(以及肢体)画面并转换为抽象的结构图。有一些软件可以从iPhone等设备上拍,但是鉴于我没有,所以就用了笔记本上面的。在软件上有OpenSeeFace,这个是用python写的脚本,可以纯CPU识别。
在获得了动捕软件的结构图之后,这一部分需要把机构图绑定到皮套的骨骼上面,并同时渲染场景光照等内容。这部分是比较麻烦的,很多软件在这里会间或出现渲染的问题,可能和环境有关系,毕竟Linux下的很乱。
我大致跑下来有这几种方案。
使用OBS捕捉生成的画面然后填写rtmp推出去就行了。如果是绿幕的皮套配上一个色度键就可以了,比较简单,OBS在Linux上面没什么大问题。但是声音问题比较大,Linux的音频系统叠岭层峦的,再加上我想要变声,目前比较无解。我自己放弃监听,直接麦克风导入输出出去。变声的软件还没搞定,试了好几只方案都不是太好。
如果是OBS推流B站的话是没法使用各种互动功能的,必须使用b站的直播姬。有浏览器版本但是功能不全,不能用,所以只能想办法用win版本的。
设置OBS虚拟摄像头,然后让直播姬直接捕捉摄像头画面输出出去。或者可以自己设置一个服务器一边推一边拉,延迟比较大,但是因为是基于网络的,相对来说问题少一点,只要能配得明白网络。
/dev/video流,只能USB重定向,故对于虚拟摄像头不管用。在网上看到好像有新的patch可以导入,但是没搜到太多的使用的文档,还没试过。开了服务器挂上了biliup,另外开了一个号上传录播。
见 https://space.bilibili.com/3546737394321661
Linus_Nvidia.jpg
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。