obswebsocket+douyinAPI+python,教你如何三步搭建自己的AI美女直播间,24小时的永动机

一:什么是AI直播美女直播间

就是在直播的时候通过弹幕进行选择不同的ai人物进行跳舞的直播间大致就是
在这里插入图片描述
可以看到左边是有提示,根据观众刷礼物的不同进行选择某一个AI人物进行展示,怎么通过技术手段实现呢

二:你需要懂的

其实还是很简单的,基本就是python+obs直播软件进行实现,大致过程就是python连接抖音的直播间号进行爬虫技术爬到想要的内容,然后进行python控制obs进行不同的直播

第一步

python爬虫部分,这部分主要是文件有点多,不好全部展示出来,其实自己去网上搜是很大一堆的
大致的过程就是我们抖音网页版的直播间是有个地址的
比如:https://live.douyin.com/301836777852
有了这个地址,对于会爬虫的人来说就很简单了,爬礼物爬进场爬点赞都是很简单的

第二步

控制obs进行播放不同的场景,不多说,直接展示代码

import time
import re
from obswebsocket import obsws
import obswebsocket
class Liwu:def __init__(self):self.liwilist = []self.last_played_gift=None# 连接 OBS Studiohost = "127.0.0.1"port = 4455password = "NqjLB8LcXxMgPcPr"self.ws = obsws(host, port, password)self.ws.connect()def addlist(self, liwuname):self.liwilist.append(liwuname)def addlist2(self, liwuname):if self.liwilist.__len__()>2:self.liwilist.insert(1,liwuname)else:self.liwilist.append(liwuname)def bofanddd(self,current_liwu,ff,fff):pattern = re.compile(r"\[礼物\] .+?: (.+?) \* \d+")match = pattern.search(current_liwu)user_name = match.group(0)liwu=match.group(1)print("")if self.last_played_gift==liwu:print("已经播放过啦")returnself.last_played_gift=liwuprint("礼物来啦" + current_liwu)# 更换文字file_path = "D:\\ZKY\\work\\AI直播\\1.txt"# 修改文件内容content = "感谢" + user_name# 保存修改后的内容到文件,使用 UTF-8 编码with open(file_path, 'w', encoding='utf-8') as file:file.write(content)# 将场景设置为“场景2”self.ws.call(obswebsocket.requests.SetCurrentProgramScene(sceneName=ff))while True:time.sleep(0.1)status = self.ws.call(obswebsocket.requests.GetMediaInputStatus(inputName=fff)).datainif status["mediaState"] == "OBS_MEDIA_STATE_ENDED":print("播放完毕了")self.ws.call(obswebsocket.requests.SetCurrentProgramScene(sceneName='a1'))breakdef bofan(self):while True:if not self.liwilist:time.sleep(2)print("礼物列表为空,无法播放场景")else:print("当前礼物列表有" + str(self.liwilist.__len__()))current_liwu = self.liwilist.pop(0)pattern = re.compile(r"\[礼物\] .+?: (.+?) \* \d+")match = pattern.search(current_liwu)liwu=match.group(1)print("当前展示礼物"+current_liwu)if liwu == "小心心":self.bofanddd(current_liwu,"a2","video2")elif liwu == "大啤酒":self.bofanddd(current_liwu,"a3","video3")elif liwu == "棒棒糖":self.bofanddd(current_liwu,"a4","video4")elif liwu == "加油鸭":self.bofanddd(current_liwu,"a5","video5")elif liwu == "鲜花":self.bofanddd(current_liwu,"a6","video6")elif liwu == "玫瑰":self.bofanddd(current_liwu,"a7","video7")elif liwu == "嘉年花":self.bofanddd(current_liwu,"a8","video8")else:self.bofanddd(current_liwu,"a7","video7")time.sleep(1)

这里是经过一些处理的,比如不让重复一直播放一个视频,需要进行重新排队,采用先进先出

第三步

搭建obs的直播间,采用不同的场景进行搭建,搭建完成后和python进行结合控制就ok了
在这里插入图片描述
哈哈哈,AI,AI,AI其实和AI并没什么关系

总结

就是闲着无聊搞的
但是我看很多抖音上很多人在直播这种类型的,还很多人看,我心想多难我就开始自己弄
没想到,好处是美女可以自己定制
关注我的微信公众号:程序员PG

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vmware安装银河麒麟V10高级服务器操作系统

vmware安装银河麒麟V10高级服务器操作系统 1、下载银河麒麟V10镜像2、VMware安装银河麒麟V10高级服务器操作系统2.1、新建虚拟机2.2、安装虚拟机 3、配置银河麒麟V10高级服务器操作系统3.1、安装vmware tools3.2、配置静态IP地址 和 dns3.3、查看磁盘分区 1、下载银河麒麟V10镜…

AI工具网站汇总——学习的好帮手

一、聊天AI 1.ChatGPT 地表最强AI聊天机器人 网址:https://chat.openai.com 2.Anthropic Anthropic发布的与ChatGPT竞争的聊天机器人 网址:https://www.anthropic.com 3.文心一言 百度全新知识增强大语言模型!国产聊天机器人 网址&…

so-vits-svc的使用

1. 启动工程 找到工程的路径,找到启动的bat文件,这里以 d:/so-vits-svc为例。 2. 启动过程 启动后会出现cmp的一个弹框,初始启动相对较慢,请耐心等待一会儿,启动完成后,会出现一个页面,如下…

JDK各个版本特性讲解-JDK14特性

JDK各个版本特性讲解-JDK14特性 一、Java14概述二、语法层面的变化1. instanceof2. switch表达式3. 文本块的改进4. Records记录类型 二、关于GC1.G1的NUMA内存分配优化2. 弃用SerialCMS,ParNewSerial Old3.删除CMS4.ZGC on macOS and Windows 三、其他变化1.友好的空指针异常提…

HAproxy做七层代理+keepalived高可用,实现动静分离,由nginx处理静态页面,tomcat处理动态页面

目录 一、三种软负载均衡器的区别 关于三种负载均衡器的性能对比: 关于三种负载均衡器的代理类型对比: 关于三种负载均衡器的健康检查对比: 二、haproxy的8中负载均衡调度算法 haproxy的会话保持的方式 haproxy的配置文件学习 三、实操…

(详解版)创建线程的四种方式

文章目录 Java中创建线程的四种方式1. 继承Thread类并重写 run 方法来创建线程2. 实现Runnable接口并实现 run 方法来创建线程。3. 使用Callable接口创建线程4. 使用Executor框架创建线程 Java中创建线程的四种方式 接下来我会详细解释这四种方式创建线程如何实现. 我们如果要…

【HarmonyOS开发】ArkTs关系型和非关系型数据库的存储封装

前面使用了首选项的存储方式,因此将其他的两种存储方式(键值型数据库和关系型数据库)也学习一下,简单记录一下,并进行封装,方便后续使用。 1、效果预览 2、使用条件 2.1 键值型数据库 键值型数据库实现数据…

RabbitMQ入门指南(三):Java入门示例

专栏导航 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、AMQP协议 1.AMQP 2.Spring AMQP 二、使用Spring AMQP实现对RabbitMQ的消息收发 1.案例准备阶段 2.入门案例(无交换机) 3.任务模型案例(Work Queues&#xff0…

九.数据处理之增删改

数据处理之增删改 1.插入数据1.1实际问题1.2方式1:VALUES的方式添加1.3方式2:将查询结果插入到表中 2.更新数据3.删除数据4.MySQL8新特性:计算列5.综合案例 1.插入数据 1.1实际问题 解决方式:使用INSERT语句向表中插入数据 1.2方…

文献速递:生成对抗网络医学影像中的应用——用于生成前列腺MR-only影像治疗剂量规划的合成CT的深度学习模型:多中心研究

文献速递:生成对抗网络医学影像中的应用——用于生成前列腺MR-only影像治疗剂量规划的合成CT的深度学习模型:多中心研究 本周给大家分享文献的主题是生成对抗网络(Generative adversarial networks, GANs)在医学影像中的应用。文…

电源模块测试方法 | 怎么测试电源负载瞬态响应?

负载瞬态响应测试是检测电源稳定性和质量的重要方法之一,而电源稳定性是设备正常运行的基础。通过负载瞬态响应测试来检测电源的响应速度和稳定性,从而优化电源设计,提升性能,确保电子设备可以稳定工作。 什么是负载瞬态响应测试?…

js知识点1:防抖节流

js知识点1:防抖节流 防抖节流 防抖节流,本质上是优化高频率执行代码的一种手段 定义: 防抖: n 秒后再执行该事件,若在 n 秒内被重复触发,则重新计时 节流: n 秒内只运行一次,若在 n 秒内重复触发&#xff0…

【C语言】SCU安全项目2-BufBomb

目录 关键代码解读: getxs() getbuf() test() 核心思路 具体操作1 具体操作2 前段时间忙于强网杯、英语4级和一些其他支线,有点摸不清头绪了,特别是qwb只有一个输出,太过坐牢,决定这个安全项目做完后就继续投身…

Spring MVC框架支持RESTful,设计URL时可以使用{自定义名称}的占位符@Get(“/{id:[0-9]+}/delete“)

背景:在开发实践中,如果没有明确的规定URL,可以参考: 传统接口 获取数据列表,固定接口路径:/数据类型的复数 例如:/albums/select RESTful接口 - 根据ID获取某条数据:/数据类型的复数/{id} - 例…

在Linux安装的Docker中开启IPv6

先在Linux中安装docker,然后在docker中开启IPv6。 安装docker 第一步,卸载旧版本docker。 若系统中已安装旧版本docker,则需要卸载旧版本docker以及与旧版本docker相关的依赖项。 命令:yum -y remove docker docker-client do…

CountDownLatch和Semaphore的区别?

CountDownLatch和Semaphore都是在Java中用于多线程协同的工具,但它们有一些重要的区别。 CountDownLatch: 用途: 主要用于等待一个或多个线程完成操作,它的计数器只能被减少,不能被增加。计数: 初始化时需…

栈-二叉树的中序遍历/easy

二叉树的中序遍历 1、题目2、解题思路3、复杂度最优解示例4、抽象与扩展 1、题目 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:roo…

科聪控制系统典型应用车型 —— 料箱机器人

料箱机器人即料箱AGV是一种智能化物流搬运设备,它可以代替人力完成出库入库和搬运工作,可根据出入库生产出货需求,将货物从起点运送到终点,自动柔性完成货到人货到点的操作。 提升仓储和物流效率的自动化利器 料箱机器人的投用能…

STM32_通过Ymodem协议进行蓝牙OTA升级固件教程

目录标题 前言1、OTA升级的重要性和应用场景2、理论基础2.1、单片机的启动流程2.2、什么是IAP?2.3、什么是OTA?2.4、什么是BootLoader?2.5、Ymodem协议是什么?2.6、IAP是如何实现的? 3、具体操作3.1、软硬件工具准备3.…

数据可视化---直方图

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…