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

php源码怎么搭建网站免费网站电视剧全免费

php源码怎么搭建网站,免费网站电视剧全免费,如何做社交网站,重庆建设工业集团前言 最近一直在研究孪生数字人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.khdw.cn/news/13354.html

相关文章:

  • 哈尔滨网站优化对策网站注册时间查询
  • asp网站会员管理模板网站关键词排名
  • vs做的网站案例网站流量统计分析工具
  • 深圳市专业做网站整合营销是什么
  • 响应式网站制作教程网络推广平台代理
  • 网站建设非功能需求黄页88网站推广方案
  • 蓝海电商平台宁波seo推广定制
  • 重庆网站营销免费自助建站哪个最好
  • sqlite做网站数据库沧州网站建设
  • 装修公司做推广网站怎么弄上海网站建设推广服务
  • 网页制作网站整合与测试it培训学校
  • 阿里买域名 电脑做网站2021百度模拟点击工具
  • 小孩做AV网站seo优化网站的手段
  • 网站需求建设书地推推广平台
  • 画质优化app下载seo优化博客
  • 深圳做网站比较好磁力搜索器下载
  • 天津专业智能建站怎样推广自己的网站
  • 网站营销最大的特点河北网站seo
  • 宁波网站建设ysdsh短视频seo搜索优化
  • 网站专业好找工作吗产品推广计划怎么写
  • 网站建设预期周期收录查询
  • 如何用frontpage2003做网站今日头条极速版官网
  • 郑州做网站九零后网络seo优化与推广招聘
  • 已满18点此自动转我赢网seo优化网站
  • 什么是网站策划书搜索引擎营销的作用
  • 讲述做网站的电影网络舆情处置的五个步骤
  • 深圳福田做网站公司百度商城官网首页
  • 网站建设英语翻译资料永州网络推广
  • 网站建设功能描述央视网新闻
  • 聊城做网站费用东莞优化排名公司