網(wǎng)絡直播的操作指令發(fā)送方法、裝置及讀取方法、裝置的制造方法
【專利摘要】本發(fā)明提供了網(wǎng)絡直播的操作指令發(fā)送方法、裝置及讀取方法、裝置,涉及互聯(lián)網(wǎng)直播領域。本發(fā)明所提供的網(wǎng)絡直播的操作指令發(fā)送方法,其通過由直播發(fā)起端先分別獲取到了操作指令和視頻信號,并且,將操作指令和視頻信號寫入了同一個flv數(shù)據(jù)包中,并最后將寫入操作指令和視頻信號后的flv數(shù)據(jù)包發(fā)出,后續(xù)過程中,可以只使用一個視頻服務器完成該數(shù)據(jù)包的轉(zhuǎn)發(fā),并且,由于這兩個數(shù)據(jù)均在同一個數(shù)據(jù)包中,直播收看端必然能夠同時接收到這兩個數(shù)據(jù),保證了直播收看端能夠同時對這兩個數(shù)據(jù)進行播放,提高了收看者的感受度和網(wǎng)絡直播的質(zhì)量。
【專利說明】
網(wǎng)絡直播的操作指令發(fā)送方法、裝置及讀取方法、裝置
技術領域
[0001] 本發(fā)明涉及互聯(lián)網(wǎng)直播領域,具體而言,涉及網(wǎng)絡直播的操作指令發(fā)送方法、裝置 及讀取方法、裝置。
【背景技術】
[0002] 隨著互聯(lián)網(wǎng)技術的發(fā)展,網(wǎng)絡直播已經(jīng)成為互聯(lián)網(wǎng)用戶普遍使用的信息傳遞方 式。如圖1所示,進行網(wǎng)絡直播的系統(tǒng)通常由三端組成,分別是直播發(fā)起端、視頻服務器(通 常是rtmp服務器)和直播收看端。一般的網(wǎng)絡直播流程是:首先由直播發(fā)起端使用攝像裝置 對直播人進行視頻錄制,以采集視頻信號,進而生成視頻數(shù)據(jù);之后,直播發(fā)起端將視頻數(shù) 據(jù)實時上傳至視頻服務器;然后直播收看端通過向視頻服務器發(fā)出觀看請求的方式,使視 頻服務器將接收到的視頻數(shù)據(jù)轉(zhuǎn)發(fā)給直播收看端;最終直播收看端通過播放器將接收到的 視頻數(shù)據(jù)播放即可使觀看者完成視頻的觀看。
[0003] 隨著用戶需求的增加,直播發(fā)起端除了需要將一般的視頻數(shù)據(jù)發(fā)送給直播收看端 外,還需要將操作數(shù)據(jù)發(fā)送給直播收看端。具體而言,操作數(shù)據(jù)指的是直播人對控制器(如 觸屏電子畫板、電子琴等智能設備)所下達的操作指令(如擦除動作、點擊屏幕上的指定按 鍵和點擊電子琴鍵等動作)。
[0004] 為了發(fā)送操作數(shù)據(jù),相關技術中,直播人會預先在控制器中設置相應的軟件,直播 人每次對控制器做出動作后,控制器便會受該軟件的驅(qū)動,進而記錄動作、并生成相應的操 作數(shù)據(jù),最后將該操作數(shù)據(jù)發(fā)送給直播收看端。如圖2中所示,操作數(shù)據(jù)并不是通過原有的 視頻服務器轉(zhuǎn)發(fā)給直播收看端,而是通過獨立于視頻服務器的長連接服務器進行的轉(zhuǎn)發(fā)。 雖然,操作數(shù)據(jù)和視頻數(shù)據(jù)均是根據(jù)直播人在同一時間做出的動作生成的,但由于這兩個 數(shù)據(jù)的轉(zhuǎn)發(fā)線路不同,并且這兩個轉(zhuǎn)發(fā)線路的網(wǎng)絡延時有差別,使得直播收看端無法同時 接收到這兩個數(shù)據(jù),最終導致直播收看端無法同時觀看到視頻數(shù)據(jù)和操作數(shù)據(jù)。
[0005] 綜上,現(xiàn)有技術中直播發(fā)起端將操作數(shù)據(jù)和視頻數(shù)據(jù)分別通過不同的線路轉(zhuǎn)發(fā), 導致直播收看端無法同時觀看到視頻數(shù)據(jù)和操作數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于提供網(wǎng)絡直播的操作指令發(fā)送方法、裝置及讀取方法、裝置和 系統(tǒng),以提高網(wǎng)絡直播的質(zhì)量。
[0007] 第一方面,本發(fā)明實施例提供了網(wǎng)絡直播的操作指令發(fā)送方法,包括:
[0008] 直播發(fā)起端分別獲取操作指令和視頻信號;
[0009] 直播發(fā)起端將所述操作指令和所述視頻信號寫入同一個f Iv數(shù)據(jù)包中;
[0010]直播發(fā)起端將所述寫入操作指令和視頻信號后的Hv數(shù)據(jù)包發(fā)出。
[0011]結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第一種可能的實施方式,其中,步 驟所述直播發(fā)起端將所述操作指令和所述視頻信號寫入同一個flv數(shù)據(jù)包中,包括:
[0012]直播發(fā)起端根據(jù)所述操作指令的下達時間和視頻信號的錄制時間,按照同一時間 線,分別將所述操作指令寫入所述flv數(shù)據(jù)包的腳本標簽中,和將視頻信號的視頻內(nèi)容寫入 所述f Iv數(shù)據(jù)包的視頻標簽中。
[0013] 結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第二種可能的實施方式,其中,步 驟所述直播發(fā)起端將所述操作指令和所述視頻信號寫入同一個flv數(shù)據(jù)包中還包括:
[0014] 直播發(fā)起端將視頻信號的播放參數(shù)以腳本標簽的形式寫入所述f Iv數(shù)據(jù)包中;寫 有所述播放參數(shù)的腳本標簽中所攜帶的解釋符與寫有操作指令的腳本標簽中所攜帶的解 釋符不同。
[0015] 結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第三種可能的實施方式,其中,在 步驟所述直播發(fā)起端將所述操作指令和所述視頻信號寫入同一個flv數(shù)據(jù)包中之前,還包 括:
[0016] 直播發(fā)起端獲取發(fā)出所述flv數(shù)據(jù)包所使用的上傳網(wǎng)絡的上傳信號強度;
[0017] 若所述上傳信號強度不符合預設要求,則直播發(fā)起端依據(jù)所述上傳信號強度調(diào)整 所述視頻信號的分辨率。
[0018] 結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第四種可能的實施方式,其中,在 步驟所述直播發(fā)起端將所述操作指令和所述視頻信號寫入同一個flv數(shù)據(jù)包中之前,還包 括:
[0019] 直播發(fā)起端對所述操作指令進行加密。
[0020] 第二方面,本發(fā)明實施例還提供了網(wǎng)絡直播的操作指令發(fā)送裝置,包括直播發(fā)起 端,所述直播發(fā)起端包括:
[0021] 獲取模塊,用于分別獲取操作指令和視頻信號;
[0022] 寫入模塊,用于將所述操作指令和所述視頻信號寫入同一個flv數(shù)據(jù)包中;
[0023] 第一發(fā)送模塊,用于將所述寫入操作指令和視頻信號后的flv數(shù)據(jù)包發(fā)出。
[0024]第三方面,本發(fā)明實施例還提供了網(wǎng)絡直播的操作指令讀取方法,包括如第一方 面的網(wǎng)絡直播的操作指令發(fā)送方法,還包括:
[0025] 直播收看端接收所述flv數(shù)據(jù)包;
[0026] 直播收看端按照時間順序,讀取出所述flv數(shù)據(jù)包中的操作指令和視頻信號;
[0027] 直播收看端將所述操作指令和所述視頻信號分別向?qū)牟シ牌靼l(fā)送。
[0028]結(jié)合第三方面,本發(fā)明實施例提供了第三方面的第一種可能的實施方式,其中,所 述直播收看端將所述操作指令和所述視頻信號分別向?qū)牟シ牌靼l(fā)送包括:
[0029] 所述直播收看端讀取所述腳本標簽中的解釋符;
[0030] 直播收看端按照解釋符的內(nèi)容,將記錄有所述播放參數(shù)的腳本標簽向視頻播放器 發(fā)送,以及,將記錄有操作指令的腳本標簽向演示器發(fā)送。
[0031] 結(jié)合第三方面,本發(fā)明實施例提供了第三方面的第二種可能的實施方式,其中,還 包括:
[0032] 視頻服務器獲取連接所述視頻服務器和所述操作指令讀取裝置的下載網(wǎng)絡的下 載信號強度;
[0033] 視頻服務器依據(jù)所述下載信號強度,對所述操作指令發(fā)送裝置所發(fā)出的flv數(shù)據(jù) 包中的視頻信號的分辨率進行調(diào)整,并生成調(diào)整后的Hv數(shù)據(jù)包;
[0034] 視頻服務器通過下載網(wǎng)絡,將所述調(diào)整后的flv數(shù)據(jù)包向直播收看端發(fā)送。
[0035]第四方面,本發(fā)明實施例還提供了網(wǎng)絡直播的操作指令讀取裝置,包括如第二方 面的網(wǎng)絡直播的操作指令發(fā)送裝置,還包括:直播收看端,所述直播收看端包括:
[0036]接收模塊,用于接收所述f Iv數(shù)據(jù)包;
[0037] 讀取模塊,用于按照時間順序,讀取出所述flv數(shù)據(jù)包中的操作指令和視頻信號;
[0038] 第二發(fā)送模塊,用于將所述操作指令和所述視頻信號分別向?qū)牟シ牌靼l(fā)送。
[0039] 本發(fā)明實施例提供的網(wǎng)絡直播的操作指令發(fā)送方法,采用將操作指令寫入到flv 數(shù)據(jù)包中的方式,與現(xiàn)有技術中的直播發(fā)起端會將操作指令和視頻信號分別通過不同的網(wǎng) 絡線路發(fā)送給直播收看端,由于兩個線路的網(wǎng)絡延時有差別,進而導致直播收看端無法在 同一時間接收到這兩個數(shù)據(jù),進而導致直播收看端無法同時顯示操作指令和播放視頻信 號,影響了網(wǎng)絡直播質(zhì)量相比,其通過由直播發(fā)起端先分別獲取到了操作指令和視頻信號, 并且,將操作指令和視頻信號寫入了同一個flv數(shù)據(jù)包中,并最后將寫入操作指令和視頻信 號后的flv數(shù)據(jù)包發(fā)出,后續(xù)過程中,可以只使用一個視頻服務器完成該數(shù)據(jù)包的轉(zhuǎn)發(fā),并 且,由于這兩個數(shù)據(jù)均在同一個數(shù)據(jù)包中,直播收看端必然能夠同時接收到這兩個數(shù)據(jù),保 證了直播收看端能夠同時對這兩個數(shù)據(jù)進行播放,提高了收看者的感受度和網(wǎng)絡直播的質(zhì) 量。
[0040] 為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合 所附附圖,作詳細說明如下。
【附圖說明】
[0041] 為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例中所需要使用的附 圖作簡單地介紹,應當理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應被看作是對 范圍的限定,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這 些附圖獲得其他相關的附圖。
[0042] 圖1示出了本發(fā)明實施例所提供的相關技術中的網(wǎng)絡直播時所使用的一種網(wǎng)絡架 構(gòu)示意圖;
[0043] 圖2示出了本發(fā)明實施例所提供的相關技術中的網(wǎng)絡直播時所使用的另一種網(wǎng)絡 架構(gòu)示意圖;
[0044] 圖3示出了本發(fā)明實施例所提供的網(wǎng)絡直播的操作指令發(fā)送方法的基本流程圖;
[0045] 圖4示出了本發(fā)明實施例所提供的網(wǎng)絡直播的操作指令發(fā)送方法的將操作指令和 視頻信號寫入到同一個flv數(shù)據(jù)包后的示意圖。
【具體實施方式】
[0046] 下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術方案進行清楚、完整 地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在 此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設計。因 此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的 范圍,而是僅僅表示本發(fā)明的選定實施例。基于本發(fā)明的實施例,本領域技術人員在沒有做 出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0047] 相關技術中,在進行網(wǎng)絡直播的時候,會產(chǎn)生兩種數(shù)據(jù),一種是直播人通過攝像頭 錄制出的視頻數(shù)據(jù),這種視頻數(shù)據(jù)中通常記錄了直播人所說的話、彈奏的音樂等;另一種是 直播人對控制器(如觸屏電子畫板、電子琴)等設備所下達的操作指令(如擦除動作、點擊屏 幕上的指定按鍵和點擊電子琴鍵等動作)。這兩種數(shù)據(jù)都需要傳送給收看者,以使收看者能 夠更為準確的了解到全面的信息。如,網(wǎng)絡繪畫課上,直播人(教師)會同時使用傳統(tǒng)的黑板 和電子畫板進行教學。此時,除了使用攝像頭來錄制視頻中教師在黑板上所留下的板書、繪 畫動作和語音外,還需要通過電子畫板來采集繪畫的具體操作指令,如取用橡皮擦、取用大 號畫筆等等。又如網(wǎng)絡電子琴的教學課程,直播人所使用的控制器則是電子琴,此時的操作 指令也就是教師按下的琴鍵。
[0048] 可見,收看者必然需要同時了解到操作指令和視頻數(shù)據(jù)才能夠得到完整的教學。 因而,網(wǎng)絡直播的時候,需要同時將這兩種指令傳遞給收看者才能夠保證收看者的學習質(zhì) 量。相關技術中會采用如圖2所示的網(wǎng)絡結(jié)構(gòu)進行這兩種數(shù)據(jù)的轉(zhuǎn)發(fā)。具體而言,是通過長 連接服務器來轉(zhuǎn)發(fā)操作指令,和通過視頻服務器轉(zhuǎn)發(fā)視頻數(shù)據(jù)。則容易想到,受到網(wǎng)絡不穩(wěn) 定的影響,并且,視頻傳輸要比一般的控制數(shù)據(jù)傳輸耗時更長,最終結(jié)果就是數(shù)據(jù)通過視頻 服務器轉(zhuǎn)發(fā)的總時間和數(shù)據(jù)通過長連接服務器轉(zhuǎn)發(fā)的總時間不同。如,直播發(fā)起者將數(shù)據(jù) 發(fā)送到長連接服務器所花費的時間為y 1,長連接服務器將數(shù)據(jù)發(fā)送到直播收看端的時間為 y2,直播發(fā)起者將數(shù)據(jù)發(fā)送到視頻服務器的時間是xl,視頻服務器將數(shù)據(jù)發(fā)送到直播收看 端的時間為y2,貝ljxl+x2辛yl+y2。進而,由于操作指令和視頻數(shù)據(jù)無法同時到達直播收看 端,就會直接影響直播收看端的觀看質(zhì)量。
[0049] 針對該種情況,本申請?zhí)峁┝司W(wǎng)絡直播的數(shù)據(jù)傳遞方法,該方法由三個過程組成, 直播發(fā)起端將直播數(shù)據(jù)上傳到服務器、服務器將直播數(shù)據(jù)進行中轉(zhuǎn),以及,直播收看端接受 直播數(shù)據(jù)并讀取該直播數(shù)據(jù)。下面首先對直播發(fā)起端將直播數(shù)據(jù)上傳到服務器的過程(網(wǎng) 絡直播的操作指令發(fā)送方法)進行說明:
[0050] 如圖3所示,操作指令發(fā)送方法基本由如下三個步驟構(gòu)成:
[0051 ] SlOl,直播發(fā)起端分別獲取操作指令和視頻信號;
[0052] S102,直播發(fā)起端將操作指令和視頻信號寫入同一個flv數(shù)據(jù)包中;
[0053] S103,直播發(fā)起端將寫入操作指令和視頻信號后的flv數(shù)據(jù)包發(fā)出。
[0054]步驟SlOl中,操作指令指的是直播人對控制器(如電子畫板、電子琴、觸屏智能終 端等)所下達的指令,如敲擊指令、手勢滑動指令等。具體而言,用戶可以在網(wǎng)絡直播開始 前,預先在控制器中寫入軟件程序,該軟件程序可以驅(qū)動控制器在接收到用戶的操作時生 成相應的操作指令,并將該操作指令傳遞給直播發(fā)起端。當然,也可以認為,控制器屬于直 播發(fā)起端的一部分,此時,操作指令則是有直播發(fā)起端直接生成。
[0055]視頻信號指的是用戶通過錄像設備對自身的動作和聲音進行采集,進而生成的信 號,此處的視頻信號可以是只包含圖像信號;還可以是只包含聲音信號;還可以是既包含圖 像信號,也包含聲音信號。當然,錄制視頻信號的錄像設備可以是獨立于直播發(fā)起端的設 備,也可以是直播發(fā)起端本身便是具有錄像功能的。
[0056]直播發(fā)起端在獲取到了操作指令和視頻信號之后,執(zhí)行步驟S102,即直播發(fā)起端 將這兩個數(shù)據(jù)寫入同一個flv數(shù)據(jù)包中。最后,直播發(fā)起端按照既定的發(fā)送線路,將寫有操 作指令和視頻信號的flv數(shù)據(jù)包發(fā)送出去即可。通常,由于flv數(shù)據(jù)包主體仍然是視頻數(shù)據(jù), 因此,該寫有操作指令和視頻信號的flv數(shù)據(jù)包是發(fā)送到視頻服務器的,并且該經(jīng)過視頻服 務器的轉(zhuǎn)發(fā),再將該Πν數(shù)據(jù)包發(fā)送給直播收看端。至此,完成了直播數(shù)據(jù)(包括操作指令和 視頻信號的法律數(shù)據(jù))的轉(zhuǎn)發(fā),由于操作指令和視頻信號均是寫在同一個數(shù)據(jù)包中的(并且 只能使用同一個視頻服務器進行該數(shù)據(jù)包的轉(zhuǎn)發(fā)),按照flv數(shù)據(jù)的發(fā)送方式,可以做到同 一時間生成的操作指令和視頻信號能夠被直播收看端同時接收到,進而保證收看者能夠同 時了解到直播人的圖像信息、語音信息和操作指令,提高了收看者的感受度和網(wǎng)絡直播數(shù) 據(jù)的傳輸質(zhì)量。
[0057]具體的,flv數(shù)據(jù)包的結(jié)構(gòu)中共有三類標簽和一個文件頭,文件頭的主要作用是寫 明該數(shù)據(jù)包的格式等基礎類別信息。三類標簽分別是腳本標簽、音頻標簽和視頻標簽,其 中,具體操作的時候,8表示音頻標簽,9表示視頻標簽,18表示腳本標簽。如前文中的記載, 步驟S101-S103中所提及的視頻信號通常有兩種存在情況,分別是只有視頻信息、只有音頻 信息和同時有視頻信息和音頻信息,不論是哪種情況,直播發(fā)起端只需要按照既定的格式 依據(jù)視頻信息和音頻信息的內(nèi)容生成相應的標簽即可。而操作指令則可以以腳本標簽的方 式進行記載。
[0058]腳本標簽、視頻標簽和音頻標簽均有兩種重要的屬性,分別是時間屬性和內(nèi)容屬 性,這兩個屬性保證信息傳遞的正常和讀取的正常。為了使直播收看端能夠按照預定的順 序讀取到每個標簽中的內(nèi)容,在將數(shù)據(jù)寫入到flv數(shù)據(jù)包中的時候,便需要按照同一個時間 線的順序進行寫入。并且是依據(jù)操作指令的下達時間和視頻信號的錄制時間,來確定將操 作指令和視頻信號寫入到flv數(shù)據(jù)包中的順序。
[0059] 視頻標簽和音頻標簽能夠被正常的讀取,除了具有時間屬性和內(nèi)容屬性之外,通 常還需要有腳本標簽來記錄播放的基礎屬性,如視頻寬度、視頻高度、播放時長等等。進而, 記錄在flv數(shù)據(jù)包中的腳本標簽就分為了兩種,一種是為保證視頻標簽能夠被正確讀取而 設置的記錄有基礎播放屬性的腳本標簽,另一種是記錄有操作指令下達時間和操作具體內(nèi) 容的腳本標簽。為了能夠正確的區(qū)分這兩個標簽,可以通過改變這兩種標簽的解釋符的方 式來達到目的。如圖4所示,提供了 flv數(shù)據(jù)包的數(shù)據(jù)格式簡化示意圖,其中標注出了兩個腳 本標簽具有不同的解釋符,這兩個腳本標簽的解釋符分別是al和a2,并且解釋符為al的腳 本標簽中記錄了內(nèi)容為視頻寬度、視頻高度和播放時長這些基礎播放屬性,該腳本標簽的 開始時間為Is,即說明其生效時間是從第一秒開始的;解釋符為a2的腳本標簽中記錄了內(nèi) 容為翻到第2頁的操作內(nèi)容,并且還記錄了開始時間為11s,就說明了"翻到第2頁"的這個操 作是在第11秒時開始的。進而,從圖4中能夠直觀的看到寫有所述播放參數(shù)(基礎播放屬性) 的腳本標簽(圖4中的視頻基礎數(shù)據(jù)標簽)中所攜帶的解釋符與寫有操作指令的腳本標簽 (圖4中的控制數(shù)據(jù)標簽)中所攜帶的解釋符不同。從圖4中還可以看到,除了第一行顯示了 腳本標簽外,第二行和第三行分別顯示了視頻標簽和聲音標簽,并且視頻標簽和聲音標簽 中均攜帶有開始時間和具體內(nèi)容。在播放這兩個標簽的時候,也是主要使用這兩個屬性。
[0060] 除了上述保證flv數(shù)據(jù)包能夠被正常讀取的方案外,由于單位時間內(nèi)的flv數(shù)據(jù)包 中所攜帶的數(shù)據(jù)量增加了(在flv數(shù)據(jù)包中增加了操作指令的數(shù)據(jù)),因此,在進行網(wǎng)絡傳輸 的時候可能會造成一定程度的網(wǎng)絡延遲,為了避免直播受到影響,本申請所提供的方法中 還增加了應對的方案。
[0061] 具體而言,在首先由直播發(fā)起端獲取到發(fā)出flv數(shù)據(jù)包所使用的上傳網(wǎng)絡的上傳 信號強度;如果獲得的上傳信號強度不滿足預設要求,則直播發(fā)起端便依據(jù)上傳信號強度 調(diào)整所述視頻信號的分辨率。
[0062] 進一步,可以在直播發(fā)起端預先建立如下數(shù)據(jù)表:
[0063] 表 1
LUU03」 卯Π 」以誤直上衣屮的Ab73f刀妬力、拼竿。卯以涫晰反進仃俳名,Ab>A4>A;3>A2:>Ai,即 A5所對應的清晰度最高,使用該分辨率轉(zhuǎn)化得到的flv數(shù)據(jù)包所占用的空間也最大,傳輸時 間也最長。當直播發(fā)起端檢測當前的上傳信號強度不在40-50之間的時候(不符合預設的要 求),則需要重新選擇分辨率。如,某時刻上傳信號強度為25,則應當采用A3分辨率對視頻信 號的分辨率進行調(diào)整。當然,上傳信號強度不會一成不變,如上傳信號強度調(diào)整為了 38,則 直播發(fā)起端應當按照A4分辨率對視頻信號的分辨率進行調(diào)整,以使網(wǎng)絡直播正常進行。即, 直播發(fā)起端應當選擇與上傳信號強度相應的分辨率調(diào)整數(shù)值,并按照該分辨率調(diào)整數(shù)值對 視頻信號的分辨率進行調(diào)整。
[0066]更進一步,如上傳信號強度過低,則為了保證收看者能夠了解到基本的圖像信息 (如果視頻畫面的分辨率過低,則收看者難以從視頻信息中了解到應有的內(nèi)容,此時傳遞視 頻信息是沒有意義的),應當采用傳遞單幀圖像的方式進行視頻信號的傳遞,而不采用視頻 流的方式進行傳遞。此時所傳遞的單幀視頻即是關鍵幀。關鍵幀的確定可以有直播者手動 選擇的得到的,即,當上傳信號強度低于最低限值時,則直播發(fā)起端在顯示器上顯示拍攝得 到的視頻畫面,并接收直播人的選擇指令,進而根據(jù)選擇指令生成關鍵幀圖像,最后將關鍵 幀圖像發(fā)送給視頻服務器,后由視頻服務器將該關鍵幀圖像傳遞給直播收看端。
[0067] 其中,直播發(fā)起端獲取到上傳網(wǎng)絡的上傳信號強度可以有兩個來源,第一個來源 是直播發(fā)起端自身進行的檢測,進而獲取到上傳信號強度,第二個來源是視頻服務器將上 傳信號強度發(fā)送給直播發(fā)起端(即,視頻服務器進行的信號強度檢測)。當信號強度屬于第 二個來源的時候,信號強度可以值得是視頻服務器檢測其與直播發(fā)起端之間的網(wǎng)絡強度得 來的,也可以是其與直播收看端之間的網(wǎng)絡強度得來的。
[0068] 為了保證數(shù)據(jù)安全性,還可以在將數(shù)據(jù)包發(fā)送之前,對操作指令進行加密,加密算 法可以采用如md5算法,非對稱加密算法等。
[0069] 以上,敘述了直播發(fā)起端將flv數(shù)據(jù)包上傳到視頻服務器的過程,視頻服務器還需 要將Hv數(shù)據(jù)包傳遞給直播收看端才能夠完成直播。下面對直播的第二個過程,機視頻服務 器的工作進行說明。
[0070] 視頻服務器在將flv數(shù)據(jù)包傳遞給直播收看端之前,通常需要對直播收看端的權(quán) 限進行認定,只有認定通過后才會下發(fā)flv數(shù)據(jù)包給直播收看端。權(quán)限認定部分使用本領域 常規(guī)技術即可,此處不做過多限定。但為了保證直播的流暢性,還可以由視頻服務器完成對 視頻信號分辨率的調(diào)整,具體調(diào)整的過程與直播發(fā)起端對視頻信號分辨率調(diào)整的過程相 同,此處,不做過多說明。
[0071] 當然,為了保證視頻服務器的工作穩(wěn)定,視頻服務器可以采用負載均衡的處理方 案分別與直播發(fā)起端和直播收看端保持連接。
[0072] 第三個部分是直播收看端接收直播數(shù)據(jù),并讀取該數(shù)據(jù)的方法。如前文中的描述。 直播收看端首先接收該flv數(shù)據(jù)包,之后,按照一般flv數(shù)據(jù)包的讀取方式(時間順序)提取 其中的每個標簽(視頻標簽、音頻標簽和腳本標簽),之后按照每個標簽的讀取方式進行讀 取即可。
[0073] 由于傳統(tǒng)的flv數(shù)據(jù)包中只有一種腳本標簽,本申請所提供的操作指令發(fā)送方法 中,攜帶了兩種腳本標簽,即一種是為視頻標簽能夠被正確讀取而設置的記錄有基礎播放 屬性的腳本標簽,另一種是記錄有操作指令下達時間和操作具體內(nèi)容的腳本標簽,并且這 兩種腳本標簽的解釋符不同,因此,在讀取的時候可以依據(jù)腳本標簽的解釋符來進行區(qū)別。 并且調(diào)用不同的播放器(插件/軟件)來解讀不同的腳本標簽。即將視頻標簽、音頻標簽和記 錄有所述播放參數(shù)的腳本標簽向視頻播放器發(fā)送;并且將記錄有操作指令的腳本標簽向演 示器發(fā)送。其中,演示器是與控制器相對應的裝置,能夠完整的顯示出操作指令的裝置。 [0074]以上敘述了網(wǎng)絡直播的三個過程,結(jié)合圖1,下面對網(wǎng)絡直播的三個過程進行示例 性的說明。
[0075] 1,直播發(fā)起端錄制直播人的視頻信號、音頻信號和操作指令;
[0076] 2,直播發(fā)起端接收上傳信號強度,并依據(jù)該上傳信號強度適應性的調(diào)整視頻信號 分辨率;
[0077] 3,直播發(fā)起端將調(diào)和增分辨率后的視頻信號、音頻信號和操作指令按照時間順序 寫入到flv數(shù)據(jù)包中,其中操作指令是以腳本標簽的形式寫入的;
[0078] 4,直播發(fā)起端將flv數(shù)據(jù)包發(fā)送至視頻服務器;
[0079] 5,視頻服務器依據(jù)下載信號強度重新調(diào)和增flv數(shù)據(jù)包中的視頻數(shù)據(jù)分辨率;
[0080] 6,視頻服務器將flv數(shù)據(jù)包下發(fā)給符合收看權(quán)限的直播收看端;
[0081] 7,直播收看端按照解釋符的不同,將不同的標簽使用不同的插件進行讀取。
[0082] 整體來看本申請所提供的網(wǎng)絡直播的操作指令發(fā)送方法和網(wǎng)絡直播的操作指令 讀取方法,采用將操作指令和視頻信號,按照同一個時間線寫入到同一個flv數(shù)據(jù)包中的方 式,保證了操作指令和視頻信號能夠通過同一個Hv數(shù)據(jù)包進行發(fā)送,使得直播收看端能夠 同時接收到這兩種數(shù)據(jù),避免了這兩種數(shù)據(jù)無法同時傳遞給直播接收端,導致直播質(zhì)量下 降的問題。
[0083]本申請實施例中還提供了對應于網(wǎng)絡直播的操作指令發(fā)送方法的網(wǎng)絡直播的操 作指令發(fā)送裝置,該裝置包括直播發(fā)起端,所述直播發(fā)起端包括:
[0084] 獲取模塊,用于分別獲取操作指令和視頻信號;
[0085] 寫入模塊,用于將所述操作指令和所述視頻信號寫入同一個flv數(shù)據(jù)包中;
[0086] 第一發(fā)送模塊,用于將所述寫入操作指令和視頻信號后的flv數(shù)據(jù)包發(fā)出。如以 RU20 端
[0087]優(yōu)選的,寫入模塊包括:
[0088]寫入單元,用于根據(jù)所述操作指令的下達時間和視頻信號的錄制時間,按照同一 時間線,分別將所述操作指令寫入所述flv數(shù)據(jù)包的腳本標簽中,和將視頻信號的視頻內(nèi)容 寫入所述f Iv數(shù)據(jù)包的視頻標簽中。
[0089] 優(yōu)選的,寫入單元還進一步用于:將視頻信號的播放參數(shù)以腳本標簽的形式寫入 所述f Iv數(shù)據(jù)包中;寫有所述播放參數(shù)的腳本標簽中所攜帶的解釋符與寫有操作指令的腳 本標簽中所攜帶的解釋符不同。
[0090] 優(yōu)選的,該裝置還包括:
[0091] 上傳信號強度獲取模塊,用于獲取發(fā)出所述flv數(shù)據(jù)包所使用的上傳網(wǎng)絡的上傳 信號強度;
[0092] 第一分辨率調(diào)整模塊,若所述上傳信號強度不符合預設要求,則用于依據(jù)所述上 傳信號強度調(diào)整所述視頻信號的分辨率。
[0093]優(yōu)選的,該裝置還包括:
[0094] 加密模塊對所述操作指令進行加密。
[0095] 本申請實施例中還提供了對應于網(wǎng)絡直播的操作指令讀取方法的網(wǎng)絡直播的操 作指令讀取裝置,該裝置包括網(wǎng)絡直播的操作指令發(fā)送裝置,還包括直播收看端,所述直播 收看端包括:
[0096]接收模塊,用于接收所述flv數(shù)據(jù)包;
[0097] 讀取模塊,用于按照時間順序,讀取出所述flv數(shù)據(jù)包中的操作指令和視頻信號;
[0098] 第二發(fā)送模塊,用于將所述操作指令和所述視頻信號分別向?qū)牟シ牌靼l(fā)送。 [0099]優(yōu)選的,發(fā)送模塊包括:
[0100] 讀取單元,用于讀取所述腳本標簽中的解釋符;
[0101] 發(fā)送單元,用于按照解釋符的內(nèi)容,將記錄有所述播放參數(shù)的腳本標簽向視頻播 放器發(fā)送,以及,將記錄有操作指令的腳本標簽向演示器發(fā)送。
[0102] 進一步,本發(fā)明還提供了網(wǎng)絡直播的數(shù)據(jù)讀取系統(tǒng),包括網(wǎng)絡直播的操作指令發(fā) 送裝置和網(wǎng)絡直播的操作指令讀取裝置,還包括視頻服務器,所述視頻服務器包括:
[0103] 信號強度獲取模塊,用于獲取連接所述視頻服務器和所述操作指令讀取裝置的下 載網(wǎng)絡的下載信號強度;
[0104] 第二分辨率調(diào)整模塊,用于依據(jù)所述下載信號強度,對所述操作指令發(fā)送裝置所 發(fā)出的flv數(shù)據(jù)包中的視頻信號的分辨率進行調(diào)整,并生成調(diào)整后的flv數(shù)據(jù)包;
[0105] 第三發(fā)送模塊,用于通過下載網(wǎng)絡,將所述調(diào)整后的flv數(shù)據(jù)包向直播收看端發(fā) 送。
[0106] 所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、 裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0107] 在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以 通過其它的方式實現(xiàn)。以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分, 僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,又例如,多個單元或組件可 以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討 論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接 耦合或通信連接,可以是電性,機械或其它的形式。
[0108] 所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯 示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個 網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目 的。
[0109] 另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以 是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0110] 所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以 存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說 對現(xiàn)有技術做出貢獻的部分或者該技術方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計 算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個 人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。 而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(R0M,Read-0nly Memory)、隨機存取存 儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0111] 以上所述,僅為本發(fā)明的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何 熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到變化或替換,都應涵 蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權(quán)利要求的保護范圍為準。
【主權(quán)項】
1. 網(wǎng)絡直播的操作指令發(fā)送方法,其特征在于,包括: 直播發(fā)起端分別獲取操作指令和視頻信號; 直播發(fā)起端將所述操作指令和所述視頻信號寫入同一個flv數(shù)據(jù)包中; 直播發(fā)起端將f Iv數(shù)據(jù)包發(fā)出。2. 根據(jù)權(quán)利要求1所述的網(wǎng)絡直播的操作指令發(fā)送方法,其特征在于,步驟所述直播發(fā) 起端將所述操作指令和所述視頻信號寫入同一個flv數(shù)據(jù)包中,包括: 直播發(fā)起端根據(jù)所述操作指令的下達時間和視頻信號的錄制時間,按照同一時間線, 分別將所述操作指令寫入所述flv數(shù)據(jù)包的腳本標簽中,和將視頻信號的視頻內(nèi)容寫入所 述f Iv數(shù)據(jù)包的視頻標簽中。3. 根據(jù)權(quán)利要求2所述的網(wǎng)絡直播的操作指令發(fā)送方法,其特征在于,步驟所述直播發(fā) 起端將所述操作指令和所述視頻信號寫入同一個flv數(shù)據(jù)包中還包括: 直播發(fā)起端將視頻信號的播放參數(shù)以腳本標簽的形式寫入所述f Iv數(shù)據(jù)包中;寫有所 述播放參數(shù)的腳本標簽中所攜帶的解釋符與寫有操作指令的腳本標簽中所攜帶的解釋符 不同。4. 根據(jù)權(quán)利要求1所述的網(wǎng)絡直播的操作指令發(fā)送方法,其特征在于,在步驟所述直播 發(fā)起端將所述操作指令和所述視頻信號寫入同一個flv數(shù)據(jù)包中之前,還包括: 直播發(fā)起端獲取發(fā)出所述flv數(shù)據(jù)包所使用的上傳網(wǎng)絡的上傳信號強度; 若所述上傳信號強度不符合預設要求,則直播發(fā)起端依據(jù)所述上傳信號強度調(diào)整所述 視頻信號的分辨率。5. 根據(jù)權(quán)利要求1所述的網(wǎng)絡直播的操作指令發(fā)送方法,其特征在于,在步驟所述直播 發(fā)起端將所述操作指令和所述視頻信號寫入同一個flv數(shù)據(jù)包中之前,還包括: 直播發(fā)起端對所述操作指令進行加密。6. 網(wǎng)絡直播的操作指令發(fā)送裝置,其特征在于,包括直播發(fā)起端,所述直播發(fā)起端包 括: 獲取模塊,用于分別獲取操作指令和視頻信號; 寫入模塊,用于將所述操作指令和所述視頻信號寫入同一個f Iv數(shù)據(jù)包中; 第一發(fā)送模塊,用于將f Iv數(shù)據(jù)包發(fā)出。7. 網(wǎng)絡直播的操作指令讀取方法,包括如權(quán)利要求1-5任一項所述的網(wǎng)絡直播的操作 指令發(fā)送方法,其特征在于,還包括: 直播收看端接收所述f Iv數(shù)據(jù)包; 直播收看端按照時間順序,讀取出所述f Iv數(shù)據(jù)包中的操作指令和視頻信號; 直播收看端將所述操作指令和所述視頻信號分別向?qū)牟シ牌靼l(fā)送。8. 根據(jù)權(quán)利要求7所述網(wǎng)絡直播的操作指令讀取方法,其特征在于,所述直播收看端將 所述操作指令和所述視頻信號分別向?qū)牟シ牌靼l(fā)送包括: 直播收看端讀取所述腳本標簽中的解釋符; 直播收看端按照解釋符的內(nèi)容,將記錄有所述播放參數(shù)的腳本標簽向視頻播放器發(fā) 送,以及,將記錄有操作指令的腳本標簽向演示器發(fā)送。9. 根據(jù)權(quán)利要求8所述網(wǎng)絡直播的操作指令讀取方法,其特征在于,還包括: 視頻服務器獲取連接所述視頻服務器和所述操作指令讀取裝置的下載網(wǎng)絡的下載信 號強度; 視頻服務器依據(jù)所述下載信號強度,對所述操作指令發(fā)送裝置所發(fā)出的flv數(shù)據(jù)包中 的視頻信號的分辨率進行調(diào)整,并生成調(diào)整后的flv數(shù)據(jù)包; 視頻服務器通過下載網(wǎng)絡,將所述調(diào)整后的flv數(shù)據(jù)包向直播收看端發(fā)送。10.網(wǎng)絡直播的操作指令讀取裝置,包括如權(quán)利要求6所述的網(wǎng)絡直播的操作指令發(fā)送 裝置,其特征在于,還包括直播收看端,所述直播收看端包括: 接收模塊,用于接收所述f Iv數(shù)據(jù)包; 讀取模塊,用于按照時間順序,讀取出所述f Iv數(shù)據(jù)包中的操作指令和視頻信號; 第二發(fā)送模塊,用于將所述操作指令和所述視頻信號分別向?qū)牟シ牌靼l(fā)送。
【文檔編號】H04N21/435GK105915970SQ201610326210
【公開日】2016年8月31日
【申請日】2016年5月17日
【發(fā)明人】高凌霄
【申請人】創(chuàng)盛視聯(lián)數(shù)碼科技(北京)有限公司