本發(fā)明涉及彈幕推送技術(shù),具體涉及一種彈幕推送系統(tǒng)及方法。
背景技術(shù):
隨著用戶互動(dòng)模式的發(fā)展需求,彈幕技術(shù)增強(qiáng)了用戶的交互性,互動(dòng)性。用戶可以依靠實(shí)時(shí)彈幕系統(tǒng)實(shí)現(xiàn)彈幕交流或通信交流的需求。彈幕的實(shí)時(shí)性為當(dāng)下提供了一種新的信息顯示手段。
現(xiàn)有技術(shù)的彈幕推送技術(shù)中設(shè)有彈幕服務(wù)器和播放器,其實(shí)時(shí)彈幕靠輪詢彈幕服務(wù)器實(shí)現(xiàn),效率比較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種彈幕推送系統(tǒng)及方法,實(shí)現(xiàn)用戶通過彈幕進(jìn)行交流,彈幕管理便利。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種彈幕推送系統(tǒng),其特點(diǎn)是,該系統(tǒng)包含:
彈幕服務(wù)器,其接收文字或圖像信息轉(zhuǎn)換為彈幕信息,對(duì)彈幕信息進(jìn)行存儲(chǔ)和管理,彈幕信息加入廣播請(qǐng)求輸出;
廣播服務(wù)器,其接收彈幕服務(wù)器輸出的廣播請(qǐng)求,將廣播請(qǐng)求中的彈幕信息實(shí)時(shí)廣播發(fā)送;
彈幕播放器,其接收廣播服務(wù)器發(fā)出的彈幕信息,加載并播放彈幕;彈幕播放器還編輯用于彈幕顯示的文字或圖像信息發(fā)送至彈幕服務(wù)器。
上述彈幕播放器為PC、移動(dòng)終端、VR設(shè)備、或任意電子輸出終端。
一種彈幕推送方法,其特點(diǎn)是,該方法包含:
每個(gè)視頻分別設(shè)定視頻識(shí)別碼;
彈幕播放器連接并播放視頻,將該視頻的視頻識(shí)別碼上傳至廣播服務(wù)器;
彈幕播放器編輯文字或圖像信息,該文字或圖像信息與對(duì)應(yīng)視頻的視頻識(shí)別碼上傳至彈幕服務(wù)器;
彈幕服務(wù)器將文字或圖像信息轉(zhuǎn)為彈幕信息,并將彈幕信息和對(duì)應(yīng)視頻識(shí)別碼通過廣播請(qǐng)求發(fā)送至廣播服務(wù)器;
廣播服務(wù)器收到廣播請(qǐng)求后根據(jù)視頻識(shí)別碼將彈幕信息發(fā)送至每個(gè)連接對(duì)應(yīng)視頻的彈幕播放器;
彈幕播放器播放接收到的彈幕信息。
上述彈幕播放器連接和播放視頻時(shí),彈幕播放器與廣播服務(wù)器建立長連接。
上述彈幕播放器與廣播服務(wù)器通過彈幕播放器所連接視頻的視頻識(shí)別碼進(jìn)行匹配,廣播服務(wù)器將與其通過相同視頻識(shí)別碼匹配的彈幕播放器的數(shù)量作為該視頻下的在線人數(shù),并實(shí)時(shí)廣播每一視頻下的在線人數(shù);
上述彈幕播放器播放視頻時(shí),定時(shí)向廣播服務(wù)器發(fā)送心跳請(qǐng)求,廣播服務(wù)器返回該彈幕播放器所連接視頻下的在線人數(shù)。
上述彈幕服務(wù)器處理彈幕播放器上傳的文字或圖像信息的方法包含:
進(jìn)行敏感詞過濾、用戶權(quán)限判斷、視頻彈幕設(shè)置判斷的驗(yàn)證操作;
通過驗(yàn)證后,將文字或圖像信息轉(zhuǎn)為彈幕信息后存儲(chǔ)至數(shù)據(jù)庫;
將彈幕信息加入彈幕列表,并刷新彈幕列表緩存。
上述彈幕播放器接收廣播服務(wù)器發(fā)出的彈幕信息,將彈幕列表中的每個(gè)彈幕按對(duì)應(yīng)的時(shí)刻信息在視頻播放過程中進(jìn)行顯示,還顯示按時(shí)間順序排列彈幕的彈幕列表。
每當(dāng)上述彈幕播放器接收到新的彈幕信息,根據(jù)新的彈幕信息刷新原本顯示的彈幕列表;
本地彈幕播放器的彈幕發(fā)送后直接儲(chǔ)存進(jìn)其自己的彈幕列表和彈幕信息,再經(jīng)廣播服務(wù)器廣播至其他用戶的彈幕播放器。
每條上述彈幕分別設(shè)有不同的彈幕識(shí)別碼。
每個(gè)上述彈幕播放器分別設(shè)有不同的播放器識(shí)別碼。
本發(fā)明彈幕推送系統(tǒng)及方法和現(xiàn)有技術(shù)的彈幕推送技術(shù)相比,其優(yōu)點(diǎn)在于,本發(fā)明提供了一種彈幕推送系統(tǒng)或?qū)崟r(shí)彈幕劇場,用戶通過電子終端與彈幕服務(wù)器進(jìn)行鏈接,獲取并推送實(shí)時(shí)彈幕,用戶還可通過電子終端發(fā)送彈幕到彈幕服務(wù)器,在同一視頻下進(jìn)行廣播;
本發(fā)明對(duì)彈幕、視頻和彈幕播放器分別設(shè)置惟一和隨機(jī)生成的識(shí)別碼,對(duì)每條彈幕、每個(gè)視頻和每個(gè)彈幕播放器進(jìn)行區(qū)分管理;
本發(fā)明通過視頻識(shí)別碼實(shí)現(xiàn)特定視頻下連接的彈幕播放器發(fā)送的彈幕信息,能在該視頻下連接的所有彈幕播放器進(jìn)行廣播顯示;
本發(fā)明設(shè)有廣播服務(wù)器,實(shí)現(xiàn)高效率用戶人數(shù)和彈幕的輪詢。
附圖說明
圖1為本發(fā)明彈幕推送系統(tǒng)的結(jié)構(gòu)框圖;
圖2為本發(fā)明彈幕推送系統(tǒng)的推送方法的流程圖。
具體實(shí)施方式
以下結(jié)合附圖,進(jìn)一步說明本發(fā)明的具體實(shí)施例。
如圖1所示,本發(fā)明公開一種彈幕推送系統(tǒng),該系統(tǒng)包含:彈幕服務(wù)器101、廣播服務(wù)器102和彈幕播放器103。
彈幕服務(wù)器101用于接收需通過彈幕推送顯示的文字或圖像信息轉(zhuǎn)換為彈幕信息,對(duì)彈幕信息進(jìn)行存儲(chǔ)和管理,并將彈幕信息加入廣播請(qǐng)求輸出。
進(jìn)一步的,彈幕服務(wù)器101將一條或若干條彈幕信息組成彈幕列表,彈幕列表、識(shí)別信息、請(qǐng)求信息組成廣播請(qǐng)求輸出。
廣播服務(wù)器102通信連接彈幕服務(wù)器101的輸出端,用于接收彈幕服務(wù)器101輸出的廣播請(qǐng)求,將廣播請(qǐng)求中的彈幕信息實(shí)時(shí)廣播發(fā)送。另外廣播服務(wù)器102還對(duì)每一視頻下所連接的用戶人數(shù)進(jìn)行實(shí)時(shí)廣播。
彈幕播放器103雙向連接廣播服務(wù)器102,輸出端通信連接彈幕服務(wù)器101。彈幕播放器103接收廣播服務(wù)器102發(fā)出的彈幕信息,根據(jù)彈幕信息加載并播放彈幕。彈幕播放器103還編輯用于彈幕顯示的文字或圖像信息發(fā)送至彈幕服務(wù)器101。
其中,彈幕播放器103為PC、移動(dòng)終端、VR設(shè)備、或任意電子輸出終端。
如圖2所示,本發(fā)明一種彈幕推送方法,該方法具體包含以下步驟:
S1、每個(gè)視頻分別設(shè)定隨機(jī)的視頻識(shí)別碼(cid)。每個(gè)用戶或彈幕播放器分別設(shè)定隨機(jī)的用戶識(shí)別碼或播放器識(shí)別碼(mid)。彈幕服務(wù)器生成的每條彈幕也隨機(jī)生成彈幕識(shí)別碼(did)。
其中,彈幕識(shí)別碼(did):不同的彈幕具有不同的id,用于對(duì)單個(gè)彈幕的管理。視頻識(shí)別碼(cid):指彈幕所屬視頻的id,同一視頻的彈幕附有有相同的cid,cid用于獲取某個(gè)視頻的彈幕列表。用戶識(shí)別碼或播放器識(shí)別碼(mid):用于發(fā)送條彈幕的用戶的id。
S2、彈幕播放器連接并播放視頻。在彈幕播放器連接和播放視頻時(shí),彈幕播放器與廣播服務(wù)器建立長連接(Flash使用xmlsocket,H5使用Websocket)。彈幕播放器將該視頻的視頻識(shí)別碼上傳至廣播服務(wù)器。廣播服務(wù)器將該彈幕播放器的播放器識(shí)別碼與該彈幕播放器正連接的視頻的視頻識(shí)別碼進(jìn)行關(guān)聯(lián)并保存,即把彈幕播放器的連接放到該視頻識(shí)別碼對(duì)應(yīng)的頻道。
S3、廣播服務(wù)器返回該視頻識(shí)別碼(cid)對(duì)應(yīng)頻道的在線人數(shù),即廣播服務(wù)器廣播在視頻下的在線人數(shù)。
具體的,彈幕播放器與廣播服務(wù)器通過彈幕播放器所連接視頻的視頻識(shí)別碼進(jìn)行匹配,廣播服務(wù)器將與其通過相同視頻識(shí)別碼匹配的彈幕播放器的數(shù)量作為該視頻下的在線人數(shù),并實(shí)時(shí)廣播每一視頻下的在線人數(shù)。
當(dāng)彈幕播放器播放視頻,并與廣播服務(wù)器匹配時(shí),廣播服務(wù)器即返回該視頻識(shí)別碼下在線人數(shù)加1。
進(jìn)一步的,彈幕播放器播放視頻時(shí),定時(shí)向廣播服務(wù)器發(fā)送心跳請(qǐng)求,廣播服務(wù)器返回該彈幕播放器所連接視頻下的在線人數(shù)。
S4、彈幕播放器編輯文字或圖像信息,該文字或圖像信息與對(duì)應(yīng)視頻的視頻識(shí)別碼上傳至彈幕服務(wù)器(http post)。
S5、彈幕服務(wù)器接收文字或圖像信息,先對(duì)文字或圖像信息進(jìn)行一系列的驗(yàn)證,包括敏感詞過濾,用戶權(quán)限判斷,視頻彈幕設(shè)置判斷。如果通過了驗(yàn)證,就將文字或圖像信息轉(zhuǎn)為彈幕信息,存入數(shù)據(jù)庫以及刷新彈幕列表緩存,并將彈幕信息和對(duì)應(yīng)視頻識(shí)別碼通過廣播請(qǐng)求發(fā)送至廣播服務(wù)器。
本實(shí)施例中,彈幕服務(wù)器根據(jù)視頻識(shí)別碼將同一視頻的所有彈幕(同一視頻下的每個(gè)彈幕都包含有該彈幕在視頻播放過程中顯示的時(shí)刻信息)組合為一個(gè)實(shí)時(shí)刷新的彈幕列表,該彈幕列表與其對(duì)應(yīng)的視頻識(shí)別碼、每個(gè)彈幕對(duì)應(yīng)的彈幕識(shí)別碼組成彈幕信息,該彈幕信息與請(qǐng)求信息一同組成廣播請(qǐng)求發(fā)送至廣播服務(wù)器。
S6、廣播服務(wù)器收到廣播請(qǐng)求后,根據(jù)彈幕信息中的視頻識(shí)別碼,將彈幕信息發(fā)送至每個(gè)與該視頻識(shí)別碼相關(guān)聯(lián)的播放器識(shí)別碼所對(duì)應(yīng)的彈幕播放器。
S7、彈幕播放器播放接收到的彈幕信息。
彈幕播放器接收廣播服務(wù)器發(fā)出的彈幕信息,將彈幕列表中的每個(gè)彈幕按對(duì)應(yīng)的時(shí)刻信息在視頻播放過程中進(jìn)行顯示。
同時(shí),彈幕播放器還顯示彈幕列表,該顯示的彈幕歷表中的每條彈幕按時(shí)間順序排列。
每當(dāng)彈幕播放器接收到新的彈幕信息,根據(jù)新的彈幕信息刷新原本顯示的彈幕列表。
彈幕播放器顯示彈幕列表是用來供用戶翻看所有此視頻的歷史彈幕,其彈幕來源有兩個(gè):1)讀取廣播服務(wù)器的歷史彈幕即所有其他用戶發(fā)的彈幕;2)儲(chǔ)存每個(gè)用戶或本地彈幕播放器自己發(fā)送的彈幕,以時(shí)間軸依次排列,所以本地彈幕播放器的彈幕發(fā)送后直接儲(chǔ)存進(jìn)其自己的彈幕列表和彈幕信息,再經(jīng)廣播服務(wù)器廣播至其他用戶的彈幕播放器,而不需要通過廣播服務(wù)器廣播至自己的彈幕列表。
進(jìn)一步的,彈幕播放器收到廣播服務(wù)器發(fā)送的彈幕信息后,對(duì)照一下彈幕信息的播放器識(shí)別碼或用戶識(shí)別碼(隨機(jī)id)是否跟播放器自己的播放器識(shí)別碼或用戶識(shí)別碼相同,相同的話表示是自己的彈幕,可對(duì)自己發(fā)送的彈幕特殊顯示;不同的話是別人發(fā)的彈幕。
S8、當(dāng)彈幕播放器退出連接的視頻,即斷開廣播服務(wù)器。廣播服務(wù)器中彈幕播放器的cid頻道在線人數(shù)減1,并在實(shí)時(shí)的在線人數(shù)廣播中返回至連接該視頻的彈幕播放器和用戶。
盡管本發(fā)明的內(nèi)容已經(jīng)通過上述優(yōu)選實(shí)施例作了詳細(xì)介紹,但應(yīng)當(dāng)認(rèn)識(shí)到上述的描述不應(yīng)被認(rèn)為是對(duì)本發(fā)明的限制。在本領(lǐng)域技術(shù)人員閱讀了上述內(nèi)容后,對(duì)于本發(fā)明的多種修改和替代都將是顯而易見的。因此,本發(fā)明的保護(hù)范圍應(yīng)由所附的權(quán)利要求來限定。