本發明涉及互聯網技術領域,特別是涉及一種視頻預覽方法及系統。
背景技術:
隨著互聯網以及各種智能設備的高速發展,人們可以通過各種智能設備,例如手機、平板電腦、智能電視、智能手表等設備,隨時隨地實現視頻通話,大大提高了通信的便捷性。用戶使用智能設備進行視頻通話時,首先可以由視頻通話的發起方向受邀方發起視頻通話,受邀方接收到視頻通話邀請后,可以選擇是否接受該視頻通話邀請。當受邀方選擇接受該視頻通話邀請后,雙方可以建立起音視頻數據的傳輸鏈接,發送本方的音視頻數據,并接收對方的音視頻數據。
為了提高用戶體驗,在現有技術中,當發起方向受邀方發起視頻通話,受邀方接收到視頻通話邀請后,可以建立起單向的點對點的音視頻數據的傳輸鏈接,使得受邀方可以在不接受視頻通話邀請的情況下接收到發起方的音視頻數據,從而預覽到發起方的視頻圖像或聲音。
然而在實際應用中,受邀方往往可以有多個設備同時在線,例如,受邀方可以在手機、平板電腦及個人電腦上同時使用視頻通話軟件。在這種情況下,由于發起方只能建立起點對點的音視頻數據的傳輸鏈接,從而不能對受邀方的多個設備同時提供視頻或音頻的預覽,限制了音視頻預覽這一功能的應用范圍,并且降低了用戶體驗。
技術實現要素:
本發明實施例的目的在于提供一種視頻預覽方法及系統,以實現能夠同時對多個設備提供視頻預覽的功能。具體技術方案如下:
本發明實施例提供了一種視頻預覽方法,包括:
媒體轉發服務器為視頻通話的發起方分配第一視頻流標識,以使所述發起方向所述媒體轉發服務器發送的音視頻數據具有所述第一視頻流標識,并使所述發起方向信令服務器發送所述第一視頻流標識;
所述媒體轉發服務器接收所述發起方所發送具有所述第一視頻流標識的音視頻數據;
所述信令服務器接收所述發起方所發送的所述第一視頻流標識,并將所述第一視頻流標識發送至受邀方的多個設備,以使所述受邀方的多個設備根據所述第一視頻流標識,向所述媒體轉發服務器發送第一訂閱命令,所述第一訂閱命令中含有所述第一視頻流標識,其中所述受邀方的多個設備為同一用戶能夠接收所述發起方所發起的視頻通話的多個設備;
所述媒體轉發服務器接收所述受邀方的各設備發送的所述第一訂閱命令,并根據所述第一訂閱命令中的所述第一視頻流標識,將其接收的具有所述第一視頻流標識的音視頻數據發送至所述受邀方的各設備,以使所述受邀方的各設備接收并顯示所述發起方發送的音視頻數據。
可選的,所述媒體轉發服務器為視頻通話的發起方分配第一視頻流標識,包括:
當媒體轉發服務器接收到視頻通話的發起方所發送的第一發布命令時,所述媒體轉發服務器為所述發起方分配第一視頻流標識,其中,所述第一發布命令用于通知所述媒體轉發服務器接收音視頻數據。
可選的,在所述媒體轉發服務器為視頻通話的發起方分配第一視頻流標識之前,所述方法還包括:
信令服務器接收視頻通話的發起方所發送的視頻通話請求,并將所述視頻通話請求發送至受邀方的多個設備,以使所述受邀方的多個設備進入視頻通話邀請界面。
可選的,在所述媒體轉發服務器接收所述受邀方的各設備發送的所述第一訂閱命令,并根據所述第一訂閱命令中的所述第一視頻流標識,將其接收的具有所述第一視頻流標識的音視頻數據發送至所述受邀方的各設備之后,所述方法還包括:
當所述受邀方的多個設備中的第一設備接受所述視頻通話請求時,所述信令服務器接收所述第一設備發送的請求回應;
所述信令服務器向所述發起方發送所述請求回應;
所述信令服務器向所述受邀方的多個設備中除所述第一設備以外的其他設備發送預設信息,以使所述其他設備停止接收所述媒體轉發服務器發送的所述音視頻數據,其中,所述預設信息用于通知所述其他設備視頻通話已經在所述第一設備建立。
可選的,所述當所述受邀方的多個設備中的第一設備接受所述視頻通話請求之后,所述方法還包括:
所述媒體轉發服務器為所述第一設備分配第二視頻流標識,以使所述第一設備向所述媒體轉發服務器發送具有所述第二視頻流標識的音視頻數據,并使所述第一設備向所述信令服務器發送所述第二視頻流標識;
所述信令服務器接收所述第二視頻流標識,并將所述第二視頻流標識發送至所述發起方,以使所述發起方根據所述第二視頻流標識,向所述媒體轉發服務器發送第二訂閱命令,所述第二訂閱命令中含有所述第二視頻流標識;
所述媒體轉發服務器接收所述發起方所發送的所述第二訂閱命令,并根據所述第二訂閱命令中的所述第二視頻流標識,將其接收的具有所述第二視頻流標識的音視頻數據發送至所述發起方,以使所述發起方與所述第一設備建立視頻通話的連接。
本發明實施例還提供了一種視頻預覽系統,包括媒體轉發服務器和信令服務器;
所述媒體轉發服務器,用于為視頻通話的發起方分配第一視頻流標識,以使所述發起方向所述媒體轉發服務器發送的音視頻數據具有所述第一視頻流標識,并使所述發起方向所述信令服務器發送所述第一視頻流標識;
所述媒體轉發服務器,還用于接收所述發起方所發送具有所述第一視頻流標識的音視頻數據;
所述信令服務器,用于接收所述發起方所發送的所述第一視頻流標識,并將所述第一視頻流標識發送至受邀方的多個設備,以使所述受邀方的多個設備根據所述第一視頻流標識,向所述媒體轉發服務器發送第一訂閱命令,所述第一訂閱命令中含有所述第一視頻流標識,其中所述受邀方的多個設備為同一用戶能夠接收所述發起方所發起的視頻通話的多個設備;
所述媒體轉發服務器,還用于接收所述受邀方的各設備發送的所述第一訂閱命令,并根據所述第一訂閱命令中的所述第一視頻流標識,將其接收的具有所述第一視頻流標識的音視頻數據發送至所述受邀方的各設備,以使所述受邀方的各設備接收并顯示所述發起方發送的音視頻數據。
可選的,所述媒體轉發服務器,具體用于:
當接收到視頻通話的發起方所發送的第一發布命令時,所述媒體轉發服務器為所述發起方分配第一視頻流標識,其中,所述第一發布命令用于通知所述媒體轉發服務器接收音視頻數據。
可選的,所述信令服務器,還用于接收視頻通話的發起方所發送的視頻通話請求,并將所述視頻通話請求發送至受邀方的多個設備,以使所述受邀方的多個設備進入視頻通話邀請界面。
可選的,所述信令服務器,還用于當所述受邀方的多個設備中的第一設備接受所述視頻通話請求時,接收所述第一設備發送的請求回應;向所述發起方發送所述請求回應;向所述受邀方的多個設備中除所述第一設備以外的其他設備發送預設信息,以使所述其他設備停止接收所述媒體轉發服務器發送的所述音視頻數據,其中,所述預設信息用于通知所述其他設備視頻通話已經在所述第一設備建立。
可選的,所述媒體轉發服務器,還用于為所述第一設備分配第二視頻流標識,以使所述第一設備向所述媒體轉發服務器發送具有所述第二視頻流標識的音視頻數據,并使所述第一設備向所述信令服務器發送所述第二視頻流標識;
所述信令服務器,還用于接收所述第二視頻流標識,并將所述第二視頻流標識發送至所述發起方,以使所述發起方根據所述第二視頻流標識,向所述媒體轉發服務器發送第二訂閱命令,所述第二訂閱命令中含有所述第二視頻流標識;
所述媒體轉發服務器,還用于接收所述發起方所發送的所述第二訂閱命令,并根據所述第二訂閱命令中的所述第二視頻流標識,將其接收的具有所述第二視頻流標識的音視頻數據發送至所述發起方,以使所述發起方與所述第一設備建立視頻通話的連接。
本發明實施例提供的一種視頻預覽方法及系統,可以通過媒體轉發服務器來接收發起方所發送音視頻數據,并通過媒體轉發服務器將音視頻數據發送至受邀方的多個設備,從而使得受邀方的多個設備能夠接收并顯示所述發起方發送的音視頻數據,在受邀方接受視頻通話邀請之前,可以在受邀方的每一個設備上接收到發起方的音視頻數據,從而可以在受邀方的每一個設備進行發起方視頻圖像或聲音的預覽,可以大大擴展視頻預覽這一功能的應用范圍,進而可以提高用戶體驗。當然,實施本發明的任一產品或方法必不一定需要同時達到以上所述的所有優點。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹。
圖1為本發明實施例提供的視頻預覽方法的一種流程圖;
圖2為本發明實施例提供的視頻預覽方法的另一種流程圖;
圖3為本發明實施例提供的視頻預覽方法的再一種流程圖;
圖4為本發明實施例提供的應用視頻預覽方法的系統框架圖;
圖5為本發明實施例提供的視頻預覽系統的結構圖。
具體實施方式
在日常生活中,用戶可以通過各類設備,例如手機、平板電腦等,向其他用戶發起視頻通話,其他用戶則可以通過各類設施接收該視頻通話,并可以在設備上選擇,接受該視頻通話或拒絕該視頻通話。在雙方進行視頻通話的連接時,視頻通話的發起方會通過一個設備向受邀方發起視頻通話的邀請,然而受邀方往往會有多個設備可以接收到該視頻通話的邀請。由于現有技術只能在受邀方只有一個設備接收該視頻通話的邀請的情況下,受邀方的設備在接受該視頻通話的邀請之前,能夠實現對發起方音視頻數據的預覽。當受邀方有多個設備時,則無法在多個設備上進行發起方音視頻數據的預覽。
在本發明實施例中,通過媒體轉發服務器和信令服務器,可以將發起方所采集并發送的音視頻數據,轉發至受邀方的每一個能夠接收到發起方所發送的視頻通話邀請的設備,從而在該視頻通話的連接建立之前,使發起方的多個設備中,都可以預覽到發起方的音視頻數據。
從而實現了在受邀方的每一個設備進行發起方音視頻數據的預覽,擴展了視頻預覽這一功能的應用范圍,并且提高了用戶體驗。
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行詳細的描述。
參見圖1,圖1為本發明實施例提供的視頻預覽方法的一種流程圖,包括:
步驟101,媒體轉發服務器為視頻通話的發起方分配第一視頻流標識,以使發起方向媒體轉發服務器發送的音視頻數據具有所述第一視頻流標識,并使發起方向信令服務器發送該第一視頻流標識。
媒體轉發服務器是用于接收一方所發送的音視頻數據,并向另一方轉發該音視頻數據的服務器,該媒體轉發服務器可以為集中式的服務器,也可以為cdn(contentdeliverynetwork,分布式服務器)。
視頻通話的發起方可以是任何能夠進行視頻通話的設備,例如,手機、平板電腦等智能設備。發起方可以采集本地的音視頻數據向媒體轉發服務器發送。
當發起方需要向媒體轉發服務器發送所采集的音視頻數據時,媒體轉發服務器可以向發起方先分配第一視頻流標識,第一視頻流標識可以是編碼或者符號等等,用來標記及區分出發起方向服務器所發送的音視頻數據。
發起方獲得了媒體轉發服務器所分配的第一視頻流標識后,就可以開啟攝像頭和麥克風等采集裝置采集音視頻數據,并對所采集的音視頻數據進行編碼,將第一視頻流標識加入所采集的經過編碼的音視頻數據中向媒體轉發服務器發送。
同時,當發起方獲得了媒體轉發服務器所分配的第一視頻流標識后,發起方可以向信令服務器發送該第一視頻流標識。
信令服務器是用于接收一方所發送的各類控制信息,并向另一方轉發各類控制信息的服務器,與媒體轉發服務器類似,信令服務器可以為集中式的服務器,也可以為cdn。
在本發明實施例的一種實施方式中,媒體轉發服務器和信令服務器可以是獨立的服務器;在本發明實施例的另一種實施方式中,媒體轉發服務器和信令服務器可以集成在一個服務器上,該服務器可以同時實現媒體轉發服務器和信令服務器的全部功能。
步驟102,媒體轉發服務器接收發起方所發送具有第一視頻流標識的音視頻數據。
在實際應用中,媒體轉發服務器往往會同時為很多視頻通話的連接提供音視頻數據的轉發服務,所以可能接收到很多音視頻數據。
媒體轉發服務器接收到發起方所發送音視頻數據后,可以根據音視頻數據中所具有的第一視頻流標識,確定出該音視頻數據是由哪個發起方所發送,從而能夠在后續步驟中能夠準確的向受邀方轉發該音視頻數據。
容易理解的是,音視頻數據可以同時含有音頻數據和視頻數據,也可以只含有單獨的音頻數據或視頻數據。
步驟103,信令服務器接收發起方所發送的第一視頻流標識,并將第一視頻流標識發送至受邀方的多個設備,以使受邀方的多個設備根據第一視頻流標識,向媒體轉發服務器發送第一訂閱命令,第一訂閱命令中含有第一視頻流標識,其中受邀方的多個設備為同一用戶能夠接收發起方所發起的視頻通話的多個設備。
信令服務器接收發起方所發送的第一視頻流標識后,可以將該第一視頻標識發送至受邀方的多個設備。受邀方的多個設備為同一用戶能夠接收發起方所發起的視頻通話的多個設備。
例如,發起方通過一通信軟件向受邀方發起視頻通話,而受邀方的手機、平板電腦、pc端等設備上均安裝有該通信軟件,并且同時在線,則該受邀方同時在線的多個設備,都可以接收到信令服務器所發送的第一視頻流標識。
受邀方的多個設備接收到信令服務器發送的第一視頻流標識后,可以向媒體轉發服務器發送第一訂閱命令,第一訂閱命令中含有第一視頻流標識,用于向媒體轉發服務器訂閱具有第一視頻流標識的音視頻數據。
第一訂閱命令可以是能夠用于傳輸控制信息的各類報文或指令,只要能夠具有本發明實施例中作用及功能的報文或指令,都可以作為第一訂閱命令,也都屬于本發明實施例的保護范圍。
步驟104,媒體轉發服務器接收受邀方的各設備發送的第一訂閱命令,并根據第一訂閱命令中的第一視頻流標識,將其接收的具有第一視頻流標識的音視頻數據發送至受邀方的各設備,以使所述受邀方的各設備接收并顯示所述發起方發送的音視頻數據。
媒體轉發服務器接收到受邀方的各個設備所發送的第一訂閱命令后,就可以根據第一訂閱命令中的第一視頻流標識,將發起方發送至媒體轉發服務器的、具有第一視頻流標識的音視頻數據轉發至受邀方的各設備。
受邀方的各設備接收到具有第一視頻流標識的音視頻數據,可以對該音視頻數據進行解碼,從而可以顯示出發起方的音視頻數據,在沒有建立起雙方的視頻通話連接之前,就可以預覽到發起方的音視頻數據。
在本發明實施例中,通過媒體轉發服務器來接收發起方所發送音視頻數據,并通過媒體轉發服務器將音視頻數據發送至受邀方的多個設備,從而使得受邀方的多個設備能夠接收并顯示所述發起方發送的音視頻數據,在受邀方接受視頻通話邀請之前,可以在受邀方的每一個設備上接收到發起方的音視頻數據,從而可以在受邀方的每一個設備進行發起方視頻圖像或聲音的預覽,可以擴展視頻預覽這一功能的應用范圍,并且提高用戶體驗。
可選的,在本發明實施例提供的視頻預覽方法中,媒體轉發服務器為視頻通話的發起方分配第一視頻流標識,包括:
當媒體轉發服務器接收到視頻通話的發起方所發送的第一發布命令時,媒體轉發服務器為發起方分配第一視頻流標識,其中,第一發布命令用于通知媒體轉發服務器接收音視頻數據。
當發起方需要向媒體轉發服務器發送音視頻數據時,可以向媒體轉發服務器發送第一發布命令,第一發布命令用于通知媒體轉發服務器,發送該第一發布命令的發起方準備向媒體轉發服務器發送音視頻數據,并請求媒體轉發服務器準備接收音視頻數據。第一發布命令可以是能夠用于傳輸控制信息的各類報文或指令,只要能夠具有本發明實施例中作用及功能的報文或指令,都可以作為第一發布命令。
當媒體轉發服務器接收到視頻通話的發起方所發送的第一發布命令后,媒體轉發服務器就可以為發起方分配第一視頻流標識,使得發起方可以使用第一視頻流標識來對所采集并發送的音視頻數據進行標記。
發起方向媒體轉發服務器發送第一發布命令,媒體轉發服務器通過接收第一發布命令,可以及時的為發起方分配第一視頻流標識,每一個第一發布命令對應一個第一視頻流標識,使得媒體轉發服務器需要同時對多個發起方進行數據傳輸服務時,能夠避免發生數據傳輸錯誤,提高媒體轉發服務器的服務質量。
在實際應用中,發起方在向受邀方發起視頻通話時,首先可以產生視頻通話請求,從而在本發明實施例提供的視頻預覽方法中,在所述媒體轉發服務器為視頻通話的發起方分配第一視頻流標識之前,所述方法還包括:
信令服務器接收視頻通話的發起方所發送的視頻通話請求,并將視頻通話請求發送至受邀方的多個設備,以使受邀方的多個設備進入視頻通話邀請界面。
發起方產生視頻通話請求,并向信令服務器發送該視頻通話請求。該視頻通話請求用于向受邀方發出建立視頻通話的請求。具體的,視頻通話請求,可以通過現有的各種用于傳輸各類控制信息的數據包實現,屬于現有技術,在此不再贅述。
信令服務器接收到視頻通話的發起方所發送的視頻通話請求后,可以將該視頻通話請求轉發至受邀方的多個設備。發起方所發送的視頻通話請求中可以含有受邀方信息,例如,發起方通過一通信軟件向受邀方發起視頻通話,則發起方所發送的視頻通話請求中可以包含受邀方在該通信軟件中的賬號信息等。信令服務器可以根據視頻通話請求中的受邀方信息,確定出受邀方所有能夠與發起方建立起視頻通話的多個設備,例如,受邀方的多個設備均安裝有上述通信軟件,并且多個設備同時在線。然后向受邀方的多個設備轉發該通話請求。
受邀方的多個設備接收到視頻通話請求后,可以進入相應的視頻通話邀請界面。在該界面中,受邀方可以選擇是否接受該視頻通話的請求。
并且,當受邀方的各設備向媒體轉發服務器發送了第一訂閱命令之后,在接受該視頻通話的請求之前,可以在該視頻通話邀請界面中預覽發起方所發送的音視頻數據。
在本發明實施例中,發起方通過信令服務器向受邀方的多個設備發送視頻通話請求,使得信令服務器可以根據視頻通話請求中的受邀方信息確定出受邀方能夠接收該視頻通話請求的多個設備,為后續步驟奠定基礎。受邀方的多個設備可以通過該視頻通話請求進入視頻通話邀請界面,從而選擇是否接受該視頻通話邀請界面,并可以通過通話邀請界面預覽發起方的音視頻數據。從而使得本發明實施例提供的視頻預覽方法可以方便的與各種視頻通話軟件相兼容,提高用戶體驗。
參見圖2,當受邀方的多個設備中的一個設備接受了發起方發送的視頻通話的請求,則受邀方的其他設備就可以停止對發起方音視頻數據的預覽,并可以退出視頻通話邀請界面,從而可以及時的停止媒體轉發服務器向受邀方的其他設備發送音視頻數據,可以避免網絡資源浪費。
所以在本發明實施例提供的視頻預覽方法中,在媒體轉發服務器接收受邀方的各設備發送的第一訂閱命令,并根據第一訂閱命令中的第一視頻流標識,將其接收的具有第一視頻流標識的音視頻數據發送至受邀方的各設備之后,所述方法還包括:
步驟201,當受邀方的多個設備中的第一設備接受視頻通話請求時,信令服務器接收第一設備發送的請求回應。
受邀方的多個設備中的第一設備可以是受邀方的多個設備中的任意一個能夠接收到發起方所發起的視頻通話請求的設備。受邀方的用戶可以在第一設備的視頻通話邀請界面中進行相應的操作,從而使第一設備接受發起方所發起的視頻通話請求。
第一設備接受發起方所發起的視頻通話請求后,可以向信令服務器發送請求回應,該請求回應用于通知信令服務器及發起方,受邀方的第一設備已經接受了發起方所發起的視頻通話請求。該請求回應可以包含有第一設備的信息,例如ip地址或者mac地址等等,從而使得信令服務器及發起方可以根據該請求回應確定出具體的接受了發起方所發起的視頻通話請求的第一設備。具體的,請求回應,可以通過現有的各種用于傳輸各類控制信息的數據包實現,屬于現有技術,在此不再贅述。
步驟202,信令服務器向發起方發送該請求回應。
當信令服務器接收到第一設備發送的請求回應后,可以將該請求回應轉發至發起方,以使發起方能夠根據該請求回應,得知受邀方已經接受了視頻通話請求,可以與受邀方建立視頻通話的連接,并且可以根據該請求回應,確定出受邀方是在受邀方的第一設備上接受了視頻通話請求。
步驟203,信令服務器向受邀方的多個設備中除第一設備以外的其他設備發送預設信息,以使所述其他設備停止接收所述媒體轉發服務器發送的音視頻數據,其中,預設信息用于通知其他設備視頻通話已經在第一設備建立。
當信令服務器接收到第一設備發送的請求回應后,還可以向受邀方的多個設備中,除第一設備以外的其他設備發送預設信息。該預設信息可以是預設的數據包或控制信息,用于通知其他設備視頻通話已經在第一設備建立,并且可以控制其他設備,停止接收所述媒體轉發服務器發送的音視頻數據,退出視頻邀請界面,停止預覽發起方的音視頻數據。
在本發明實施例中,通過及時的將受邀方的除第一設備以外的其他設備斷開與媒體轉發服務器的音視頻數據傳輸,從而可以節省網絡資源,同時可以降低媒體轉發服務器的運行負載。
參見圖3,在本發明實施例提供的視頻預覽方法中,當受邀方的多個設備中的第一設備接受視頻通話請求之后,為了使第一設備與發起方建立正常的視頻通話連接,所述方法還包括:
步驟301,媒體轉發服務器為所述第一設備分配第二視頻流標識,以使第一設備向媒體轉發服務器發送具有所述第二視頻流標識的音視頻數據,并使第一設備向信令服務器發送所述第二視頻流標識。
視頻通話的建立,需要雙方進行音視頻數據的交互。所以,當受邀方中的第一設備接受視頻通話請求之后,該第一設備可以向媒體轉發服務器發送第二發布命令,第二發布命令的作用于第一發布命令類似,用于通知媒體轉發服務器,發送該第二發布命令的第一設備準備向媒體轉發服務器發送音視頻數據,并請求媒體轉發服務器準備接收音視頻數據。
當媒體轉發服務器接收到第一設備所發送的第二發布命令后,媒體轉發服務器就可以為第一設備分配第二視頻流標識。使得第一設備可以使用第二視頻流標識來對所采集并發送的音視頻數據進行標記。
第一設備獲得了媒體轉發服務器所分配的第二視頻流標識后,就可以開啟自身的攝像頭和麥克風等采集裝置采集音視頻數據,與發起方類似,第一設備也可以對所采集的音視頻數據進行編碼,并將第二視頻流標識加入所采集的經過編碼的音視頻數據中向媒體轉發服務器發送。媒體轉發服務器會接收該音視頻數據。
并且,當第一設備獲得了媒體轉發服務器所分配的第二視頻流標識后,也需要向信令服務器發送該第二視頻流標識。
步驟302,信令服務器接收第二視頻流標識,并將第二視頻流標識發送至發起方,以使發起方根據第二視頻流標識,向媒體轉發服務器發送第二訂閱命令,第二訂閱命令中含有第二視頻流標識。
信令服務器接收第二視頻流標識之后,可以將第二視頻流標識發送至發起方。
發起方接收到第二視頻流標識之后,可以向媒體轉發服務器發送第二訂閱命令,第二訂閱命令中含有第二視頻流標識,用于向媒體轉發服務器訂閱具有第二視頻流標識的音視頻數據。
步驟303,媒體轉發服務器接收發起方所發送的第二訂閱命令,并根據第二訂閱命令中的第二視頻流標識,將其接收的具有第二視頻流標識的音視頻數據發送至發起方,以使所述發起方與第一設備建立視頻通話的連接。
媒體轉發服務器接收發起方所發送的第二訂閱命令后,可以根據第二訂閱命令中的第二視頻流標識,將接收到的第一設備發送的具有第二視頻流標識的音視頻數據發送至發起方。
發起方接收到具有第二視頻流標識的音視頻數據,可以對該音視頻數據進行解碼,并顯示第一設備的音視頻數據。從而發起方和第一設備,通過媒體轉發服務器,將各自采集的音視頻數據發送至對方,實現了視頻通話連接的建立。
在本發明實施例中,受邀方的第一設備,在接收發起方的視頻通話邀請后,通過信令服務器和媒體轉發服務器,可以建立起與發起方雙向的音視頻數據的傳輸通道,使發起方和受邀方可以進行穩定的視頻通話。
參見圖4,圖4為本發明實施例提供的應用視頻預覽方法的系統框架圖。
發起方401向信令服務器402發送視頻通話請求,并向媒體轉發服務器403發送第一發布命令。
信令服務器402將接收到的視頻通話請求發送至受邀方的a設備404和b設備405,在此為了簡單描述,只通過兩個設備進行描述,在實際應用中,可以為若干個設備。
媒體轉發服務器403接收到第一發布命令后,為發起方401分配第一視頻標識,發起方401獲得了第一視頻標識后開啟本地的攝像頭和麥克風,進行音視頻編解碼,將具有第一視頻標識的音視頻數據實時的發送到媒體轉發服務器403。并且發起方401將所獲取的第一視頻標識發送至信令服務器402。
信令服務器402將接收到的第一視頻標識發送至受邀方的a設備404和b設備405。
受邀方的a設備404和b設備405,接收到視頻通話邀請后,進入通話邀請界面,同時當接收到第一視頻標識后,根據第一視頻標識向媒體轉發服務器403發送含有第一視頻標識的第一訂閱命令;媒體轉發服務器403接收到該第一訂閱命令后,向受邀方的a設備404和b設備405轉發具有第一視頻標識的音視頻數據;向受邀方的a設備404和b設備405接收媒體轉發服務器403發送的音視頻數據,解碼后即可預覽發起方401實時的音視頻數據。
當受邀方的a設備404接受了發起方401發送的視頻通話的請求時,設備404向信令服務器402發送請求回應。信令服務器402向發起方401轉發該請求回應,并向b設備405發送預設信息,通知b設備405,a設備404已經接受了該視頻通話請求。b設備405在接收到該預設信息后將停止接收媒體轉發服務器403發送的音視頻數據,同時退出通話邀請界面。
a設備404向媒體轉發服務器403發送第二發布命令,媒體轉發服務器403接收到第二發布命令為a設備404分配第二視頻流標識,a設備404獲得第二視頻流標識后,就可以開啟自身的攝像頭和麥克風等采集裝置采集音視頻數據,并將具有第二視頻流標識的音視頻數據向媒體轉發服務器403發送。并且,當a設備404獲得了第二視頻流標識后,向信令服務器402發送該第二視頻流標識,信令服務器402將該第二視頻流標識轉發至發起方401。
發起方401接收到第二視頻流標識之后,向媒體轉發服務器403發送含有第二視頻流標識第二訂閱命令。媒體轉發服務器403接收發起方401所發送的第二訂閱命令,并根據第二訂閱命令中的第二視頻流標識,將其接收的具有第二視頻流標識的音視頻數據發送至發起方401。至此,發起方401與a設備404建立起了雙向的視頻通話連接。
在本發明實施例中,當發起方401向受邀方發起視頻通話邀請后,受邀方的a設備404和b設備405,在接受該視頻通話邀請前,都可以預覽到發起方401的音視頻數據,可以提高用戶體驗;當a設備404接受了該視頻通話邀請后,能夠與發起方401建立起穩定的視頻通話的連接,并且受邀方的其他設備可以及時停止對發起方401音視頻數據的預覽,從而可以節約網絡資源。
參見圖5,圖5為本發明實施例提供的視頻預覽系統的結構圖,包括媒體轉發服務器501和信令服務器502。
所述媒體轉發服務器501,用于為視頻通話的發起方分配第一視頻流標識,以使所述發起方向所述媒體轉發服務器501發送的音視頻數據具有所述第一視頻流標識,并使所述發起方向所述信令服務器502發送所述第一視頻流標識;
所述媒體轉發服務器501,還用于接收所述發起方所發送具有所述第一視頻流標識的音視頻數據;
所述信令服務器502,用于接收所述發起方所發送的所述第一視頻流標識,并將所述第一視頻流標識發送至受邀方的多個設備,以使所述受邀方的多個設備根據所述第一視頻流標識,向所述媒體轉發服務器501發送第一訂閱命令,所述第一訂閱命令中含有所述第一視頻流標識,其中所述受邀方的多個設備為同一用戶能夠接收所述發起方所發起的視頻通話的多個設備;
所述媒體轉發服務器501,還用于接收所述受邀方的各設備發送的所述第一訂閱命令,并根據所述第一訂閱命令中的所述第一視頻流標識,將其接收的具有所述第一視頻流標識的音視頻數據發送至所述受邀方的各設備,以使所述受邀方的各設備接收并顯示所述發起方發送的音視頻數據。
在本發明實施例中,通過媒體轉發服務器501來接收發起方所發送音視頻數據,并通過媒體轉發服務器501將音視頻數據發送至受邀方的多個設備,從而使得受邀方的多個設備能夠接收并顯示所述發起方發送的音視頻數據,在受邀方接受視頻通話邀請之前,可以在受邀方的每一個設備上接收到發起方的音視頻數據,從而可以在受邀方的每一個設備進行發起方視頻圖像或聲音的預覽。可以大大擴展視頻預覽這一功能的應用范圍,并且可以提高用戶體驗。
可選的,在本發明實施例提供的視頻預覽系統中,所述媒體轉發服務器501,具體用于:
當接收到視頻通話的發起方所發送的第一發布命令時,所述媒體轉發服務器501為所述發起方分配第一視頻流標識,其中,所述第一發布命令用于通知所述媒體轉發服務器501接收音視頻數據。
可選的,在本發明實施例提供的視頻預覽系統中,所述信令服務器502,還用于接收視頻通話的發起方所發送的視頻通話請求,并將所述視頻通話請求發送至受邀方的多個設備,以使所述受邀方的多個設備進入視頻通話邀請界面。
可選的,在本發明實施例提供的視頻預覽系統中,所述信令服務器502,還用于當所述受邀方的多個設備中的第一設備接受所述視頻通話請求時,接收所述第一設備發送的請求回應;向所述發起方發送所述請求回應;向所述受邀方的多個設備中除所述第一設備以外的其他設備發送預設信息,以使所述其他設備停止接收所述媒體轉發服務器501發送的所述音視頻數據,其中,所述預設信息用于通知所述其他設備視頻通話已經在所述第一設備建立。
可選的,在本發明實施例提供的視頻預覽系統中,所述媒體轉發服務器501還用于為所述第一設備分配第二視頻流標識,以使所述第一設備向所述媒體轉發服務器501發送具有所述第二視頻流標識的音視頻數據,并使所述第一設備向所述信令服務器502發送所述第二視頻流標識;
所述信令服務器502,還用于接收所述第二視頻流標識,并將所述第二視頻流標識發送至所述發起方,以使所述發起方根據所述第二視頻流標識,向所述媒體轉發服務器501發送第二訂閱命令,所述第二訂閱命令中含有所述第二視頻流標識;
所述媒體轉發服務器501,還用于接收所述發起方所發送的所述第二訂閱命令,并根據所述第二訂閱命令中的所述第二視頻流標識,將其接收的具有所述第二視頻流標識的音視頻數據發送至所述發起方,以使所述發起方與所述第一設備建立視頻通話的連接。
對于系統實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。