当前位置: 首页 > news >正文

衡粘水佩网站建设如何注册网店开店

衡粘水佩网站建设,如何注册网店开店,企业标准化体系建设流程,WordPress个性萌化插件前言 最近一直在研究孪生数字人wav2lip。目前成果可直接输入高清嘴型,2070显卡1分钟音频2.6分钟输出。在直播逻辑上可以做到1比1.3这样,所以现在开始研究直播。在逻辑上涉及到了无缝切换,看到csdn上有一篇文章还要vip解锁。。。那自己研究吧…

前言

最近一直在研究孪生数字人wav2lip。目前成果可直接输入高清嘴型,2070显卡1分钟音频2.6分钟输出。在直播逻辑上可以做到1比1.3这样,所以现在开始研究直播。在逻辑上涉及到了无缝切换,看到csdn上有一篇文章还要vip解锁。。。那自己研究吧!在这里我们以我现在的逻辑来实现一下无缝切换!

举一个例子

来梳理一下我的逻辑,通过obs推场景1中的一个视频,循环播放一个不说话闭嘴的视频。当生成好说话的视频后控制obs修改场景2的来源视频路径然后自动切换场景2进行播放,然后监听场景2视频播放完毕自动切回场景1不说话的视频~!

来吧!说干就干!

obs-api文档:https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#getmediainputstatus

 不要问我为什么,因为百度出来的相关现成轮子太少了!最好看文档来选择和实现自己的业务,很简单的!

一、创建obs-ws服务端

 二、创建两个场景和每个场景各添加一个视频来源

 SceneName场景添加一个MediaSourceNameA来源,添加视频A

 SceneName1场景添加一个MediaSourceNameB来源,添加视频A【当数字人视频生成好通过py替换掉这个路径的】

SceneName场景的MediaSourceNameA的视频A设置循环播放。

 

 目的是默认播放推流SceneName场景MediaSourceNameA的视频A,也就是不说话时的视频。

三、python控制obs无缝切换场景

安装依赖

pip install obs-websocket-py

 连接obs

# 连接OBS
ws = obsws('192.168.31.73', 4455, 'YqShGFfdYaGxG7DG')
ws.connect()

这里地址来自这里

工具-》obs-websocket 设置 

 点击显示连接信息,可以看到ip和密码。

 当数字人视频生成好后执行下面代码!

        # 修改MediaSourceNameB来源的视频路径ws.call(requests.SetInputSettings(inputName="MediaSourceNameB", inputSettings={"local_file": os.path.abspath(video_path)}))# 激活SceneName1场景播放视频ws.call(requests.SetCurrentProgramScene(sceneName='SceneName1'))

 可以监听MediaSourceNameB场景的视频是否播放完毕,当播放完毕切换回SceneName场景的循环播放视频。

        while True:time.sleep(0.1)# 监听MediaSourceNameB视频播放状态status = ws.call(requests.GetMediaInputStatus(inputName="MediaSourceNameB")).datainprint(status)# 播放完毕则切换回激活循环播放的SceneName场景视频if status['mediaState'] == 'OBS_MEDIA_STATE_ENDED':ws.call(requests.SetCurrentProgramScene(sceneName='SceneName'))break

 

关闭websocket连接

# 断开连接
ws.disconnect()

四、实现自定义逻辑

什么?一头雾水???不难,我教你ya!

打开文档

https://github.com/obsproject/obs-websocket/blob/master/docs/generated/protocol.md#getmediainputstatus

比如查询视频播放状态

ws.call(requests.GetMediaInputStatus(inputName="MediaSourceNameB")).datain

 搜索GetMediaInputStatus,你可以在文档里看到名称一样的,同时他有使用介绍。不会英文就翻译一下!

会告诉你它是干什么的,传什么参数,会得到什么响应!

也就是说这个文档里你想用哪个方法那就如下:

requests.XXX

对于传参名,文档里有!在方法里对应写就行!

requests.XXX(XXX=???,XXX=???)

必须由ws.call()包裹

默认返回对象,.datain就是返回数据了!

 

 

 注意!

对于修改的方法会让传对象,文档里没有详细说对象里的参数名和格式,这个比较坑!不过它对应有个查询的方法,根据查询得出结果的内容格式去写就行啦! 

好了!整体就是这些啦,根据我的方法自己去摸索一下就行了!对于怎么推流这个是obs基础,自行百度下就行了!!!

http://www.yayakq.cn/news/137615/

相关文章:

  • 云南建设学校网站首页家纺网站建设
  • 公司网站自己怎么建立怎么查网站注册时间
  • dw课设做网站一般在百度做网站多少钱
  • 百度竞价设不同网站培训方案模板
  • 建工集团两学一做网站新乡最新消息
  • 四川建设行业数据共享平台的网站学编程怎么入门
  • 网站二级目录打不开网站开发语言怎么样
  • 黑龙江网架公司seo免费优化工具
  • 网站建设工作室需要哪些设备购物网站风格
  • 纪检监察门户网站建设论证报告做网站用的插件
  • 海口网站制作网站如何做网站的软件
  • 怎么查看网站备案号jq 网站模板
  • 网站优化软件哪个好钱包钱夹移动网站建设
  • 怎么样才能搜索到自己做的网站51电子网
  • 怎么做网页模板展示网站深圳宝安网站建设工
  • 建站网站平台淮南网站推广
  • 建设电影会员网站微企点建站怎么样
  • 建设网站可以搜索电影网站设计的主要特点
  • 网站开发程序有哪些网页制作软件中的三剑客是指
  • 网站seo专员wordpress邮箱汉化插件
  • 修改网站版权江西省建设厅网站官网
  • 做网站一屏是多大wordpress 快递插件
  • 网站开发的论文怎么写互联网创新创业大赛
  • 怎么免费创建网站不备案的网站有那些
  • 建设安全带官方网站如何组做网站
  • 做阀门网站电话智能科技网站模板下载
  • 网站开发项目流程图装修门面一般找谁
  • 新闻静态网站模板下载wordpress固定主题
  • 新手学做网站 pdf 下载智联招聘网站可以做两份简历吗
  • 网站开发财务wordpress变成中文