專(zhuān)利名稱:優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法
技術(shù)領(lǐng)域:
本發(fā)明公開(kāi)了一種優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法,它屬于實(shí)時(shí)視頻監(jiān)控領(lǐng)域。
背景技術(shù):
視頻錄像的格式有很多種,其中最好的格式是FLASH視頻格式中的FLV編碼格式, 因?yàn)镕LASH壓縮技術(shù)讓幾乎所有的PC和普通智能手機(jī)在無(wú)需下載或安裝特別插件、軟件情況下,就可用FLASH PLAYER觀看實(shí)時(shí)視頻,既通用又安全,而且FLASH視頻格式采用了低碼率傳輸技術(shù),帶寬占用少,服務(wù)器壓力小,即便在網(wǎng)速較低的國(guó)內(nèi)網(wǎng)絡(luò)環(huán)境下仍能保證用戶流暢地體驗(yàn)、觀看。目前市面上的攝像頭輸出的格式都是其他格式,不是FLASH格式,如果需要轉(zhuǎn)換為FLASH格式,做法是將攝像頭的視頻輸出接入網(wǎng)絡(luò)視頻服務(wù)器,而網(wǎng)絡(luò)視頻服務(wù)器不是電腦,是一個(gè)專(zhuān)用的機(jī)器,由于是連接在網(wǎng)絡(luò)結(jié)構(gòu)中的物理層,而且視頻服務(wù)器不是電腦計(jì)算能力不夠強(qiáng),所以能接入的攝像頭數(shù)量比較少,最多為32路。市面上一個(gè)網(wǎng)絡(luò)視頻服務(wù)器的造價(jià)比較昂貴,并且一臺(tái)機(jī)器不可以在多個(gè)不同的地點(diǎn)同時(shí)接入攝像頭。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服了現(xiàn)有技術(shù)的不足,將傳統(tǒng)視頻監(jiān)控做適當(dāng)改造,使得多個(gè)不同地點(diǎn)的攝像頭不需要專(zhuān)門(mén)購(gòu)買(mǎi)多臺(tái)的網(wǎng)絡(luò)視頻服務(wù)器,進(jìn)一步說(shuō),本發(fā)明是將一臺(tái)計(jì)算機(jī)作為轉(zhuǎn)換服務(wù)器,在其上開(kāi)發(fā)一個(gè)轉(zhuǎn)換系統(tǒng),并且與硬盤(pán)錄像機(jī)通過(guò)網(wǎng)絡(luò)層連接, 不用在物理層上與攝像頭連接,就可以實(shí)現(xiàn)將其他視頻格式的轉(zhuǎn)化為FLASH視頻格式供用戶進(jìn)行播放。為實(shí)現(xiàn)本發(fā)明的目的,采用的技術(shù)方案為一種優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法,其步驟如下
1)搭建服務(wù)器;
2)視頻獲?。?br>
3)格式轉(zhuǎn)換;
4)視頻播放。步驟1)所述的搭建服務(wù)器是將計(jì)算機(jī)配置公網(wǎng)IP并部署轉(zhuǎn)換軟件后作為服務(wù)器的搭建過(guò)程,具體是將計(jì)算機(jī)連入因特網(wǎng),申請(qǐng)固定公網(wǎng)IP地址A,安裝ffmpeg開(kāi)發(fā)包,將需要轉(zhuǎn)換格式的硬盤(pán)錄像機(jī)IP地址記錄到列表B中,然后以計(jì)算機(jī)作為服務(wù)器。計(jì)算機(jī)要求最低配置為處理器雙核主頻1. 8G Hz,內(nèi)存2GB\ DDR2 667MHz,硬盤(pán)120G/5200轉(zhuǎn), 1000M網(wǎng)卡。ffmpeg是一個(gè)開(kāi)源免費(fèi)跨平臺(tái)的視頻和音頻流方案,屬于自由軟件,采用LGPL 或GPL許可證。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案,可以用來(lái)記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開(kāi)源計(jì)算機(jī)程序。ffmpeg可以將多種視頻格式轉(zhuǎn)換為 FLV格式,也可以輕易地實(shí)現(xiàn)多種視頻格式之間的相互轉(zhuǎn)換(wma,rm, avi, mod等),例如可以將攝錄下的視頻avi等轉(zhuǎn)成現(xiàn)在視頻網(wǎng)站所采用的FLV格式。步驟2)所述的視頻獲取是服務(wù)器根據(jù)步驟1)的列表B,根據(jù)逐條硬盤(pán)錄像機(jī)IP 地址訪問(wèn)目標(biāo)硬盤(pán)錄像機(jī),獲取存儲(chǔ)在目標(biāo)硬盤(pán)錄像機(jī)中的視頻流數(shù)據(jù),通過(guò)RTMP流媒體協(xié)議進(jìn)行視頻流數(shù)據(jù)傳輸,將視頻流數(shù)據(jù)存儲(chǔ)在服務(wù)器內(nèi)存中,以硬盤(pán)錄像機(jī)IP地址作為索引,并生成視頻流數(shù)據(jù)清單C的過(guò)程。步驟3)所述的格式轉(zhuǎn)換是將步驟2)存儲(chǔ)在服務(wù)器內(nèi)存中的視頻流數(shù)據(jù)按照索引進(jìn)行分類(lèi),按照視頻流數(shù)據(jù)總數(shù)生成同等數(shù)量的線程,每個(gè)線程運(yùn)行步驟1)中服務(wù)器部署的ffmpeg開(kāi)發(fā)包,并且每個(gè)線程生成多個(gè)緩沖池,用于保存重要的數(shù)據(jù)包幀,進(jìn)行數(shù)據(jù)格式的實(shí)時(shí)轉(zhuǎn)換,緩沖池的數(shù)量可以設(shè)定,每個(gè)線程緩沖池不能超過(guò)20個(gè),轉(zhuǎn)換成功后,將原視頻流數(shù)據(jù)在內(nèi)存中清空,保存新生成的FLV視頻流數(shù)據(jù)N秒鐘,N+1秒后將N秒前生成的 FLV視頻流數(shù)據(jù)也在內(nèi)存中清空,清空的數(shù)據(jù)保存在硬盤(pán)中,直至硬盤(pán)空間剩余20%時(shí)自動(dòng)刪除前部分的視頻流數(shù)據(jù),存在內(nèi)存中的視頻流數(shù)據(jù)用于給用戶查看實(shí)時(shí)錄像,存在硬盤(pán)中的視頻流數(shù)據(jù)用于提供給用戶查看歷史錄像。步驟4)所述的視頻播放是用戶通過(guò)互聯(lián)網(wǎng)訪問(wèn)步驟1)中申請(qǐng)的IP地址A,獲取到步驟2)中生成的視頻流數(shù)據(jù)清單C,從視頻流數(shù)據(jù)清單C中挑選需要觀看的視頻,如查看實(shí)時(shí)錄像,服務(wù)器實(shí)時(shí)將步驟3)轉(zhuǎn)化后存在內(nèi)存中的FLV視頻流數(shù)據(jù)以RTMP流媒體協(xié)議傳輸給用戶使用FLASH PLAYER進(jìn)行播放,如查看歷史錄像,服務(wù)從硬盤(pán)中讀取步驟3)轉(zhuǎn)化后存在硬盤(pán)中的FLV視頻流數(shù)據(jù)以RTMP流媒體協(xié)議傳輸給用戶使用FLASH PLAYER進(jìn)行播放。本發(fā)明的對(duì)播放實(shí)時(shí)視頻監(jiān)控錄像帶來(lái)及大的便利;應(yīng)用了較低的即可成本將傳統(tǒng)視頻系統(tǒng)進(jìn)行優(yōu)化,將其他視頻格式轉(zhuǎn)化為FLASH視頻格式,由于FALSH已被運(yùn)用的廣泛性,F(xiàn)LASH視頻流數(shù)據(jù)可以無(wú)需安裝任何其它插件或程序就可以在PC終端,普通智能手機(jī)終端觀看實(shí)時(shí)視頻,可以很大程度的解決因網(wǎng)絡(luò)原因出現(xiàn)的卡幀、掉幀現(xiàn)象,降低網(wǎng)絡(luò)要求,提高用戶體驗(yàn)質(zhì)量。
圖1為本發(fā)明優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像方法的總體流程圖。圖2為本發(fā)明優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像方法實(shí)施例的處理流程圖。圖3為本發(fā)明優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像方法實(shí)施例的示意圖。
具體實(shí)施例方式下面結(jié)合附圖進(jìn)行進(jìn)一步介紹
本發(fā)明的發(fā)明思想為是將一臺(tái)計(jì)算機(jī)作為轉(zhuǎn)換服務(wù)器,在其上開(kāi)發(fā)一個(gè)轉(zhuǎn)換系統(tǒng),并且與硬盤(pán)錄像機(jī)通過(guò)網(wǎng)絡(luò)層連接,服務(wù)器啟動(dòng)后會(huì)自動(dòng)采集攝像頭數(shù)據(jù),實(shí)時(shí)轉(zhuǎn)錄為FLV 格式,使用RTMP流媒體協(xié)議傳播。實(shí)施例
現(xiàn)需要對(duì)IP地址分別為a、b、c的三個(gè)不同地點(diǎn)的硬盤(pán)錄像機(jī)進(jìn)行實(shí)時(shí)視頻監(jiān)控,采用本發(fā)明的優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法,即
1)、將一臺(tái)計(jì)算機(jī)連入因特網(wǎng),申請(qǐng)固定公網(wǎng)IP地址A,安裝ffmpeg開(kāi)發(fā)包,將需要轉(zhuǎn)換格式的硬盤(pán)錄像機(jī)IP地址a、b、c記錄到列表B中,并以此臺(tái)計(jì)算機(jī)作為服務(wù)器;
2)、服務(wù)器根據(jù)列表B,根據(jù)逐條硬盤(pán)錄像機(jī)IP地址a、b、c分別訪問(wèn)三個(gè)目標(biāo)硬盤(pán)錄像機(jī),獲取存儲(chǔ)在三個(gè)目標(biāo)硬盤(pán)錄像機(jī)中的視頻流數(shù)據(jù),通過(guò)RTMP流媒體協(xié)議進(jìn)行視頻流數(shù)據(jù)傳輸,將三個(gè)目標(biāo)硬盤(pán)錄像機(jī)的視頻流數(shù)據(jù)在服務(wù)器內(nèi)存中分別存儲(chǔ)為Xa、Xb, Xe,分別以硬盤(pán)錄像機(jī)IP地址a、b、c作為索引,并生成視頻流數(shù)據(jù)清單C ;
3)、將存儲(chǔ)在服務(wù)器內(nèi)存中的視頻流數(shù)據(jù)按照索引a、b、c進(jìn)行分類(lèi),統(tǒng)計(jì)共有3個(gè)視頻流數(shù)據(jù),按照視頻流數(shù)據(jù)總數(shù)生成3個(gè)線程,每個(gè)線程運(yùn)行步驟1)中服務(wù)器部署的ffmpeg 開(kāi)發(fā)包,并且每個(gè)線程生成10個(gè)的緩沖池,用于保存重要的數(shù)據(jù)包幀,進(jìn)行視頻流數(shù)據(jù)Xa、 Xb>Xc格式的實(shí)時(shí)轉(zhuǎn)換,轉(zhuǎn)換成功后,將視頻流數(shù)據(jù)fe Jb、)Cc在內(nèi)存中清空,保存新生成的 FLV視頻流數(shù)據(jù)Fa、Fb, FclO秒鐘,11秒后將10秒前生成的FLV視頻流數(shù)據(jù)Fa、Fb, Fc分別記為Fa’ ,Fb\Fc'也在內(nèi)存中清空,清空的數(shù)據(jù)Fa’、!^b’、Fe’保存在硬盤(pán)中,直至硬盤(pán)空間剩余20%時(shí)自動(dòng)刪除前部分的視頻流數(shù)據(jù),存在內(nèi)存中的視頻流數(shù)據(jù)Fa、Fb, Fc用于給用戶查看實(shí)時(shí)錄像,存在硬盤(pán)中的視頻流數(shù)據(jù)1 ’、1 ’、Fe’用于提供給用戶查看歷史錄像;
4)、用戶通過(guò)互聯(lián)網(wǎng)訪問(wèn)步驟1)中申請(qǐng)的IP地址A,獲取到步驟2)中生成的視頻流數(shù)據(jù)清單C,從視頻流數(shù)據(jù)清單C中挑選需要觀看的視頻。查看實(shí)時(shí)錄像,服務(wù)器實(shí)時(shí)將步驟3)轉(zhuǎn)化后存在內(nèi)存中的FLV視頻流數(shù)據(jù)Fa、Fb, Fc以RTMP流媒體協(xié)議傳輸給用戶使用 FLASH PLAYER進(jìn)行播放,例如要查看a地硬盤(pán)錄像機(jī)的實(shí)時(shí)監(jiān)控視頻,則服務(wù)器實(shí)時(shí)將步驟3)轉(zhuǎn)化后存在內(nèi)存中的FLV視頻流數(shù)據(jù)1 以RTMP流媒體協(xié)議傳輸給用戶使用FLASH PLAYER進(jìn)行播放;查看歷史錄像,服務(wù)從硬盤(pán)中讀取步驟3)轉(zhuǎn)化后存在硬盤(pán)中的FLV視頻流數(shù)據(jù)1 ’、1 ’、Fc’以RTMP流媒體協(xié)議傳輸給用戶使用FLASH PLAYER進(jìn)行播放,例如要查看c地硬盤(pán)錄像機(jī)的歷史錄像,則服務(wù)從硬盤(pán)中讀取步驟3)轉(zhuǎn)化后存在硬盤(pán)中的FLV視頻流數(shù)據(jù)Fe’以RTMP流媒體協(xié)議傳輸給用戶使用FLASH PLAYER進(jìn)行播放。 由于優(yōu)化后數(shù)據(jù)量變低,很大程度的解決因網(wǎng)絡(luò)原因出現(xiàn)的卡幀、掉幀現(xiàn)象,降低網(wǎng)絡(luò)要求,提高用戶體驗(yàn)質(zhì)量。
權(quán)利要求
1.一種優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法,其特征在于該方法步驟為1)搭建服務(wù)器;2)視頻獲取;3)格式轉(zhuǎn)換;4)視頻播放;所述的搭建服務(wù)器是將計(jì)算機(jī)配置公網(wǎng)IP地址A、生成記錄需要轉(zhuǎn)換格式的硬盤(pán)錄像機(jī)IP地址的列表B并部署轉(zhuǎn)換軟件后作為服務(wù)器的搭建過(guò)程;所述的視頻獲取是服務(wù)器根據(jù)步驟1的列表B,獲取存儲(chǔ)在目標(biāo)硬盤(pán)錄像機(jī)中的視頻流數(shù)據(jù),以硬盤(pán)錄像機(jī)IP地址作為索引將視頻流數(shù)據(jù)存儲(chǔ)在服務(wù)器內(nèi)存中,并生成視頻流數(shù)據(jù)清單C的過(guò)程;所述的格式轉(zhuǎn)換是將步驟2存儲(chǔ)在服務(wù)器內(nèi)存中的視頻流數(shù)據(jù)按照索引進(jìn)行分類(lèi),按照視頻流數(shù)據(jù)總數(shù)生成同等數(shù)量的線程,由每個(gè)線程進(jìn)行數(shù)據(jù)處理的過(guò)程;所述的視頻播放是用戶通過(guò)互聯(lián)網(wǎng)訪問(wèn)步驟1中的IP地址A,獲取到步驟2中生成的視頻流數(shù)據(jù)清單C,從視頻流數(shù)據(jù)清單C中選擇觀看實(shí)時(shí)視頻或觀看歷史視頻。
2.根據(jù)權(quán)利要求1所述的優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法,其特征在于所述的部署轉(zhuǎn)換軟件為安裝ffmpeg開(kāi)發(fā)包。
3.根據(jù)權(quán)利要求1所述的優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法,其特征在于所述的數(shù)據(jù)處理為運(yùn)行步驟1中服務(wù)器部署的轉(zhuǎn)換軟件,生成緩沖池,用于保存重要的數(shù)據(jù)包幀,進(jìn)行數(shù)據(jù)格式的實(shí)時(shí)轉(zhuǎn)換,轉(zhuǎn)換成功后,將原視頻流數(shù)據(jù)在內(nèi)存中清空,保存新生成的FLV視頻流數(shù)據(jù)N秒鐘,N+1秒后將N秒前生成的FLV視頻流數(shù)據(jù)也在內(nèi)存中清空,清空的視頻流數(shù)據(jù)保存在硬盤(pán)中,直至硬盤(pán)空間剩余20%時(shí)自動(dòng)刪除前部分的視頻流數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法,其特征在于所述的N是可調(diào)整數(shù)值,且最低值為5,最高值為60。
5.根據(jù)權(quán)利要求3所述的優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法,其特征在于所述的緩沖池的數(shù)量可以設(shè)定,每個(gè)線程緩沖池不能超過(guò)20個(gè)。
6.根據(jù)權(quán)利要求1所述的優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法,其特征在于所述的觀看實(shí)時(shí)視頻為服務(wù)器實(shí)時(shí)將步驟3轉(zhuǎn)化后存在內(nèi)存中的FLV視頻流數(shù)據(jù)以RTMP流媒體協(xié)議傳輸給用戶使用FLASH PLAYER進(jìn)行播放。
7.根據(jù)權(quán)利要求1所述的優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法,其特征在于所述的觀看歷史視頻為服務(wù)器從硬盤(pán)中讀取步驟3轉(zhuǎn)化后存在硬盤(pán)中的FLV視頻流數(shù)據(jù)以RTMP流媒體協(xié)議傳輸給用戶使用FLASH PLAYER進(jìn)行播放。
全文摘要
本發(fā)明公開(kāi)了一種優(yōu)化播放實(shí)時(shí)視頻監(jiān)控錄像的方法,它應(yīng)用于實(shí)時(shí)視頻監(jiān)控領(lǐng)域。該方法的主要步驟包括1)搭建服務(wù)器;2)視頻獲??;3)格式轉(zhuǎn)換;4)視頻播放。本發(fā)明的特點(diǎn)是通過(guò)服務(wù)器可以將實(shí)時(shí)視頻監(jiān)控錄像轉(zhuǎn)換格式,讓用戶以FLASH的方式觀看,并且對(duì)攝像頭和硬盤(pán)錄像機(jī)沒(méi)有要求。由于優(yōu)化后數(shù)據(jù)量變低,可以很大程度的解決因網(wǎng)絡(luò)原因出現(xiàn)的卡幀、掉幀現(xiàn)象,降低網(wǎng)絡(luò)要求,提高用戶體驗(yàn)質(zhì)量。
文檔編號(hào)H04N21/436GK102547444SQ201210012480
公開(kāi)日2012年7月4日 申請(qǐng)日期2012年1月16日 優(yōu)先權(quán)日2012年1月16日
發(fā)明者尹東彬 申請(qǐng)人:廣西騁天信息科技有限公司