【技術(shù)領(lǐng)域】
本發(fā)明涉及視頻直播領(lǐng)域,具體涉及一種視頻流推送控制方法、裝置及視頻流導播端。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)及智能移動終端設(shè)備的發(fā)展,各種互聯(lián)網(wǎng)產(chǎn)品給人們的工作、生活帶來了很多便利與娛樂,近年來,各類用于視頻直播的直播平臺層出不窮,視頻直播給人們帶來更實時的社交體驗。由于直播需求的多樣性,多機位多角度的直播可以充分發(fā)揮多機位聯(lián)機優(yōu)勢,避免單機位直播所采集的直播畫面內(nèi)容單一、不豐富的問題,可以更大程度地提高直播的氛圍、增強直播的內(nèi)容,支持復雜的節(jié)目直播。
圖3示出了現(xiàn)有技術(shù)中的多機位直播的技術(shù)方案的系統(tǒng)示意圖,現(xiàn)在技術(shù)中在進行多機位、多路視頻流采集直播的場景中,需要將多路直播視頻流推流到處于外網(wǎng)的導播服務器,然后再由導播端通過向?qū)Рシ掌靼l(fā)送指令選出最終的一路視頻流再推送到直播平臺。由于導播服務器架設(shè)在公網(wǎng)上,當網(wǎng)絡(luò)帶寬不足時(例如進行戶外直播),多路推送端的視頻流都會通過公網(wǎng)推流到導播服務器,并且導播端對于多路視頻流的監(jiān)看、控制需要從導播服務器通過公網(wǎng)將視頻流拉回,然后根據(jù)直播需求選擇相應的視頻流,最終被選擇推送到直播平臺的視頻流往往只是多路視頻流中的一路,其它路視頻流均只作為備選視頻流,而該多路備選視頻流卻占用了上行到公網(wǎng)的帶寬資源,同時導播端監(jiān)看視頻流還需要通過公網(wǎng)從服務器拉流,重復占用了帶寬,造成資源的浪費,大大增加了云導播服務器的壓力,同時導致被選擇的視頻流產(chǎn)生卡頓現(xiàn)象。
技術(shù)實現(xiàn)要素:
本發(fā)明的首要目的在于提供一種視頻流推送控制方法、裝置,旨在解決多個推送端推流多路視頻流時帶寬占用過高、外網(wǎng)服務器負荷過載等問題。
本發(fā)明的另一目的在于提供一種實現(xiàn)視頻流推送控制方法的視頻流導播端。
為實現(xiàn)該目的,本發(fā)明采用如下技術(shù)方案:
第一方面,一種視頻流推送控制方法,包括如下步驟:
接收推送端向?qū)Рザ伺渲玫木钟蚓W(wǎng)推流地址發(fā)送的內(nèi)網(wǎng)視頻流,其中,所述導播端與推送端處于同一局域網(wǎng);
根據(jù)所述內(nèi)網(wǎng)視頻流產(chǎn)生外網(wǎng)視頻流;
通過公網(wǎng)向?qū)Рシ掌靼l(fā)送所述外網(wǎng)視頻流,以通過所述導播服務器將所述外網(wǎng)視頻流發(fā)送至直播平臺。
優(yōu)選的,所述局域網(wǎng)推流地址為局域網(wǎng)rtmp地址。
進一步的,所述導播端配置的局域網(wǎng)推流地址為導播端內(nèi)置的rtmp服務器的局域網(wǎng)rtmp地址。
具體的,所述根據(jù)所述內(nèi)網(wǎng)視頻流產(chǎn)生外網(wǎng)視頻流的步驟,具體包括:
在導播端的客戶端顯示所述內(nèi)網(wǎng)視頻流,接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流的處理指令,依據(jù)所述處理指令產(chǎn)生外網(wǎng)視頻流。
具體的,所述接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流的處理指令,依據(jù)所述處理指令產(chǎn)生外網(wǎng)視頻流,包括:
接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流合成指令,將至少兩路內(nèi)網(wǎng)視頻流合成為一路外網(wǎng)視頻流;或
接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流切換指令,從至少兩路內(nèi)網(wǎng)視頻流中選擇一路內(nèi)網(wǎng)視頻流作為外網(wǎng)視頻流。
第二方面,本發(fā)明提供一種視頻流推送控制裝置,包括:
內(nèi)網(wǎng)接收模塊:用于接收推送端向?qū)Рザ伺渲玫木钟蚓W(wǎng)推流地址發(fā)送的內(nèi)網(wǎng)視頻流,其中,所述導播端與推送端處于同一局域網(wǎng);
生成模塊:用于根據(jù)所述內(nèi)網(wǎng)視頻流產(chǎn)生外網(wǎng)視頻流;
外網(wǎng)推送模塊:用于通過公網(wǎng)向?qū)Рシ掌靼l(fā)送所述外網(wǎng)視頻流,以通過所述導播服務器將所述外網(wǎng)視頻流發(fā)送至直播平臺。
優(yōu)選的,所述局域網(wǎng)推流地址為局域網(wǎng)rtmp地址。
進一步的,所述導播端配置的局域網(wǎng)推流地址為導播端內(nèi)置的rtmp服務器的局域網(wǎng)rtmp地址。
具體的,所述生成模塊包括:
指令接收單元:用于在導播端的客戶端顯示所述內(nèi)網(wǎng)視頻流,接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流的處理指令,依據(jù)所述處理指令產(chǎn)生外網(wǎng)視頻流;
視頻處理單元:用于接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流合成指令,將至少兩路內(nèi)網(wǎng)視頻流合成為一路外網(wǎng)視頻流;或
用于接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流切換指令,從至少兩路內(nèi)網(wǎng)視頻流中選擇一路內(nèi)網(wǎng)視頻流作為外網(wǎng)視頻流。
另外,本發(fā)明提供一種視頻流導播端,用于實現(xiàn)視頻流的推送控制,所述導播端接收推送端向?qū)Рザ伺渲玫木钟蚓W(wǎng)推流地址發(fā)送的內(nèi)網(wǎng)視頻流,其中,所述導播端與推送端處于同一局域網(wǎng);所述導播端根據(jù)所述內(nèi)網(wǎng)視頻流產(chǎn)生外網(wǎng)視頻流;所述導播端通過公網(wǎng)向?qū)Рシ掌靼l(fā)送所述外網(wǎng)視頻流,以通過所述導播服務器將所述外網(wǎng)視頻流發(fā)送至直播平臺。
與現(xiàn)有技術(shù)相比,本發(fā)明具備如下優(yōu)點:
本發(fā)明通過內(nèi)置于導播端的內(nèi)網(wǎng)服務器,接收與導播端處于同一局域網(wǎng)的推送端推送的多路內(nèi)網(wǎng)視頻流,然后再于導播端中對該多路視頻流進行編輯、處理,根據(jù)直播場景需求將多路內(nèi)網(wǎng)視頻流最終處理生成外網(wǎng)視頻流,再通過外網(wǎng)向?qū)Рシ掌魍屏魉鐾饩W(wǎng)視頻流,再由導播服務器將外網(wǎng)視頻流推送到各直播平臺。避免多路內(nèi)網(wǎng)視頻流直接上傳到外網(wǎng)的導播服務器,同時導播端不再需要從導播服務器上拉取內(nèi)網(wǎng)視頻流,降低外網(wǎng)帶寬資源的占用;并且多路內(nèi)網(wǎng)視頻流在導播端進行編輯、處理后形成外網(wǎng)視頻流,此時通過外網(wǎng)推流所述外網(wǎng)視頻流到導播服務器所需要的外網(wǎng)的上行帶寬大大減少,同時降低了導播服務器的負荷。
同時,由于推送端與導播端處于同一局域網(wǎng)內(nèi),可以最大限度地發(fā)揮上行帶寬的速率,基于此,在推送端可以直接將視頻流無損耗或低損耗地推送到導播端,導播端無需再從導播服務器上拉取內(nèi)網(wǎng)視頻流,更大程度地保證視頻的清晰度,繼而由導播端將產(chǎn)生的外網(wǎng)視頻流進行壓縮、轉(zhuǎn)碼后再推送到導播服務器,推送端推流效率更高,保證直播的時效性,并且推送到外網(wǎng)導播服務器上往往是處理后的一路外網(wǎng)視頻流,上傳一路外網(wǎng)視頻流所占用的外網(wǎng)帶寬資源更少,可以最大程度地保證視頻直播的流暢性。
并且,在導播端上還可以集中進行諸如添加字幕、添加logo、制作特效、畫面內(nèi)容識別等操作,將該多項操作集中在導播端進行處理,最大幅度地利用導播端的性能優(yōu)勢,并且能有效減少推送端處理器的工作負荷,使得推送端更好地將大部分的資源用于視頻流推流工作,從而保證視頻畫面的清晰、流暢。
顯然,上述有關(guān)本發(fā)明優(yōu)點的描述是概括性的,更多的優(yōu)點描述將體現(xiàn)在后續(xù)的實施例揭示中,以及,本領(lǐng)域技術(shù)人員也可以本發(fā)明所揭示的內(nèi)容合理地發(fā)現(xiàn)本發(fā)明的其他諸多優(yōu)點。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
【附圖說明】
圖1為本發(fā)明視頻流推送控制方法的一實施例流程示意圖。
圖2為本發(fā)明視頻流推送控制方法的系統(tǒng)組成示意圖。
圖3為現(xiàn)有技術(shù)中的多機位直播的技術(shù)方案的系統(tǒng)示意圖。
圖4為本發(fā)明視頻流推送控制裝置的一實施例示意圖。
圖5為視頻直播系統(tǒng)的拓撲結(jié)構(gòu)的一實施例示意圖。
【具體實施方式】
下面結(jié)合附圖和示例性實施例對本發(fā)明作進一步地描述,其中附圖中相同的標號全部指的是相同的部件。此外,如果已知技術(shù)的詳細描述對于示出本發(fā)明的特征是不必要的,則將其省略。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復數(shù)形式。應該進一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”可以包括:蜂窩通信設(shè)備、pcs(personalcommunicationsservice)、pda(personaldigitalassistant)、常規(guī)膝上型和/或掌上型計算機或其他設(shè)備、還可以是通信終端、上網(wǎng)終端、音樂/視頻播放終端,例如可以是pda、mid(mobileinternetdevice,移動互聯(lián)網(wǎng)設(shè)備)和/或具有音樂/視頻播放功能的移動電話。
如圖5所示是一個直播系統(tǒng)的拓撲結(jié)構(gòu)示意圖,包括以下組成部分:
推流端:推流端主要進行音視頻的采集、編碼及推送,包括音視頻采集裝置及編碼工具,用于創(chuàng)建、捕捉和編輯多媒體數(shù)據(jù),常用的編碼方式有cbr、vbr;對于視頻數(shù)據(jù),常用的編碼標準是h.265、h.264、mpeg-4,對于音頻數(shù)據(jù),常用的編碼標準有aac、g.711μ、opus,通過編碼壓縮音視頻數(shù)據(jù)來減少數(shù)據(jù)體積,然后將音視頻數(shù)據(jù)使用流媒體傳輸協(xié)議進行封裝形成流數(shù)據(jù),然后向服務端推送視頻流。音視頻數(shù)據(jù)經(jīng)過編碼后推流到服務端,流數(shù)據(jù)的傳輸則需要使用相應的傳輸協(xié)議,常用的推流協(xié)議是rtmp、rtsp、hls等。
服務端:服務端包括源站點跟cdn節(jié)點,其中,源站點用于接收推流端推送的視頻流,并將該視頻流推流到各cdn節(jié)點,再由cnd節(jié)點分發(fā)到各個播放端。同時,為了使接收到推流端推送的視頻流適配各個直播平臺、各種不同協(xié)議,需要在服務端將接收到的視頻流轉(zhuǎn)碼成支持如rtmp、hls、flv等格式的以供相應的播放端拉流。
播放端:播放端通過向服務端拉取相應的視頻流后,需要進行解碼、渲染后在本地播放器播放。
第一方面,如圖1所示是本發(fā)明視頻流推送控制方法的一實施例流程示意圖,該方法由導播端執(zhí)行,包括步驟s100~s300;同時參見圖2,是本發(fā)明所述方法的系統(tǒng)組成示意圖,結(jié)合圖1、圖2更好地了解本發(fā)明視頻流推送控制方法的技術(shù)方案。
步驟s100:接收推送端向?qū)Рザ伺渲玫木钟蚓W(wǎng)推流地址發(fā)送的內(nèi)網(wǎng)視頻流,其中,所述導播端與推送端處于同一局域網(wǎng)。
所述推送端為視頻直播領(lǐng)域中的直播機或者推流軟件,可以是外設(shè)攝像頭或計算機桌面圖像采集后利用推流軟件如obs、fmle、xsplit進行推流,或者是移動端如手機或平板電腦利用攝像頭采集后推流,即所述推送端可以通過導播端提供的推流地址實現(xiàn)視頻流推流,所謂推流即將已編碼的音視頻數(shù)據(jù)按照流媒體傳輸協(xié)議發(fā)送至所述推流地址的服務器;所述導播端可以理解為導播平臺,通過導播端可以對多路視頻流進行畫面的編輯、切換以及音頻的編輯等,選擇/合成最終的一路視頻流??梢岳斫獾氖?,所述推送端、導播端均屬于上述定義的“終端”、“終端設(shè)備”。本實施例中,先將推送端與導播端接入同一個局域網(wǎng)中,局域網(wǎng)(localareanetwork,lan)是指在某一區(qū)域內(nèi)由多臺計算機互聯(lián)成的計算機組,同一局域網(wǎng)上的每一臺計算機(或其設(shè)備)都有一個或多個局域網(wǎng)ip地址,每個局域網(wǎng)ip地址是局域網(wǎng)內(nèi)部分配的,而且ip都是以192開頭的ip,不同局域網(wǎng)的ip地址可以重復,不會相互影響;由于推送端與導播端處于同一局域網(wǎng),本實施例中將導播端配置的推流地址定義為局域網(wǎng)推流地址,將推送端通過局域網(wǎng)推流地址發(fā)送到導播端的視頻流定義為內(nèi)網(wǎng)視頻流,導播端通過配置至少一個推流地址以供推送端通過該推流地址將內(nèi)網(wǎng)視頻流推送到導播端。
本發(fā)明的一種實施例,所述局域網(wǎng)推流地址為局域網(wǎng)rtmp地址,目前較多使用的流媒體推流協(xié)議主要包括rtmp、webrtc以及基于udp的私有協(xié)議,其中,rtmp是realtimemessagingprotocol(實時消息傳輸協(xié)議)的首字母縮寫,該協(xié)議基于tcp,是一個協(xié)議族,包括rtmp基本協(xié)議及rtmpt/rtmps/rtmpe等多種變種,rtmp是一種設(shè)計用來進行實時數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,主要用在flash/air平臺和支持rtmp協(xié)議的流媒體/交互服務器之間進行音視頻和數(shù)據(jù)通信,rtmp是目前主流的流媒體傳輸協(xié)議,廣泛用于直播領(lǐng)域?;趓tmp的rtmp推流地址以rtmp://開頭,并且包括上傳服務url地址、上傳目錄名和上傳節(jié)點(stream)三部分,本實施例的一個局域網(wǎng)rtmp地址為rtmp://192.168.xxx.xxx/live/streamid。
由于推送端的內(nèi)網(wǎng)視頻流推流是基于rtmp協(xié)議的,故接收該內(nèi)網(wǎng)視頻流的所述導播端也必須支持rtmp協(xié)議。進一步的,本發(fā)明的一種實施例,所述導播端配置的局域網(wǎng)推流地址為導播端內(nèi)置的rtmp服務器的局域網(wǎng)rtmp地址,具體的,在導播端配置一個內(nèi)網(wǎng)服務器,由該內(nèi)網(wǎng)服務器提供至少一個rtmp推流地址,可以理解的是,該內(nèi)網(wǎng)服務器提供的rtmp推流地址也同樣是局域網(wǎng)推流地址,然后推送端通過該局域網(wǎng)rtmp推流地址向?qū)Рザ送扑蛢?nèi)網(wǎng)視頻流。
可以理解的是,本發(fā)明的另一實施例中,推送端可以采用其它流媒體推流協(xié)議將內(nèi)網(wǎng)視頻流推送至導播端,相應的,導播端內(nèi)置的服務器也同樣更改、配置為支持該推流協(xié)議的服務器,例如推送端基于webrtc協(xié)議進行推流,webrtc名稱源自網(wǎng)頁即時通信(英語:webreal-timecommunication)的縮寫,是一個支持網(wǎng)頁瀏覽器進行實時語音對話或視頻對話的api,底層基于srtp和udp,弱網(wǎng)情況優(yōu)化空間大,相應的,導播端內(nèi)置的服務器則需更改、配置為支持webrtc推流協(xié)議的服務器。
本發(fā)明由于推送端與導播端處于同一局域網(wǎng)內(nèi),可以最大限度地發(fā)揮上行帶寬的速率,基于此,在推送端可以直接將視頻流無損耗或低損耗地推送到導播端,更大程度地保證視頻的清晰度;繼而再由導播端將產(chǎn)生的外網(wǎng)視頻流進行壓縮、轉(zhuǎn)碼后再推送到導播服務器,推送端推流效率更高,更能保證直播的時效性,并且上傳的外網(wǎng)視頻流所占用的上行帶寬資源更少,可以最大程度地保證視頻直播的流暢性。
步驟s200:根據(jù)所述內(nèi)網(wǎng)視頻流產(chǎn)生外網(wǎng)視頻流。
導播端接收到所述內(nèi)網(wǎng)視頻流后,根據(jù)直播場景的需要將內(nèi)網(wǎng)視頻流編輯、處理生成外網(wǎng)視頻流,所述根據(jù)內(nèi)網(wǎng)視頻流產(chǎn)生外網(wǎng)視頻流的步驟具體包括:
在導播端的客戶端顯示內(nèi)網(wǎng)視頻流,接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流的處理指令,依據(jù)所述處理指令產(chǎn)生外網(wǎng)視頻流。
針對于接收到的多路內(nèi)網(wǎng)視頻流,在導播端的客戶端上進行實時顯示,并且對于該多路內(nèi)網(wǎng)視頻流,用戶可以通過客戶端對其進行編輯、處理,導播端接收用戶操作客戶端而發(fā)送的內(nèi)網(wǎng)視頻流的處理指令,依據(jù)所述處理指令產(chǎn)生外網(wǎng)視頻流。
本發(fā)明一種實施例中,所述接收內(nèi)網(wǎng)視頻流的處理指令具體為:接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流的合成指令,將至少兩路內(nèi)網(wǎng)視頻流合成為一路視頻流。
為了達到多方位同時展示直播場景的效果,例如顯示臺上場景的主機位跟采訪觀眾的副機位共同顯示,將該兩個機位的兩路內(nèi)網(wǎng)視頻流畫面進行合成,同時,可以擇一選擇兩路視頻流的音頻或另外選擇其它音頻,將該兩路視頻流合成為一路視頻流作為外網(wǎng)視頻流。
本發(fā)明另一種實施例中,所述接收內(nèi)網(wǎng)視頻流的處理指令具體為:接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流的切換指令,從至少兩路內(nèi)網(wǎng)視頻流中選擇一路內(nèi)網(wǎng)視頻流作為外網(wǎng)視頻流,可以理解的是,多機位直播場景中,由于畫面選擇,只需播放2號機位的直播內(nèi)容,在導播端則可以選擇、切換多路內(nèi)網(wǎng)視頻流中的一路視頻流(對應2號機位)作為外網(wǎng)視頻流。
基于上述說明,可以知道的是,在導播端上還可以進行諸如添加字幕、添加logo、制作特效、畫面內(nèi)容識別等操作;同時,將該多項操作集中在導播端進行處理,能有效減少推送端處理器的工作負荷,使得推送端更好地將大部分的資源用于視頻流推流工作,進而保證視頻畫面的清晰、流暢。
步驟s300:通過公網(wǎng)向?qū)Рシ掌靼l(fā)送所述外網(wǎng)視頻流,以通過所述導播服務器將所述外網(wǎng)視頻流發(fā)送至直播平臺。
在導播端完成生成外網(wǎng)視頻流后,通過公網(wǎng)向?qū)Рシ掌靼l(fā)送所述外網(wǎng)視頻流,即將外網(wǎng)視頻流向?qū)Рシ掌鬟M行推流,以通過導播服務器將外網(wǎng)視頻流發(fā)送至直播平臺。所述公網(wǎng)即區(qū)別于內(nèi)網(wǎng)的廣域網(wǎng)(wan,wideareanetwork),也稱遠程網(wǎng)(longhaulnetwork),廣域網(wǎng)將分布在不同地區(qū)的局域網(wǎng)或計算機系統(tǒng)互連起來,達到資源共享的目的,因特網(wǎng)(internet)是世界范圍內(nèi)最大的廣域網(wǎng),通過公網(wǎng)可以訪問公網(wǎng)上的所有ip。所述導播服務器架設(shè)在公網(wǎng)上,因為最終面向終端用戶提供服務的是分布在全網(wǎng)的流媒體服務器,通過導播服務器將所產(chǎn)生的外網(wǎng)視頻流推流到直播平臺,不同觀眾端的終端用戶從而可以在相應的直播平臺上通過公網(wǎng)從導播服務器拉流以觀看該直播視頻。本實施例中,觀眾端拉流的具體實施方式如下,基于rtmp的拉流的播放地址為rtmp://pull.example.com/live/streamid;基于hls的拉流的播放地址為http://pull.example.com/live/streamid.m3u8;基于fls的拉流的播放地址為http://pull.example.com/live/streamid.flv。
第二方面,如圖4所示是本發(fā)明視頻流推送控制裝置的一實施例示意圖,包括:
內(nèi)網(wǎng)接收模塊100:用于接收推送端向?qū)Рザ伺渲玫木钟蚓W(wǎng)推流地址發(fā)送的內(nèi)網(wǎng)視頻流,其中,所述導播端與推送端處于同一局域網(wǎng)。
內(nèi)網(wǎng)接收模塊100接收推送端如直播機或obs推流軟件根據(jù)導播端配置的局域網(wǎng)推流地址推送的內(nèi)網(wǎng)視頻流,本實施例中,所述導播端跟推送端處于同一局域網(wǎng),故將導播端配置的推流地址定義為局域網(wǎng)推流地址,將推送端通過局域網(wǎng)推流地址發(fā)送到導播端的視頻流定義為內(nèi)網(wǎng)視頻流。
優(yōu)選的,所述局域網(wǎng)推流地址為局域網(wǎng)rtmp推流地址,本實施例的一個局域網(wǎng)rtmp推流地址為rtmp://192.168.xxx.xxx/live/streamid;進一步的,所述導播端配置的局域網(wǎng)推流地址為導播端內(nèi)置的rtmp服務器的局域網(wǎng)rtmp地址,具體的,在導播端配置一個內(nèi)網(wǎng)服務器,由該內(nèi)網(wǎng)服務器提供至少一個rtmp推流地址,內(nèi)網(wǎng)接收模塊100從而可以接收推送端通過該局域網(wǎng)rtmp推流地址向?qū)Рザ送扑蛢?nèi)網(wǎng)視頻流。
生成模塊200:用于根據(jù)所述內(nèi)網(wǎng)視頻流產(chǎn)生外網(wǎng)視頻流。
內(nèi)網(wǎng)接收模塊100接收到所述內(nèi)網(wǎng)視頻流后,生成模塊200根據(jù)直播場景的需要將內(nèi)網(wǎng)視頻流編輯、處理生成外網(wǎng)視頻流。
所述生成模塊200包括:
指令接收單元201:用于在導播端的客戶端顯示所述內(nèi)網(wǎng)視頻流,接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流的處理指令,依據(jù)所述處理指令產(chǎn)生外網(wǎng)視頻流。
視頻處理單元202:用于接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流的合成指令,將至少兩路內(nèi)網(wǎng)視頻流合成為一路外網(wǎng)視頻流;或
用于接收客戶端發(fā)送的內(nèi)網(wǎng)視頻流的切換指令,從至少兩路內(nèi)網(wǎng)視頻流中選擇一路內(nèi)網(wǎng)視頻流作為外網(wǎng)視頻流。
指令接收單元201針對于接收到的多路內(nèi)網(wǎng)視頻流,在導播端的客戶端上進行實時顯示,并且對于該多路內(nèi)網(wǎng)視頻流,用戶可以通過客戶端對其進行編輯、處理,視頻處理單元202接收用戶操作客戶端而發(fā)送的內(nèi)網(wǎng)視頻流的處理指令,依據(jù)所述處理指令產(chǎn)生外網(wǎng)視頻流。
本發(fā)明一種實施例中,為了達到多方位同時展示直播場景的效果,例如顯示臺上場景的主機位跟采訪觀眾的副機位共同顯示,將該兩個機位的兩路內(nèi)網(wǎng)視頻流畫面進行合成,同時,可以擇一選擇兩路視頻流的音頻或另外選擇其它音頻,視頻處理單元202將該兩路視頻流合成為一路視頻流作為外網(wǎng)視頻流。
本發(fā)明另一種實施例中,多機位直播場景中,由于畫面選擇,只需播放2號機位的直播內(nèi)容,在導播端則可以選擇、切換多路內(nèi)網(wǎng)視頻流中的一路視頻流(對應2號機位)作為外網(wǎng)視頻流,視頻處理單元202生成相應的外網(wǎng)視頻流。
外網(wǎng)推送模塊300:用于通過公網(wǎng)向?qū)Рシ掌靼l(fā)送所述外網(wǎng)視頻流,以通過所述導播服務器將所述外網(wǎng)視頻流發(fā)送至直播平臺。
在生成模塊200完成生成外網(wǎng)視頻流后,外網(wǎng)推送模塊300通過公網(wǎng)向?qū)Рシ掌靼l(fā)送所述外網(wǎng)視頻流,即將外網(wǎng)視頻流向?qū)Рシ掌鬟M行推流,以通過導播服務器將外網(wǎng)視頻流發(fā)送至直播平臺,觀眾端的終端用戶從而可以在相應的直播平臺上通過公網(wǎng)從導播服務器拉流以觀看該直播視頻。本實施例中,觀眾端拉流的具體實施方式如下,基于rtmp的拉流的播放地址為rtmp://pull.example.com/live/streamid;基于hls的拉流的播放地址為http://pull.example.com/live/streamid.m3u8;基于fls的拉流的播放地址為http://pull.example.com/live/streamid.flv。
第三方面,本發(fā)明還提供一種導播端,用于實現(xiàn)視頻流的推送控制,所述導播端與推送端處于同一局域網(wǎng),并接收推送端向?qū)Рザ伺渲玫木钟蚓W(wǎng)推流地址發(fā)送的內(nèi)網(wǎng)視頻流,然后再根據(jù)所述內(nèi)網(wǎng)視頻流產(chǎn)生外網(wǎng)視頻流,同時通過公網(wǎng)向?qū)Рシ掌靼l(fā)送所述外網(wǎng)視頻流,以通過所述導播服務器將所述外網(wǎng)視頻流發(fā)送至直播平臺。
本發(fā)明通過內(nèi)置于導播端的內(nèi)網(wǎng)服務器,接收與導播端處于同一局域網(wǎng)的推送端推送的多路內(nèi)網(wǎng)視頻流,然后再于導播端中對該多路視頻流進行編輯、處理,根據(jù)直播場景需求將多路內(nèi)網(wǎng)視頻流最終處理生成外網(wǎng)視頻流,再通過外網(wǎng)向?qū)Рシ掌魍屏魉鐾饩W(wǎng)視頻流,再由導播服務器將外網(wǎng)視頻流推送到各直播平臺。避免多路內(nèi)網(wǎng)視頻流直接上傳到外網(wǎng)的導播服務器,同時導播端不再需要從導播服務器上拉取內(nèi)網(wǎng)視頻流,降低外網(wǎng)帶寬資源的占用;并且多路內(nèi)網(wǎng)視頻流在導播端進行編輯、處理后形成外網(wǎng)視頻流,此時通過外網(wǎng)推流所述外網(wǎng)視頻流到導播服務器所需要的外網(wǎng)的上行帶寬大大減少,同時降低了導播服務器的負荷。
同時,由于推送端與導播端處于同一局域網(wǎng)內(nèi),可以最大限度地發(fā)揮上行帶寬的速率,基于此,在推送端可以直接將視頻流無損耗或低損耗地推送到導播端,導播端無需再從導播服務器上拉取內(nèi)網(wǎng)視頻流,更大程度地保證視頻的清晰度,繼而由導播端將產(chǎn)生的外網(wǎng)視頻流進行壓縮、轉(zhuǎn)碼后再推送到導播服務器,推送端推流效率更高,保證直播的時效性,并且推送到外網(wǎng)導播服務器上往往是處理后的一路外網(wǎng)視頻流,上傳一路外網(wǎng)視頻流所占用的外網(wǎng)帶寬資源更少,可以最大程度地保證視頻直播的流暢性。
并且,在導播端上還可以集中進行諸如添加字幕、添加logo、制作特效、畫面內(nèi)容識別等操作,將該多項操作集中在導播端進行處理,最大幅度地利用導播端的性能優(yōu)勢,并且能有效減少推送端處理器的工作負荷,使得推送端更好地將大部分的資源用于視頻流推流工作,從而保證視頻畫面的清晰、流暢。
雖然上面已經(jīng)示出了本發(fā)明的一些示例性實施例,但是本領(lǐng)域的技術(shù)人員將理解,在不脫離本發(fā)明的原理或精神的情況下,可以對這些示例性實施例做出改變,本發(fā)明的范圍由權(quán)利要求及其等同物限定。