提高帶寬利用率的點(diǎn)播方法【專利摘要】本發(fā)明公開(kāi)了一種提高帶寬利用率的點(diǎn)播方法,包括以下步驟:若流媒體數(shù)據(jù)邊下載邊播放,分段下載流媒體數(shù)據(jù),在客戶端分配固定的內(nèi)存,用于緩存流媒體數(shù)據(jù);客戶端向音視頻服務(wù)器發(fā)送下載請(qǐng)求,創(chuàng)建下載通道,下載通道包括QAM和IP兩種下載通道;若客戶端分配的固定內(nèi)存已經(jīng)被緩存的流媒體數(shù)據(jù)全部占用,則關(guān)閉下載通道,釋放QAM資源;判斷客戶端內(nèi)緩存的流媒體數(shù)據(jù)是否即將播放完畢,若是,則再次發(fā)送下載請(qǐng)求,通知音視頻服務(wù)器下載的起始位置,重新申請(qǐng)QAM資源,重復(fù)本步驟直至停止播放。本發(fā)明在流媒體數(shù)據(jù)邊下載邊播放的應(yīng)用場(chǎng)景下,增加分段下載,利用空閑的QAM資源,提高流媒體數(shù)據(jù)的下載速度,解決了下載流媒體速度慢,視頻播放不流暢的問(wèn)題?!緦@f(shuō)明】提高帶寬利用率的點(diǎn)播方法
技術(shù)領(lǐng)域:
[0001]本發(fā)明涉及流媒體下載
技術(shù)領(lǐng)域:
,特別是指一種提高帶寬利用率的點(diǎn)播方法?!?br>背景技術(shù):
】[0002]目前現(xiàn)有的流媒體下載方式主要采用IP方式下載,以普通用戶帶寬2Mbit/s的網(wǎng)速下載50M數(shù)據(jù),需要200s的下載時(shí)間,這樣下載時(shí)間太長(zhǎng),用戶點(diǎn)播觀看某視頻時(shí)出現(xiàn)視頻播放不流暢現(xiàn)象?!?br/>發(fā)明內(nèi)容】[0003]本發(fā)明提出一種提高帶寬利用率的點(diǎn)播方法,利用空閑的QAM資源下載流媒體數(shù)據(jù),解決了下載流媒體速度慢,視頻播放不流暢的問(wèn)題。[0004]本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:[0005]-種提高帶寬利用率的點(diǎn)播方法,具體包括以下步驟:[0006]步驟1,若流媒體數(shù)據(jù)為邊下載邊播放,分段下載流媒體數(shù)據(jù),在客戶端分配固定的內(nèi)存,用于緩存流媒體數(shù)據(jù);[0007]步驟2,客戶端向音視頻服務(wù)器發(fā)送下載請(qǐng)求,創(chuàng)建下載通道,下載通道包括QAM和IP兩種下載通道;[0008]步驟3,若客戶端分配的固定內(nèi)存已經(jīng)被緩存的流媒體數(shù)據(jù)全部占用,則關(guān)閉下載通道,釋放QAM資源;[0009]步驟4,判斷客戶端內(nèi)緩存的流媒體數(shù)據(jù)是否即將播放完畢,若是,則再次發(fā)送下載請(qǐng)求,通知音視頻服務(wù)器下載的起始位置,重新申請(qǐng)QAM資源,重復(fù)本步驟直至停止播放。[0010]進(jìn)一步的,在步驟2中,檢測(cè)QAM下載通道是否存在丟包情況,若是,判斷丟包個(gè)數(shù)是否超過(guò)10%,若是,則請(qǐng)求音視頻服務(wù)器重新發(fā)送流媒體數(shù)據(jù),或者采用IP下載通道下載流媒體數(shù)據(jù)。[0011]進(jìn)一步的,下載請(qǐng)求包括依次排列的統(tǒng)一資源標(biāo)識(shí)符、音視頻服務(wù)器的IP地址、監(jiān)聽(tīng)端口、流媒體數(shù)據(jù)包名稱、指定帶寬以及客戶端的區(qū)域碼,下載請(qǐng)求還包括會(huì)話序號(hào)、請(qǐng)求傳輸模式、下載起始區(qū)域號(hào)、數(shù)據(jù)類型以及客戶端標(biāo)識(shí)。[0012]進(jìn)一步的,步驟2具體包括以下步驟:[0013]步驟201,客戶端向音視頻服務(wù)器發(fā)送下載請(qǐng)求,創(chuàng)建下載通道;[0014]步驟202,音視頻服務(wù)器接收到客戶端的下載請(qǐng)求,為客戶端分配下載通道資源,并發(fā)送相應(yīng)的回應(yīng)給客戶端;[0015]步驟203,客戶端準(zhǔn)備接收流媒體數(shù)據(jù),發(fā)送命令通知音視頻服務(wù)器開(kāi)始發(fā)送流媒體數(shù)據(jù);[0016]步驟204,音視頻服務(wù)器按照客戶端的下載請(qǐng)求,選擇相應(yīng)的下載通道發(fā)送流媒體數(shù)據(jù)至客戶端;[0017]步驟205,音視頻服務(wù)器提示客戶端流媒體數(shù)據(jù)發(fā)送完畢;[0018]步驟206,客戶端結(jié)束會(huì)話。[0019]進(jìn)一步的,步驟203之前還包括以下步驟:[0020]客戶端接收到音視頻服務(wù)器的回應(yīng);[0021]客戶端每隔財(cái)少向音視頻服務(wù)器發(fā)送OPTIONS命令,表示客戶端在線狀態(tài);N為整數(shù),N大于1;[0022]若音視頻服務(wù)器連續(xù)3個(gè)周期內(nèi)未接收到OPTIONS命令,則結(jié)束會(huì)話,釋放資源;[0023]若音視頻服務(wù)器接收到OPTIONS命令,回應(yīng)2000K給客戶端;[0024]若客戶端連續(xù)3個(gè)周期未收到音視頻服務(wù)器回應(yīng)的2000K,則結(jié)束會(huì)話。[0025]進(jìn)一步的,在步驟1之前,還包括以下步驟[0026]采集音視頻數(shù)據(jù),對(duì)其進(jìn)行編碼,得到流媒體文件;[0027]對(duì)流媒體文件進(jìn)行打包,封裝成TS流文件;[0028]將TS流文件上傳至音視頻服務(wù)器。[0029]進(jìn)一步的,音視頻服務(wù)器包括QAM服務(wù)器和IP服務(wù)器。[0030]進(jìn)一步的,步驟202中,音視頻服務(wù)器發(fā)給客戶端的回應(yīng)包括以下四種;[0031]第一種回應(yīng)為:分配下載通道資源成功,音視頻服務(wù)器回應(yīng)2000K;[0032]第二種回應(yīng)為:流媒體數(shù)據(jù)在另一音視頻服務(wù)器上,該音視頻服務(wù)器發(fā)送302MovedTemporarily,客戶端重新發(fā)送下載請(qǐng)求;[0033]第三種回應(yīng)為:流媒體數(shù)據(jù)不存在,音視頻服務(wù)器回應(yīng)404N〇tFound;[0034]第四種回應(yīng)為:帶寬不足,音視頻服務(wù)器回應(yīng)453NotEnoughBandwidth。[0035]本發(fā)明的有益效果在于:在流媒體數(shù)據(jù)邊下載邊播放的應(yīng)用場(chǎng)景下,增加分段下載,利用空閑的QAM資源,提高流媒體數(shù)據(jù)的下載速度,解決了下載流媒體速度慢,視頻播放不流暢的問(wèn)題【附圖說(shuō)明】[0036]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。[0037]圖1為本發(fā)明提高帶寬利用率的點(diǎn)播方法的流程圖;[0038]圖2為圖1中客戶端與音視頻服務(wù)器建立會(huì)話的流程圖?!揪唧w實(shí)施方式】[0039]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。[0040]如圖1和圖2所示,本發(fā)明提出了一種提高帶寬利用率的點(diǎn)播方法,具體包括以下步驟:[0041]步驟1,若流媒體數(shù)據(jù)為邊下載邊播放,分段下載流媒體數(shù)據(jù),在客戶端分配固定的內(nèi)存,用于緩存流媒體數(shù)據(jù);在客戶端分配的固定內(nèi)存的大小根據(jù)客戶端的空閑內(nèi)存而定。[0042]具體的,在本實(shí)施例中,客戶端指的是機(jī)頂盒。[0043]步驟2,客戶端向音視頻服務(wù)器發(fā)送下載請(qǐng)求,創(chuàng)建下載通道,下載通道包括QAM和IP兩種下載通道;[0044]具體的,本發(fā)明采用的實(shí)時(shí)下載協(xié)議為RTDP(realtimedownloadprotocol),相當(dāng)于RTSP.[0045]客戶端通過(guò)發(fā)送SETUP命令,向音視頻服務(wù)器發(fā)送下載請(qǐng)求,建立下載通道。[0046]下載請(qǐng)求包括依次排列的統(tǒng)一資源標(biāo)識(shí)符、音視頻服務(wù)器的IP地址、監(jiān)聽(tīng)端口、流媒體數(shù)據(jù)包名稱、指定帶寬以及客戶端的區(qū)域碼,下載請(qǐng)求還包括會(huì)話序號(hào)、請(qǐng)求傳輸模式、下載起始區(qū)域號(hào)、數(shù)據(jù)類型以及客戶端標(biāo)識(shí)。[0047]示例如下:[0048]SETUP[0049]rtdp://192.168.36.78:554/xiaoxiongweini.ts?bandwidth=38000000&areacode=1[0050]RTDP/1.0\r\n[0051]CSeq:l\r\n[0052]Transport:QAM\r\n[0053]Range:0-10,15,17,20-\r\n[0054]Type:l\r\n[0055]User-Agent:iPanel-Application-Download-(Version_l·0)\r\n[0056]\r\n[0057]其中關(guān)鍵字定義如下:[0058]rtdp:URL前綴,URI的格式與HTTP的URI意義一致,緊跟著的為音視頻服務(wù)器IP地址,監(jiān)聽(tīng)端口號(hào)以及具體應(yīng)用包名稱。應(yīng)用包名稱指的是流媒體數(shù)據(jù)的名稱,比如用戶點(diǎn)播一個(gè)娛樂(lè)節(jié)目,該娛樂(lè)節(jié)目對(duì)應(yīng)一些流媒體數(shù)據(jù),該娛樂(lè)節(jié)目的名稱即為應(yīng)用包名稱,其代表的是娛樂(lè)節(jié)目對(duì)應(yīng)的流媒體數(shù)據(jù)。bandwidth用于帶寬指定,不指定則以音視頻服務(wù)器默認(rèn)為準(zhǔn)。areacode指用戶所在的區(qū)域碼。CSeq:表示會(huì)話的序號(hào),用于確認(rèn)request和response的--對(duì)應(yīng)關(guān)系,每一次信令交互完自動(dòng)加1[0059]Transport:表示請(qǐng)求的傳輸模式,有QAM和IP兩種模式[0060]Range:表示請(qǐng)求下載的起始sectionnumber,與HTTP的Range意義一樣,但數(shù)字是指setion索引號(hào)而不是byte。采集的音視頻信號(hào)編碼后按照section進(jìn)行打包,根據(jù)每個(gè)section的編號(hào)封裝成TS流。[0061]Type:申請(qǐng)數(shù)據(jù)的控制類型,Type為1,表示客戶端是媒體播放器,音視頻服務(wù)器端要盡可能把文件當(dāng)做媒體文件特殊處理,媒體文件的特殊處理包括:(1)搜索iFrame,Range盡可能第一個(gè)包就包含I幀(盡可能從I幀開(kāi)始),(2)盡可能計(jì)算媒體播放總時(shí)長(zhǎng),給Media-Duration賦值;Type為0,或者不附帶Type,則表示,正常推送數(shù)據(jù)(下載普通文件而不是媒體文件的特殊處理)。[0062]User-Agent:客戶端的標(biāo)識(shí)以及版本號(hào)。[0063]步驟3,若客戶端分配的固定內(nèi)存已經(jīng)被緩存的流媒體數(shù)據(jù)全部占用,則關(guān)閉下載通道,釋放QAM資源;[0064]步驟4,判斷客戶端內(nèi)緩存的流媒體數(shù)據(jù)是否即將播放完畢,若是,則再次發(fā)送下載請(qǐng)求,通知音視頻服務(wù)器下載的起始位置,重新申請(qǐng)QAM資源,重復(fù)本步驟直至停止播放。[0065]在優(yōu)選的實(shí)施例中,在步驟2中,檢測(cè)QAM下載通道是否存在丟包情況,若是,判斷丟包個(gè)數(shù)是否超過(guò)10%,若是,則請(qǐng)求音視頻服務(wù)器重新發(fā)送流媒體數(shù)據(jù),或者采用IP下載通道下載流媒體數(shù)據(jù)。[0066]在優(yōu)選的實(shí)施例中,步驟2具體包括以下步驟:[0067]步驟201,客戶端向音視頻服務(wù)器發(fā)送下載請(qǐng)求,創(chuàng)建下載通道;[0068]步驟202,音視頻服務(wù)器接收到客戶端的下載請(qǐng)求,為客戶端分配下載通道資源,并發(fā)送相應(yīng)的回應(yīng)給客戶端;[0069]步驟202中,音視頻服務(wù)器發(fā)給客戶端的回應(yīng)包括以下四種;[0070]第一種回應(yīng)為:分配下載通道資源成功,音視頻服務(wù)器回應(yīng)2000K;[0071]示例如下:[0072]QAM模式下:[0073]RTDP/1.02000K\r\n[0074]CSeq:l\r\n[0075]Session:24988119744980\r\n[0076]Range:5-40/1001\r\n[0077]Content-Type:application/ts\r\n[0078]Content-Length:18000\r\n[0079]Media-Duration:12345\r\n[0080]SDP-Vide〇-Num:1[0081]SDP-Vide〇-Pidl:129[0082]SDP-Vide〇-Typel:4[0083]SDP-Audi〇-Num:2[0084]SDP-Audi〇-Pidl:128[0085]SDP-Audi〇-Typel:96[0086]SDP-Audi〇-Pid2:188[0087]SDP-Audi〇-Type2:99[0088]x-Timeshift_Range:%s-%s\r\n[0089]X-Frequency:6260000\r\n[0090]X-Pid:32\r\n[0091]X-Tableid:3\r\n[0092]\r\n[0093]IP模式下:[0094]RTDP/1.02000K\r\n[0095]CSeq:l\r\n[0096]Session:24988119744980\r\n[0097]Range:5-40/1001\r\n[0098]Content-Type:application/ts\r\n[0099]Content-Length:18000\r\n[0100]Media-Duration:12345\r\n[0101]\r\n[0102]其中新增關(guān)鍵字定義如下:[0103]Session:音視頻服務(wù)器分配的至少8個(gè)字節(jié)的會(huì)話ID,標(biāo)識(shí)會(huì)話的唯一性,后續(xù)的信令交互都需要帶上這個(gè)字段[0104]Range:左邊界為音視頻服務(wù)器開(kāi)始推流的sectionnumber.〃/〃右邊界為文件總的sectionnumber,客戶端根據(jù)總的section數(shù)量,來(lái)檢查數(shù)據(jù)收取的完整性。[0105]X-Frequency:頻點(diǎn),單位為Μ赫茲[0106]X-Pid:ts流中的pid[0107]X-Tableid:ts流中的tableid[0108]Content-Type:文件數(shù)據(jù)類型,具體意義另外定義(類似HTTP的Content-Type)[0109]文件擴(kuò)展名方式來(lái)表示文件種類,特別約定:[0110](1)TS流媒體文件為:application/ts[0111](2)MP4媒體文件為:application/mp4[0112](3)普通下載文件為:application/dat[0113]Media-Duration:對(duì)于音視頻文件(Type==1),是播放總時(shí)長(zhǎng),單位為秒,若非音視頻文件(Type!=1),或者音視頻服務(wù)器難以計(jì)算,則總是返回100*1000。[0114]Content-Length:文件的真實(shí)長(zhǎng)度(字節(jié)數(shù)),因?yàn)镽ange表示的長(zhǎng)度只是section數(shù)量,不準(zhǔn)確。[0115]SDP:對(duì)于TS格式的文件,此信息需要填寫(xiě),針對(duì)MPTS只處理第一路,假如有多路音頻,[0116]SDP-Vide〇-Num:1[0117]SDP-Vide〇-Pidl:129[0118]SDP-Vide〇-Typel:4[0119]SDP-Audi〇-Num:2[0120]SDP-Audi〇-Pidl:128[0121]SDP-Audi〇-Typel:96[0122]SDP-Audi〇-Pid2:188[0123]SDP-Audi〇-Type2:99[0124]x-Timeshift_Range:%s-%s[0125]如果非時(shí)移則未攜帶此字段[0126]如果x-Timeshift_Range:%Y%m%dT%H%M%S.08Z-%Y%m%dT%H%M%S.08Z則代表時(shí)移。[0127]第二種回應(yīng)為:流媒體數(shù)據(jù)在另一音視頻服務(wù)器上,該音視頻服務(wù)器發(fā)送302MovedTemporarily,客戶端重新發(fā)送下載請(qǐng)求;[0128]示例如下:[0129]RTDP/1.0302MovedTemporarily\r\n[0130]CSeq:l\r\n[0131]Location:RTDP://192.168.35.48/xiaoxiongweini.ts\r\n[0132]\r\n[0133]其中新增關(guān)鍵字如下:[0134]Location:表示重定向后的url[0135]第三種回應(yīng)為:流媒體數(shù)據(jù)不存在,音視頻服務(wù)器回應(yīng)404N〇tFound;[0136]示例如下:[0137]RTDP/1.0404NotFound\r\n[0138]CSeq:l\r\n[0139]\r\n[0140]第四種回應(yīng)為:帶寬不足,音視頻服務(wù)器回應(yīng)453NotEnoughBandwidth。[0141]示例如下:[0142]RTDP/1.0453NotEnoughBandwidth\r\n[0143]CSeq:l\r\n[0144]\r\n[0145]對(duì)于Transport的模式選擇,客戶端請(qǐng)求的時(shí)候首先應(yīng)以QAM模式進(jìn)行請(qǐng)求,如果音視頻服務(wù)器回應(yīng)分配QAM資源失敗(453NotEnoughBandwidth),再根據(jù)項(xiàng)目要求是否以IP方式進(jìn)行請(qǐng)求,IP方式下載時(shí)間較長(zhǎng),需要提示用戶,出現(xiàn)QAM資源分配不足時(shí),也可以等待幾秒鐘再次申請(qǐng)分配QAM資源,同樣也可以將模式的選擇交給用戶,后續(xù)由應(yīng)用考慮那種方案更好一些。[0146]接收到SETUP的回應(yīng)時(shí),客戶端開(kāi)始鎖頻,鎖頻5秒仍然失敗的話,采用IP方式進(jìn)行下載,客戶端以IP模式重新發(fā)送SETUP建立IP下載通道。[0147]步驟203,客戶端準(zhǔn)備接收流媒體數(shù)據(jù),發(fā)送命令通知音視頻服務(wù)器開(kāi)始發(fā)送流媒體數(shù)據(jù);[0148]QAM模式下鎖頻成功,或者IP模式下收到SETUP2000K回應(yīng)時(shí),客戶端準(zhǔn)備接收數(shù)據(jù),發(fā)送PUSH命令通知音視頻服務(wù)器開(kāi)始播發(fā)數(shù)據(jù),具體格式如下:[0149]PUSHrtdp://192.168.36.78:554/xiaoxiongweini.tsRTDP/1.0\r\n[0150]CSeq:2\r\n[0151]Session:24988119744980\r\n[0152]Transport:QAM\r\n[0153]Range:0-10,15,17,20_\r\n[0154]Range:20121212T111101.08Z\r\n[0155]Type:l\r\n[0156]User-Agent:iPanel-Application-Download-(Version_l·0)\r\n[0157]\r\n[0158]步驟204,音視頻服務(wù)器按照客戶端的下載請(qǐng)求,選擇相應(yīng)的下載通道發(fā)送流媒體數(shù)據(jù)至客戶端;[0159]音視頻服務(wù)器端收到PUSH命令后,需要將推流文件大小回應(yīng)給客戶端,即:[0160]RTDP/1.02000K\r\n[0161]Cseq:2\r\n[0162]Session:24988119744980\r\n[0163]Range:5-40/1001\r\n[0164]Range如果后面帶有clock的標(biāo)志則代表是時(shí)移的搜索[0165]Content-Type:application/ts\r\n[0166]Content-Length:18000\r\n[0167]Media-Duration:12345\r\n[0168]SDP-Vide〇-Num:1[0169]SDP-Vide〇-Pidl:129[0170]SDP-Vide〇-Typel:4[0171]SDP-Audi〇-Num:2[0172]SDP-Audi〇-Pidl:128[0173]SDP-Audi〇-Typel:96[0174]SDP-Audi〇-Pid2:188[0175]SDP-Audi〇-Type2:99[0176]x-Timeshift_Range:%s-%s\r\n[0177]Ts-Version:l\r\n[0178]\r\n[0179]音視頻服務(wù)器回應(yīng)2000K后開(kāi)始推流,并且只推一次,即QAM模式的話,只播發(fā)一次,把應(yīng)用包(按照固定合適封裝)文件播發(fā)完就停止推流。[0180]Type:同SETUP意義。[0181]Range是一定需要的,客戶端需要根據(jù)range來(lái)調(diào)整位置。[0182]Ts-Version:下推ts數(shù)據(jù)流的版本號(hào).特別約定:Push支持在保持音視頻服務(wù)器連接的情況下多次請(qǐng)求數(shù)據(jù),每次發(fā)起push則必然造成版本的變更,setup總是把版本號(hào)歸0,后面每Push-次,Ts-Version就加1,2~5循環(huán)(即0~31)。注意,正式推流之后(不包括前面的空包流),每個(gè)ts包里面都帶上當(dāng)前的版本號(hào),版本號(hào)的表示方法不是采用pmt的version_number,而是在每個(gè)ts包前面加上調(diào)節(jié)字段(adaption_field_control均為10或11),ield_length==3,T^transport_private_data_flag==1(第6個(gè)字節(jié)的值是0x02),第7個(gè)字節(jié)是transport_private_data_length==1,第8個(gè)字節(jié)private_data_byte就是當(dāng)前的版本號(hào),版本號(hào)這里是用私有數(shù)據(jù)存儲(chǔ),8bit,但是,其循環(huán)值是5bit,即從0-31·[0183]步驟205,音視頻服務(wù)器提示客戶端流媒體數(shù)據(jù)發(fā)送完畢;[0184]音視頻服務(wù)器每次響應(yīng)PUSH,推完數(shù)據(jù)后需要發(fā)送ANNOUNCE命令提示終端推流完畢等,具體格式如下:[0185]ANNOUNCErtdp://192.168.36.78:554/xiaoxiongweini.tsRTDP/1.0\r\n[0186]Cseq:3\r\n[0187]Session:24988119744980\r\n[0188]X-Notice:PushStreamEnd\r\n[0189]\r\n[0190]客戶端收到ANNOUNCE消息后需要回應(yīng)2000K消息:[0191]RTDP/1.02000K\r\n[0192]Cseq:3\r\n[0193]Session:24988119744980\r\n[0194]\r\n[0195]步驟206,客戶端結(jié)束會(huì)話。[0196]TEARD0WN命令用于客戶端結(jié)束會(huì)話,具體格式如下:[0197]TEARDOWNrtdp://192.168.36.78:554/xiaoxiongweini.tsRTDP/1.0\r\n[0198]CSeq:6\r\n[0199]Session:24988119744980\r\n[0200]TearType:1[0201]User-Agent:iPanelApplicationDownload(Version3.0)\r\n[0202]\r\n[0203]音視頻服務(wù)器回應(yīng):[0204]RTDP/1.02000K\r\n[0205]Cseq:6\r\n[0206]Session:24988119744980\r\n[0207]\r\n[0208]TearType1緩沖器慢的時(shí)候觸發(fā)的[0209]TearType0真正斷開(kāi)[0210]在優(yōu)選的實(shí)施例中,步驟203之前還包括以下步驟:[0211]客戶端接收到音視頻服務(wù)器的回應(yīng);[0212]客戶端每隔財(cái)少向音視頻服務(wù)器發(fā)送OPTIONS命令,表示客戶端在線狀態(tài);N為整數(shù),N大于1;[0213]若音視頻服務(wù)器連續(xù)3個(gè)周期內(nèi)未接收到OPTIONS命令,則結(jié)束會(huì)話,釋放資源;[0214]若音視頻服務(wù)器接收到OPTIONS命令,回應(yīng)2000K給客戶端;[0215]若客戶端連續(xù)3個(gè)周期未收到音視頻服務(wù)器回應(yīng)的2000K,則結(jié)束會(huì)話。[0216]示例如下:[0217]RTDP通過(guò)OPTIONS命令來(lái)維持心跳,客戶端在收到SETUP響應(yīng)后,每隔10秒發(fā)送OPTIONS命令表示客戶端在線狀態(tài),音視頻服務(wù)器端應(yīng)該在連續(xù)3個(gè)心跳周期沒(méi)有收到客戶端OPTIONS命令的話將客戶端剔除,釋放會(huì)話資源,具體命令格式如下:[0218]OPTIONSrtdp://192.168.36.78:554/xiaoxiongweini.tsRTDP/1.0\r\n[0219]CSeq:5\r\n[0220]Session:24988119744980\r\n[0221]\r\n[0222]音視頻服務(wù)器需要回應(yīng)2000K給客戶端[0223]RTDP/1.02000K\r\n[0224]Cseq:5\r\n[0225]Session:24988119744980\r\n[0226]x-Timeshift_Range:%s-%s\r\n[0227]\r\n[0228]客戶端連續(xù)3個(gè)心跳命令沒(méi)有收到2000K的話也將會(huì)話剔除,退出下載在優(yōu)選的實(shí)施例中,在步驟1之前,還包括以下步驟[0229]采集音視頻數(shù)據(jù),對(duì)其進(jìn)行編碼,得到流媒體文件;[0230]對(duì)流媒體文件進(jìn)行打包,封裝成TS流文件;[0231]將TS流文件上傳至音視頻服務(wù)器。[0232]section封裝說(shuō)明如下:[0235]在優(yōu)選的實(shí)施例中,音視頻服務(wù)器包括QAM服務(wù)器和IP服務(wù)器。[0236]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)?!局鳈?quán)項(xiàng)】1.一種提高帶寬利用率的點(diǎn)播方法,其特征在于,具體包括以下步驟:步驟1,若流媒體數(shù)據(jù)為邊下載邊播放,分段下載流媒體數(shù)據(jù),在客戶端分配固定的內(nèi)存,用于緩存流媒體數(shù)據(jù);步驟2,客戶端向音視頻服務(wù)器發(fā)送下載請(qǐng)求,創(chuàng)建下載通道,下載通道包括QAM和IP兩種下載通道;步驟3,若客戶端分配的固定內(nèi)存已經(jīng)被緩存的流媒體數(shù)據(jù)全部占用,則關(guān)閉下載通道,釋放QAM資源;步驟4,判斷客戶端內(nèi)緩存的流媒體數(shù)據(jù)是否即將播放完畢,若是,則再次發(fā)送下載請(qǐng)求,通知音視頻服務(wù)器下載的起始位置,重新申請(qǐng)QAM資源,重復(fù)本步驟直至停止播放。2.根據(jù)權(quán)利要求1所述的提高寬帶利用率的點(diǎn)播方法,其特征在于,在步驟2中,檢測(cè)QAM下載通道是否存在丟包情況,若是,判斷丟包個(gè)數(shù)是否超過(guò)10%,若是,則請(qǐng)求音視頻服務(wù)器重新發(fā)送流媒體數(shù)據(jù),或者采用IP下載通道下載流媒體數(shù)據(jù)。3.根據(jù)權(quán)利要求1所述的提高寬帶利用率的點(diǎn)播方法,其特征在于,下載請(qǐng)求包括依次排列的統(tǒng)一資源標(biāo)識(shí)符、音視頻服務(wù)器的IP地址、監(jiān)聽(tīng)端口、流媒體數(shù)據(jù)包名稱、指定帶寬以及客戶端的區(qū)域碼,所述下載請(qǐng)求還包括會(huì)話序號(hào)、請(qǐng)求傳輸模式、下載起始區(qū)域號(hào)、數(shù)據(jù)類型以及客戶端標(biāo)識(shí)。4.根據(jù)權(quán)利要求1所述的提高寬帶利用率的點(diǎn)播方法,其特征在于,步驟2具體包括以下步驟:步驟201,客戶端向音視頻服務(wù)器發(fā)送下載請(qǐng)求,創(chuàng)建下載通道;步驟202,音視頻服務(wù)器接收到客戶端的下載請(qǐng)求,為客戶端分配下載通道資源,并發(fā)送相應(yīng)的回應(yīng)給客戶端;步驟203,客戶端準(zhǔn)備接收流媒體數(shù)據(jù),發(fā)送命令通知音視頻服務(wù)器開(kāi)始發(fā)送流媒體數(shù)據(jù);步驟204,音視頻服務(wù)器按照客戶端的下載請(qǐng)求,選擇相應(yīng)的下載通道發(fā)送流媒體數(shù)據(jù)至客戶端;步驟205,音視頻服務(wù)器提示客戶端流媒體數(shù)據(jù)發(fā)送完畢;步驟206,客戶端結(jié)束會(huì)話。5.根據(jù)權(quán)利要求4所述的提高寬帶利用率的點(diǎn)播方法,其特征在于,步驟203之前還包括以下步驟:客戶端接收到音視頻服務(wù)器的回應(yīng);客戶端每隔N秒向音視頻服務(wù)器發(fā)送OPTIONS命令,表示客戶端在線狀態(tài);N為整數(shù),N大于1;若音視頻服務(wù)器連續(xù)3個(gè)周期內(nèi)未接收到OPTIONS命令,則結(jié)束會(huì)話,釋放資源;若音視頻服務(wù)器接收到OPTIONS命令,回應(yīng)2000K給客戶端;若客戶端連續(xù)3個(gè)周期未收到音視頻服務(wù)器回應(yīng)的2000K,則結(jié)束會(huì)話。6.根據(jù)權(quán)利要求1所述的提高寬帶利用率的點(diǎn)播方法,其特征在于,在步驟1之前,還包括以下步驟采集音視頻數(shù)據(jù),對(duì)其進(jìn)行編碼,得到流媒體文件;對(duì)流媒體文件進(jìn)行打包,封裝成TS流文件;將TS流文件上傳至音視頻服務(wù)器。7.根據(jù)權(quán)利要求1所述的提高寬帶利用率的點(diǎn)播方法,其特征在于,音視頻服務(wù)器包括QAM服務(wù)器和IP服務(wù)器。8.根據(jù)權(quán)利要求4或5所述的提高寬帶利用率的點(diǎn)播方法,其特征在于,步驟202中,音視頻服務(wù)器發(fā)給客戶端的回應(yīng)包括以下四種;第一種回應(yīng)為:分配下載通道資源成功,音視頻服務(wù)器回應(yīng)2000K;第二種回應(yīng)為:流媒體數(shù)據(jù)在另一音視頻服務(wù)器上,該音視頻服務(wù)器發(fā)送302MovedTemporarily,客戶端重新發(fā)送下載請(qǐng)求;第三種回應(yīng)為:流媒體數(shù)據(jù)不存在,音視頻服務(wù)器回應(yīng)404NotFound;第四種回應(yīng)為:帶寬不足,音視頻服務(wù)器回應(yīng)453NotEnoughBandwidth?!疚臋n編號(hào)】H04L12/873GK106027418SQ201610540992【公開(kāi)日】2016年10月12日【申請(qǐng)日】2016年7月8日【發(fā)明人】徐佳宏,徐蘭蘭【申請(qǐng)人】深圳市茁壯網(wǎng)絡(luò)股份有限公司