国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python控制obs實現(xiàn)無縫切換場景!obs-websocket-py

這篇具有很好參考價值的文章主要介紹了python控制obs實現(xiàn)無縫切換場景!obs-websocket-py。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

最近一直在研究孿生數(shù)字人wav2lip。目前成果可直接輸入高清嘴型,2070顯卡1分鐘音頻2.6分鐘輸出。在直播邏輯上可以做到1比1.3這樣,所以現(xiàn)在開始研究直播。在邏輯上涉及到了無縫切換,看到csdn上有一篇文章還要vip解鎖。。。那自己研究吧!在這里我們以我現(xiàn)在的邏輯來實現(xiàn)一下無縫切換!

舉一個例子

來梳理一下我的邏輯,通過obs推場景1中的一個視頻,循環(huán)播放一個不說話閉嘴的視頻。當(dāng)生成好說話的視頻后控制obs修改場景2的來源視頻路徑然后自動切換場景2進(jìn)行播放,然后監(jiān)聽場景2視頻播放完畢自動切回場景1不說話的視頻~!

來吧!說干就干!

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

?不要問我為什么,因為百度出來的相關(guān)現(xiàn)成輪子太少了!最好看文檔來選擇和實現(xiàn)自己的業(yè)務(wù),很簡單的!

一、創(chuàng)建obs-ws服務(wù)端

python控制obs實現(xiàn)無縫切換場景!obs-websocket-py,websocket,自動化,python,運維

?二、創(chuàng)建兩個場景和每個場景各添加一個視頻來源

python控制obs實現(xiàn)無縫切換場景!obs-websocket-py,websocket,自動化,python,運維

?SceneName場景添加一個MediaSourceNameA來源,添加視頻A

?SceneName1場景添加一個MediaSourceNameB來源,添加視頻A【當(dāng)數(shù)字人視頻生成好通過py替換掉這個路徑的】

SceneName場景的MediaSourceNameA的視頻A設(shè)置循環(huán)播放。

python控制obs實現(xiàn)無縫切換場景!obs-websocket-py,websocket,自動化,python,運維?

?目的是默認(rèn)播放推流SceneName場景MediaSourceNameA的視頻A,也就是不說話時的視頻。

三、python控制obs無縫切換場景

安裝依賴

pip install obs-websocket-py

?連接obs

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

這里地址來自這里

python控制obs實現(xiàn)無縫切換場景!obs-websocket-py,websocket,自動化,python,運維

工具-》obs-websocket?設(shè)置?

python控制obs實現(xiàn)無縫切換場景!obs-websocket-py,websocket,自動化,python,運維?點擊顯示連接信息,可以看到ip和密碼。

?當(dāng)數(shù)字人視頻生成好后執(zhí)行下面代碼!

        # 修改MediaSourceNameB來源的視頻路徑
        ws.call(requests.SetInputSettings(inputName="MediaSourceNameB", inputSettings={
            "local_file": os.path.abspath(video_path)
        }))
        # 激活SceneName1場景播放視頻
        ws.call(requests.SetCurrentProgramScene(sceneName='SceneName1'))

?可以監(jiān)聽MediaSourceNameB場景的視頻是否播放完畢,當(dāng)播放完畢切換回SceneName場景的循環(huán)播放視頻。

        while True:
            time.sleep(0.1)
            # 監(jiān)聽MediaSourceNameB視頻播放狀態(tài)
            status = ws.call(requests.GetMediaInputStatus(inputName="MediaSourceNameB")).datain
            print(status)
            # 播放完畢則切換回激活循環(huán)播放的SceneName場景視頻
            if status['mediaState'] == 'OBS_MEDIA_STATE_ENDED':
                ws.call(requests.SetCurrentProgramScene(sceneName='SceneName'))
                break

?

關(guān)閉websocket連接

# 斷開連接
ws.disconnect()

四、實現(xiàn)自定義邏輯

什么?一頭霧水???不難,我教你ya!

打開文檔

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

比如查詢視頻播放狀態(tài)

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

?搜索GetMediaInputStatus,你可以在文檔里看到名稱一樣的,同時他有使用介紹。不會英文就翻譯一下!

會告訴你它是干什么的,傳什么參數(shù),會得到什么響應(yīng)!

也就是說這個文檔里你想用哪個方法那就如下:

requests.XXX

對于傳參名,文檔里有!在方法里對應(yīng)寫就行!

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

必須由ws.call()包裹

默認(rèn)返回對象,.datain就是返回數(shù)據(jù)了!

python控制obs實現(xiàn)無縫切換場景!obs-websocket-py,websocket,自動化,python,運維?

python控制obs實現(xiàn)無縫切換場景!obs-websocket-py,websocket,自動化,python,運維?

?注意!

對于修改的方法會讓傳對象,文檔里沒有詳細(xì)說對象里的參數(shù)名和格式,這個比較坑!不過它對應(yīng)有個查詢的方法,根據(jù)查詢得出結(jié)果的內(nèi)容格式去寫就行啦!?

好了!整體就是這些啦,根據(jù)我的方法自己去摸索一下就行了!對于怎么推流這個是obs基礎(chǔ),自行百度下就行了?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-719766.html

到了這里,關(guān)于python控制obs實現(xiàn)無縫切換場景!obs-websocket-py的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • FPGA(Verilog)時鐘無縫切換設(shè)計與驗證

    FPGA(Verilog)時鐘無縫切換設(shè)計與驗證

    時鐘切換基本模型,本文圍繞“ 基本組合電路切換、解決前毛刺切換、解決后毛刺切換 ”三方面完成時鐘無縫切換。 組合邏輯切換,本質(zhì)就是二選一多路器 如下圖,CLK_SEL 0與1分別控制時鐘CLK_A CLK_B輸出。 組合邏輯輸出只跟當(dāng)前輸入狀態(tài)有關(guān),CLK_SEL異步不可控導(dǎo)致輸出毛刺

    2023年04月10日
    瀏覽(25)
  • 微信小程序(原生)——輪播圖swiper、1秒切換、自動輪播、無縫切換

    微信小程序(原生)——輪播圖swiper、1秒切換、自動輪播、無縫切換

    微信小程序的輪播圖制作,且圖片不變形。1秒切換、自動輪播、無縫切換 index.wxml文件: index.wxss文件: 完整示意圖 swiper網(wǎng)址:https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html image網(wǎng)址:https://developers.weixin.qq.com/miniprogram/dev/component/image.html 圖片處理方面: mode=\\\"aspectFi

    2024年02月15日
    瀏覽(95)
  • Unity游戲開發(fā):場景切換的實現(xiàn)

    Unity游戲開發(fā):場景切換的實現(xiàn)

    在unity中可以將不同場景的背景和道具放置在不同的Scene當(dāng)中,通過對Scene的加載和卸載來實現(xiàn)場景之間的切換。同時創(chuàng)建一個基礎(chǔ)場景(Control Scene)來對整個游戲系統(tǒng)進(jìn)行管理,在基礎(chǔ)場景(Control Scene)中不放置背景圖片或者游戲道具而只添加各種控制單元和Canvas。 在場景

    2024年02月15日
    瀏覽(19)
  • 炫酷的花式滑塊滑動無縫切換特效

    ?? 個人網(wǎng)站:【 海擁】【小霸王游戲機】【大轉(zhuǎn)盤】 ?? 風(fēng)趣幽默的前端學(xué)習(xí)課程:??28個案例趣學(xué)前端 ?? 想尋找共同學(xué)習(xí)交流、摸魚劃水的小伙伴,請點擊【摸魚學(xué)習(xí)群】【學(xué)習(xí)文檔】 ?? 免費且實用的計算機相關(guān)知識題庫:??進(jìn)來逛逛 給大家安利一個免費且實用的前

    2024年02月21日
    瀏覽(56)
  • 在windows和ubuntu之間共享鼠標(biāo)鍵盤,無縫切換

    在windows和ubuntu之間共享鼠標(biāo)鍵盤,無縫切換

    安裝和使用Barrier在Linux和其他設(shè)備之間共享鍵盤和鼠標(biāo) Barrier是一個開源軟件,能夠在多臺計算機之間共享鼠標(biāo)和鍵盤,如果你同時使用window和linux系統(tǒng),那就可以安裝和使用Barrier。 開源地址:https://github.com/debauchee/barrier ubuntu下安裝: 運行以下命令安裝 或者在軟件商店中進(jìn)

    2024年02月04日
    瀏覽(19)
  • U3D通過按鈕點擊實現(xiàn)場景切換

    U3D通過按鈕點擊實現(xiàn)場景切換

    1.新建UI,選擇button選項,新建button; ? 3.新建一個空對象,掛載一個scenechange c#腳本; 4.編寫腳本,1頭文件using UnityEngine.SceneMangement ? ? ? ? ? ? ? ? ? ?2public void change() { ? ? ? ? ? ? ? ? ? ? scenemanager.loadscene (1)? }//括號中的數(shù)字為第2步中場景后面的數(shù)字 ? ? ? ? ?

    2024年02月07日
    瀏覽(35)
  • Unity使用進(jìn)度條加載實現(xiàn)場景切換(簡單方法)

    Unity使用進(jìn)度條加載實現(xiàn)場景切換(簡單方法)

    ?我們實現(xiàn)場景切換時一般使用方法: ?這種方法可以實現(xiàn)場景頁面的直接切換,但在切換場景前想加這種進(jìn)度條的方式該如何實現(xiàn)呢? 接下來小編為大家講解一種非常簡單的方法供參考。 1.找一張實現(xiàn)頁面切換的背景圖片(任何圖片都可),記得將其改為“精靈模式”。

    2024年02月13日
    瀏覽(25)
  • 華為云OBS權(quán)限控制

    OBS權(quán)限控制理論上來講有3種,IAM權(quán)限、桶策略、桶/對象ACLs 參考:https://support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html 桶策略是針對某個桶配置的,因此更聚焦于“此桶”的個性化操作權(quán)限。桶策略里可以配置桶動作和對象動作。 桶ACLs/對象ACLs是將常用的桶策略進(jìn)行了一定的聚

    2024年02月13日
    瀏覽(20)
  • 一步一步學(xué)OAK之三:實現(xiàn)RGB相機場景切換

    創(chuàng)建新建3-rgb-scene文件夾 用vscode打開該文件夾 新建一個main.py 文件 安裝依賴前需要先創(chuàng)建和激活虛擬環(huán)境,我這里已經(jīng)創(chuàng)建了虛擬環(huán)境OAKenv,在終端中輸入cd…退回到OAKenv的根目錄,輸入 OAKenvScriptsactivate 激活虛擬環(huán)境 安裝pip依賴項: 在main.py中導(dǎo)入項目需要的包

    2024年02月11日
    瀏覽(20)
  • Unity 關(guān)卡跳轉(zhuǎn)——開始界面切換到游戲場景的實現(xiàn)

    Unity 關(guān)卡跳轉(zhuǎn)——開始界面切換到游戲場景的實現(xiàn)

    1 .在已有關(guān)卡的基礎(chǔ)上,另外新建一個關(guān)卡,將其命名為start并進(jìn)行保存。 2 .在新建立的start關(guān)卡中創(chuàng)建TitleScreen.cs腳本,代碼如下。 (值得注意的是,這里不要忘記使用unity引擎提供的SceneManagement類,即在腳本頂部添加 using UnityEngine.SceneManagement;) 3 .將TitleScreen.cs腳本掛載到

    2024年02月11日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包