亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種實(shí)現(xiàn)flv視頻播放的方法及裝置的制作方法

文檔序號(hào):7892093閱讀:183來源:國(guó)知局
專利名稱:一種實(shí)現(xiàn)flv視頻播放的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及多媒體傳輸技術(shù),尤其涉及一種實(shí)現(xiàn)FLV視頻播放的方法及裝置。
背景技術(shù)
目前智能移動(dòng)設(shè)備越來越普遍,并配置了智能操作系統(tǒng),其中android系統(tǒng)是一種主要的智能操作系統(tǒng),自從面世后發(fā)展非常迅速,已成為全球移動(dòng)設(shè)備智能操作系統(tǒng)中應(yīng)用最廣的智能操作系統(tǒng),android系統(tǒng)支持很多視頻格式如3GP、MP4、TS、MKV,但還有一些視頻格式無法支持如FLV,而FLV格式視頻因其自身文件體積小、視頻質(zhì)量好、網(wǎng)絡(luò)下載 速度快成為很多視頻網(wǎng)站的支持,由于android系統(tǒng)卻無法支持FLV格式視頻的播放,這就會(huì)影響用戶對(duì)視頻播放的需求?,F(xiàn)有技術(shù)中解決android系統(tǒng)播放FLV視頻的方法,大多數(shù)都是采用在android系統(tǒng)上移植開源媒體庫(kù)ffmpeg來完成對(duì)FLV文件的解析、解碼、播放。但現(xiàn)有技術(shù)存在很多缺陷如在android系統(tǒng)上移植開源媒體庫(kù)ffmpeg非常復(fù)雜、在android系統(tǒng)上播放FLV文件的硬解問題及與android標(biāo)準(zhǔn)接口對(duì)接很復(fù)雜。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種實(shí)現(xiàn)FLV視頻播放的方法及裝置,可實(shí)現(xiàn)在android系統(tǒng)播放應(yīng)用中播放FLV格式視頻文件,滿足用戶對(duì)FLV格式視頻播放的需求。為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)FLV視頻播放的方法,包括
解析流媒體FLV文件,將該FLV文件轉(zhuǎn)換為android系統(tǒng)支持的文件格式,重構(gòu)所述文件格式流,所述android系統(tǒng)支持的文件格式包括傳輸TS流格式;
將所述重構(gòu)的文件格式流提供給內(nèi)置的播放器;
控制所述內(nèi)置的播放器播放所述重構(gòu)的文件格式流。其中,所述解析FLV文件,將該FLV文件轉(zhuǎn)換為android系統(tǒng)支持的文件格式,重構(gòu)所述文件格式流的步驟包括
接收FLV文件,所述FLV文件包括本地FLV文件和在線FLV文件;
解析所述FLV文件,對(duì)所述FLV音頻數(shù)據(jù)和參數(shù)的解析;
重構(gòu)所述文件格式流,得到android系統(tǒng)支持的文件格式。其中,所述解析所述FLV文件的步驟具體包括
讀取FLV文件頭,并根據(jù)所述FLV文件頭獲取所述FLV文件類型;
讀取音頻標(biāo)簽audio tag,獲取低開銷傳輸復(fù)用Iatm頭,根據(jù)所述Iatm頭構(gòu)建音頻數(shù)據(jù)傳輸流adts頭,其中,所述構(gòu)建adts頭是為音頻解碼提供參數(shù);
讀取音視頻標(biāo)簽tag的頭信息及tag數(shù)據(jù)區(qū)頭,并根據(jù)所述讀取的音視頻tag的頭信息及tag數(shù)據(jù)區(qū)頭獲取時(shí)間戳和時(shí)間偏移,以便于重構(gòu)TS流過程數(shù)據(jù)傳輸流dts、顯示時(shí)間戳數(shù)據(jù)流Pts的計(jì)算。其中,所述重構(gòu)所述文件格式流步驟包括
在視頻數(shù)據(jù)中的關(guān)鍵幀的頭部添加視頻格式sps/pps信息,所述關(guān)鍵幀是指視頻數(shù)據(jù)中第一巾貞;
在所述音視頻巾貞添加adts頭,所述adts頭中巾貞長(zhǎng)度包括所述adts頭長(zhǎng)度。其中,還包括
接收內(nèi)置的播放器發(fā)送的播放控制信息,并根據(jù)所述播放控制信息對(duì)所述FLV文件進(jìn)行控制。其中,所述將所述重構(gòu)的文件格式流提供給內(nèi)置的播放器,包括
建立超文本傳輸協(xié)議服務(wù)http server線程,控制所述http server線程向所述內(nèi)置的播放器發(fā)送定制統(tǒng)一資源定位符URL ;
控制所述http server線程接收所述內(nèi)置的播放器根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求;
控制所述http server線程在驗(yàn)證成功時(shí),向所述內(nèi)置的播放器發(fā)送連接成功信息; 通過所述http server線程將所述重構(gòu)的文件格式流提供給內(nèi)置的播放器。相應(yīng)地,本發(fā)明實(shí)施例還提供了一種實(shí)現(xiàn)FLV視頻播放的裝置,包括解析模塊、連接模塊、播放器,其中,
所述解析模塊,用于解析接受到的FLV文件,將該FLV文件轉(zhuǎn)換為android系統(tǒng)支持的文件格式,重構(gòu)所述文件格式流;
所述連接模塊,用于通過http server線程根據(jù)所述解析模塊重構(gòu)的文件格式流,將所述重構(gòu)的文件格式流提供給所述播放器;
所述播放器,用于根據(jù)所述連接模塊提供的重構(gòu)的文件格式流,控制播放所述重構(gòu)的文件格式流。其中,所述解析模塊包括
接收單元,用于接收FLV文件,所述FLV文件包括本地FLV文件和在線FLV文件;
解析單元,用于根據(jù)所述接收單元接收到的FLV文件,解析該FLV文件,以便重構(gòu)所述文件格式流;
轉(zhuǎn)換單元,用于根據(jù)所述解析單元的解析結(jié)果,將所述FLV文件轉(zhuǎn)換為所述android支持的文件格式。其中,所述解析模塊還包括
控制模塊,用于接收所述播放器發(fā)送的播放控制信息,并根據(jù)所述播放控制信息對(duì)所述FLV文件進(jìn)行控制。其中,所述連接模塊包括
第二控制單元,用于控制所述http server線程向所述播放器發(fā)送定制URL ;
第二接收單元,用于接收所述播放器根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求;
發(fā)送單元,用于根據(jù)所述接收單元接收到的驗(yàn)證請(qǐng)求,在確定所述驗(yàn)證請(qǐng)求成功時(shí),向所述播放器發(fā)送連接成功信息,并將所述重構(gòu)的文件格式流提供給所述的播放器。本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種實(shí)現(xiàn)FLV視頻播放的方法及裝置,有效地解決與android系統(tǒng)接口結(jié)合以及FLV播放的硬解問題,實(shí)現(xiàn)了在android系統(tǒng)播放應(yīng)用中播放FLV視頻,滿足用戶對(duì)FLV視頻播放的需求


為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)FLV視頻播放的方法第一實(shí)施例的流程圖; 圖2是本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)FLV視頻播放的方法第二實(shí)施例的流程 圖3是本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)FLV視播放頻的方法第三實(shí)施例的流程 圖4是本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)FLV視頻播放的裝置的第一實(shí)施例的結(jié)構(gòu)示意
圖5是本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)FLV視頻播放的裝置的第二實(shí)施例的結(jié)構(gòu)示意
圖6是本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)FLV視頻播放的裝置的第三實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供了一種實(shí)現(xiàn)FLV視頻播放的方法及裝置,有效地解決與android系統(tǒng)接口的結(jié)合以及FLV播放的硬解問題,實(shí)現(xiàn)了在android系統(tǒng)中播放FLV視頻。需要說明到是,本發(fā)明實(shí)施例主要是在android2. 3及以上版本中實(shí)現(xiàn)對(duì)FLV視頻播放的支持,方便開發(fā)人員在任意android系統(tǒng)中播放FLV視頻文件。本發(fā)明實(shí)施例中實(shí)現(xiàn)android系統(tǒng)播放FLV視頻的技術(shù)方案需要具備的二個(gè)環(huán)境條件第一,android系統(tǒng)版本必須能夠支持TS流的播放。第二,F(xiàn)LV文件中音視頻所采用的編碼格式必須是android系統(tǒng)本身支持的解碼格式,否則FLV文件會(huì)播放失敗。參見圖1,為本發(fā)明實(shí)施例提供的實(shí)現(xiàn)FLV視頻播放的方法第一實(shí)施例的流程圖。所述方法包括
SlOl,解析流媒體FLV文件,將該FLV文件轉(zhuǎn)換為android系統(tǒng)支持的文件格式,重構(gòu)所述文件格式流,所述android系統(tǒng)支持的文件格式包括傳輸TS流格式;
具體的,本發(fā)明實(shí)施例為了實(shí)現(xiàn)在android系統(tǒng)中播放FLV視頻的功能,需要改變FLV視頻的文件格式,而且必須是android系統(tǒng)能夠支持的文件格式,目前android系統(tǒng)支持的視頻格式包括3GP、MP4、TS、MKVD等,本發(fā)明實(shí)施例中采用TS流格式,即為實(shí)現(xiàn)在android系統(tǒng)中播放FLV視頻的功能,解析所述FLV視頻格式,并將所述FLV視頻格式轉(zhuǎn)變?yōu)門S流格式,用重構(gòu)后的TS流格式作為android系統(tǒng)的內(nèi)置的播放器的源數(shù)據(jù),也就是將所述重構(gòu)的TS流提供給內(nèi)置的播放器,并控制所述內(nèi)置的播放器播放所述重構(gòu)的TS流格式,從而完成在TS流格式的播放,事實(shí)上就完成對(duì)真正數(shù)據(jù)源FLV視頻格式在android系統(tǒng)中的播放。本發(fā)明實(shí)施例中要完成在android系統(tǒng)中播放FLV視頻,包括對(duì)所述FLV視頻的音視頻數(shù)據(jù)的控制、播放控制等,首先需要一個(gè)播放主程序,而且播放主線程在真正進(jìn)入視頻播放過程之前還需要建立一個(gè)后臺(tái)線程,所述后臺(tái)線程通過提供解析轉(zhuǎn)換線程用于解析所述FLV文件,將該FLV文件轉(zhuǎn)換為android系統(tǒng)支持的TS流格式,重構(gòu)所述TS流的文件格式流。S102,將所述重構(gòu)的文件格式流提供給內(nèi)置的播放器;
具體的,本發(fā)明實(shí)施例中為實(shí)現(xiàn)在android系統(tǒng)中播放FLV視頻的功能,提出在android系統(tǒng)中將所述FLV視頻格式轉(zhuǎn)換成TS流格式播放的處理方案,通過后臺(tái)線程解析所述FLV視頻格式,將所述FLV視頻格式轉(zhuǎn)換為android系統(tǒng)支持的TS流格式,并將所述 重構(gòu)的TS流發(fā)送給超文本傳輸協(xié)議服務(wù)http server線程,所述http server線程將接收到的TS格式流作為源數(shù)據(jù)提供給內(nèi)置的播放器,并完成在所述內(nèi)置的播放器中播放TS格式流,所述http server線程是播放主線程建立的,與播放主線程是并行的,而且和SlOl步驟中所述后臺(tái)線程建立的FLV文件解析轉(zhuǎn)換線程也是是并行的,本發(fā)明實(shí)施例通過在android系統(tǒng)中建立的http server線程向內(nèi)置的播放器提供TS流服務(wù),從而完成android系統(tǒng)接口對(duì)接。所述http server線程在完成與android系統(tǒng)中內(nèi)置的播放器接口的對(duì)接后,所述android系統(tǒng)中內(nèi)置的播放器就可以不斷得到所述http server線程提供的TS流數(shù)據(jù),所述連接是指?jìng)鬏斂刂茀f(xié)議tcp連接,即所述http server線程建立后會(huì)接收播放主線程的tcp連接,并處理http驗(yàn)證請(qǐng)求,只有在向播放主線程返回了正確的回應(yīng),才能夠?qū)⑺鯢LV文件解析轉(zhuǎn)換線程過程中得到的TS格式流作為源數(shù)據(jù),提供給所述android系統(tǒng)中內(nèi)置的播放器,這樣就在FLV文件解析轉(zhuǎn)換線程過程中的數(shù)據(jù)處理和內(nèi)置的播放器播放過程中的數(shù)據(jù)播放之間建立起一個(gè)連接,使得FLV文件解析轉(zhuǎn)換線程中的數(shù)據(jù)處理和內(nèi)置播放器播放過程中的數(shù)據(jù)播放是并行的,二者是互不影響的。S103,控制所述內(nèi)置的播放器播放所述重構(gòu)的文件格式流。具體的,本發(fā)明實(shí)施例為了實(shí)現(xiàn)在android系統(tǒng)中播放FLV視頻格式,首先將FLV視頻格式轉(zhuǎn)變?yōu)閍ndroid系統(tǒng)能夠支持的文件格式,所述android系統(tǒng)能夠支持的文件格式包括TS流格式,并通過所述http server線程將所述TS流格式作為數(shù)據(jù)源提供給所述android系統(tǒng)內(nèi)置的播放器,實(shí)現(xiàn)在android系統(tǒng)播放應(yīng)用中播放TS流,完成了 FLV視頻在android系統(tǒng)中的播放,本發(fā)明實(shí)施例中的播放主線程在建立了 http server線程后會(huì)主動(dòng)聯(lián)系所述http server線程的,并判斷所述http server線程是否對(duì)其發(fā)出http驗(yàn)證請(qǐng)求響應(yīng)正確,如果所述http server線程發(fā)出“連接正常”的響應(yīng),表示連接成功建立,貝U所述內(nèi)置的播放器不斷地接收到所述http server線程發(fā)送的TS流,并實(shí)現(xiàn)TS流的播放,完成了對(duì)真正數(shù)據(jù)源FLV視頻文件在android系統(tǒng)中的播放。需要說明的是所述控制所述內(nèi)置的播放器播放所述重構(gòu)的文件格式流的過程包括所述內(nèi)置的播放器判斷當(dāng)前播放的是否是FLV視頻格式,若判斷為是,根據(jù)所述android系統(tǒng)標(biāo)準(zhǔn)接口設(shè)置的URL接收所述內(nèi)置的播放器根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求,如果連接請(qǐng)求成功后發(fā)送http驗(yàn)證請(qǐng)求,若根據(jù)HTTP標(biāo)準(zhǔn)協(xié)議發(fā)出“連接成功”,表示所述http server線程可以為所述播放主線程提供TS流,若判斷為否,退出播放過程。本發(fā)明實(shí)施例中的http server線程在完成與android系統(tǒng)中內(nèi)置的播放器的對(duì)接后,利用所述android系統(tǒng)內(nèi)置的播放器支持播放TS格式流的特點(diǎn),直接從所述httpserver線程中接收TS流數(shù)據(jù),這樣音視頻數(shù)據(jù)的解碼過程是由所述android系統(tǒng)處理,比如所述android系統(tǒng)本身支持高級(jí)音頻編碼AAC,H264 AVC等音視頻編碼格式的硬件解碼,則最終會(huì)通過android系統(tǒng)的應(yīng)用接口中完成調(diào)用,就解決所述FLV音視頻數(shù)據(jù)硬解的問題,另外所述http server線程在完成與android系統(tǒng)中內(nèi)置的播放器的對(duì)接后,所述FLV視頻格式的播放完全由所述android系統(tǒng)完成,開發(fā)過程與普通媒體文件如MP4的播放相同,同時(shí)所述FLV文件解析轉(zhuǎn)換線程以及提供TS流服務(wù)的http server線程與android系統(tǒng)內(nèi)置播放器數(shù)據(jù)播放過程是并行的,不會(huì)對(duì)android系統(tǒng)內(nèi)置的播放器播放TS格式流產(chǎn) 生影響,其播放FLV視頻格式的過程與播放普通媒體文件的過程相同,大大降低開發(fā)難度。參見圖2,為本發(fā)明實(shí)施例提供的實(shí)現(xiàn)FLV視頻播放的方法第二實(shí)施例的流程圖。所述方法包括
S201,接收FLV文件,所述FLV文件包括本地FLV文件和在線FLV文件;
具體的,本發(fā)明實(shí)施例中后臺(tái)線程首先要獲取FLV文件的數(shù)據(jù),只有通過后臺(tái)線程獲取到所述FLV文件才能夠解析轉(zhuǎn)換所述FLV文件,所述獲取的FLV文件包括本地FLV文件和在線FLV文件,其中所述本地FLV文件可以存儲(chǔ)在安全數(shù)據(jù)存儲(chǔ)卡SD卡中,所述在線FLV文件是指來自網(wǎng)絡(luò)。另外,本發(fā)明實(shí)施例中所述后臺(tái)線程在獲取FLV文件的同時(shí)接收android系統(tǒng)內(nèi)置的播放器發(fā)送的控制播放的信息,并根據(jù)該控制播放的信息對(duì)所述FLV文件進(jìn)行控制。S202,解析所述FLV文件,對(duì)所述FLV音頻數(shù)據(jù)和參數(shù)的解析;
具體的,本發(fā)明實(shí)施例中所述FLV文件通常由文件頭(FLV header)和很多文本體(tag)構(gòu)成的,根據(jù)S201獲取到的FLV文件,對(duì)所述獲取到的FLV文件進(jìn)行解析,所述解析包括對(duì)獲取到的FLV文件的進(jìn)行音頻解析和視頻解析,所述對(duì)FLV文件音頻解析是采用高級(jí)音頻編碼AAC編碼、所述對(duì)FLV文件的視頻解析是采用標(biāo)準(zhǔn)視頻編碼H264 AVC編碼,其中所述AAC編碼最常見的格式包括音頻數(shù)據(jù)傳輸層ADTS與低開稍音頻傳輸復(fù)用LATM。本發(fā)明實(shí)施例中解析所述獲取到的FLV文件的過程主要包括讀取所述FLV文件頭和文件體獲取FLV文件的文件類型和Iatm巾貞頭和sps/pps信息、通過所述獲取到的Iatm幀頭構(gòu)建adts幀頭,從而為對(duì)所述FLV文件的音視頻解碼提供參數(shù)、讀取音視頻tag的頭信息及tag數(shù)據(jù)區(qū)頭,從中獲取時(shí)間戳和時(shí)間偏移信息,為重構(gòu)TS流過程dts、pts的計(jì)算提供依據(jù)。需要說明的是,為了保證后臺(tái)線程在對(duì)FLV文件的解析轉(zhuǎn)換過程的有效性,通常將S201步驟中的獲取FLV文件的過程與S202步驟中解析FLV文件的過程結(jié)合來實(shí)現(xiàn)對(duì)所述FLV文件的解析轉(zhuǎn)換,所述對(duì)FLV文件的解析轉(zhuǎn)換是根據(jù)S202步驟中的FLV文件解析線程解析的FLV文件結(jié)構(gòu)元素的大小來決定S201步驟中獲取FLV文件的數(shù)據(jù)長(zhǎng)度,這樣就保證了數(shù)據(jù)讀取指針始終處于FLV文件結(jié)構(gòu)元素的邊緣,這樣既減少獲取FLV文件的數(shù)據(jù)的不確定性,又能夠發(fā)現(xiàn)FLV文件中存在的錯(cuò)誤并能夠及時(shí)進(jìn)行相應(yīng)的處理,避免影響整個(gè)FLV文件解析轉(zhuǎn)換過程及后續(xù)的FLV文件播放。
S203,重構(gòu)所述文件格式流,得到android系統(tǒng)支持的文件格式;
具體的,根據(jù)S202步驟中對(duì)接收到FLV文件進(jìn)行音視頻數(shù)據(jù)及參數(shù)的解析結(jié)果,進(jìn)一步重構(gòu)TS流格式,即將所述FLV文件轉(zhuǎn)換為所述android系統(tǒng)支持的TS流格式,所述TS流重構(gòu)的過程中包括在所述TS流的數(shù)據(jù)中的關(guān)鍵幀頭部添加sps/pps信息、對(duì)TS流的每個(gè)音頻巾貞中添加adts頭,所述adts頭中巾貞長(zhǎng)度包括adts頭的長(zhǎng)度。
S204,將所述重構(gòu)的文件格式流提供給內(nèi)置的播放器;
S205,控制所述內(nèi)置的播放器播放所述重構(gòu)的文件格式流。本發(fā)明實(shí)施例后臺(tái)線程完成對(duì)FLV視頻文件的解析轉(zhuǎn)換,所述對(duì)FLV視頻文件的解析轉(zhuǎn)換包括提供后臺(tái)線程接收FLV文件、根據(jù)所述接收到的FLV文件,解析該FLV文件,以便重構(gòu)所述文件格式流,并將所述FLV文件轉(zhuǎn)換為android支持的TS流格式,通過httpserver線程將該TS流作為數(shù)據(jù)源提供給內(nèi)置的播放器,實(shí)現(xiàn)在android系統(tǒng)中播放TS流,實(shí)現(xiàn)了對(duì)真正數(shù)據(jù)源FLV文件在android系統(tǒng)中的播放。參見圖3,圖3是本發(fā)明實(shí)施例提供的實(shí)現(xiàn)FLV視頻播放的方法第三實(shí)施例的流程圖。所述方法包括
S301,解析流媒體FLV文件,將該FLV文件轉(zhuǎn)換為android系統(tǒng)支持的文件格式,重構(gòu)所述文件格式流,所述android系統(tǒng)支持的文件格式包括傳輸TS流格式;
S302,建立超文本傳輸協(xié)議服務(wù)http server線程,控制所述http server線程向所述內(nèi)置的播放器發(fā)送定制統(tǒng)一資源定位符URL ;
具體的,本發(fā)明實(shí)施例中的播放主線程在建立http server線程建立之后會(huì)與所述http server線程建立tcp聯(lián)系,所述http server線程成功建立后會(huì)向所述內(nèi)置的播放器發(fā)送定制統(tǒng)一資源定位符URL,所述定制的URL可以為如下格式http://localhost: [port]或 http://127. 0. 0. I: [port],所述 http server 的 URL 可以通過android系統(tǒng)標(biāo)準(zhǔn)接口完成設(shè)置。S303,控制所述http server線程接收所述內(nèi)置的播放器根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求;
具體的,本發(fā)明實(shí)施例中http server線程是由播放主線程建立的,所述播放主線程作為http server的客戶端,通過連接http server完成與android系統(tǒng)內(nèi)置的播放器的接口對(duì)接,所述http server線程啟動(dòng)后,等待所述播放主線程的tcp連接請(qǐng)求,并根據(jù)所述android系統(tǒng)標(biāo)準(zhǔn)接口設(shè)置的URL接收所述內(nèi)置的播放器根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求,所述http server線程根據(jù)HTTP標(biāo)準(zhǔn)協(xié)議發(fā)出“連接成功”,表示所述httpserver線程可以為所述播放主線程提供TS流,所述http server線程是為了在FLV文件解析轉(zhuǎn)換線程的數(shù)據(jù)處理過程和FLV播放主線程的視頻播放過程之間建立數(shù)據(jù)對(duì)接,使所述http server線程提供TS流服務(wù)完成與所述FLV播放主線程的接口對(duì)接。 本發(fā)明實(shí)施例中所述http server線程是實(shí)現(xiàn)與所述android系統(tǒng)接口對(duì)接的關(guān)鍵,播放主線程通過調(diào)用媒體播放器MediaPlayer接口中的設(shè)置數(shù)據(jù)源SetDataSource (string path)設(shè)置URL,并通過定制的URL連接所述http server線程,從而建立FLV播放主線程和FLV解析轉(zhuǎn)換線程之間的聯(lián)系,實(shí)現(xiàn)了 FLV播放主線程的數(shù)據(jù)播放和FLV解析轉(zhuǎn)換線程的數(shù)據(jù)分析之間的數(shù)據(jù)對(duì)接。S304,控制所述http server線程在驗(yàn)證成功時(shí),向所述內(nèi)置的播放器發(fā)送連接成功信息;
具體的,本發(fā)明實(shí)施例中http server線程是由播放主線程建立的,所述http server線程啟動(dòng)后,等待所述播放主線程的tcp連接請(qǐng)求,并根據(jù)所述android系統(tǒng)標(biāo)準(zhǔn)接口設(shè)置的URL接收所述內(nèi)置的播放器根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求,所述http server線程在驗(yàn)證成功時(shí),向所述內(nèi)置的播放器發(fā)送連接成功信息,即所述http server線程根據(jù)HTTP標(biāo)準(zhǔn)協(xié)議發(fā)出“連接成功”,表示所述http server線程可以將所述TS流作為源數(shù)據(jù)流提供給所述android系統(tǒng)內(nèi)置的播放器需要說明的是,本發(fā)明實(shí)施例中播放主線程通過調(diào)用Me d i aP I ay er接口中的SetDataSource (string path)設(shè)置URL,實(shí)現(xiàn)了 FLV播放主線程的數(shù)據(jù)播放和FLV解析轉(zhuǎn)換線程的數(shù)據(jù)分析之間的數(shù)據(jù)對(duì)接,但是真正的對(duì)接過程是在setDataSource (string path)和prepare ()兩個(gè)方法內(nèi)部完成的,也就是涉及到android標(biāo)準(zhǔn)接口的內(nèi)部實(shí)現(xiàn)的,因此在本發(fā)明實(shí)施例中只需要寫明是通過調(diào)用MediaPlayer接口中setDataSource (stringpath)的方法即可,根據(jù)S304判斷播放主線程的MediaPlayer播放準(zhǔn)備成功,所述httpserver接收所述FLV解析轉(zhuǎn)換線程重構(gòu)的TS流,并將所述TS流作為源數(shù)據(jù)提供給所述FLV播放主線程,F(xiàn)LV播放主線程的MediaPlayer調(diào)用接口 start ()開始播放。S305,通過所述http server線程將所述重構(gòu)的文件格式流提供給內(nèi)置的播放器。S306,控制所述內(nèi)置的播放器播放所述重構(gòu)的文件格式流。本發(fā)明實(shí)施例在android系統(tǒng)中建立http server線程目的就是通過httpserver線程在FLV文件解析轉(zhuǎn)換線程和播放主線程之間建立了一個(gè)連接,使得FLV文件解析轉(zhuǎn)換線程中的數(shù)據(jù)處理和播放主線程中的數(shù)據(jù)播放是并行的,二者是互不影響的,因此所述播放主線程只要完成連接http server線程就可以得到不斷得到http server線程提供的ts流,有效地與android系統(tǒng)的控制播放接口的對(duì)接,使得FLV播放控制操作完全由播放主線程完成的,而且所述FLV文件解析轉(zhuǎn)換線程、http server線程的建立不會(huì)對(duì)FLV播放主線程的播放產(chǎn)生影響,所述FLV播放過程與android系統(tǒng)本身支持的3GP、MP4其他普通媒體文件的播放過程完全相同,這樣就降低了開發(fā)的難度。參見圖4,圖4是本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)FLV視頻播放的裝置的第一實(shí)施例的結(jié)構(gòu)示意圖。如圖4所示,包括解析模塊10、連接模塊20、播放器30,其中,
所述解析模塊10,用于解析接收到的FLV文件,將該FLV文件轉(zhuǎn)換為android系統(tǒng)支持的文件格式,重構(gòu)所述文件格式流;
具體的,本發(fā)明實(shí)施例中解析模塊10用于解析接收到的FLV文件,并將所述FLV文件轉(zhuǎn)換為android系統(tǒng)支持的文件格式,重構(gòu)所述文件格式流,就是為了實(shí)現(xiàn)在android系統(tǒng)中播放FLV視頻的功能,改變FLV視頻的文件格式,而且必須是android系統(tǒng)能夠支持的文件格式如TS流格式,通過所述解析模塊10解析得到的重構(gòu)后的TS流格式作為android系統(tǒng)的內(nèi)置的播放器的源數(shù)據(jù),完成TS流格式的播放,事實(shí)上完成FLV視頻格式在android系統(tǒng)中的播放。所述連接模塊20,用于通過http server線程接收所述解析模塊10重構(gòu)的文件格式流,將所述重構(gòu)的文件格式流提供給所述播放器30 ;
具體的,本發(fā)明實(shí)施例中的連接模塊20是通過http server線程接收所述解析模塊10解析轉(zhuǎn)換后得到的TS流,并將所述TS流作為源數(shù)據(jù)提供給所述播放器模塊30,其中所述連接模塊20通過http server線程接收播放主線程的tcp連接,并處理http驗(yàn)證請(qǐng)求,只有在所述驗(yàn)證請(qǐng)求得到正確的回應(yīng),所述連接模塊20才能夠?qū)⑺鯰S流作為源數(shù)據(jù)提供給播放主線程,所述播放主線程只要完成了連接http server線程就可以得到TS流,這樣就在解析模塊10和播放器30之間建立了一個(gè)連接,也就是所述解析模塊10中對(duì)FLV文件解析轉(zhuǎn)換線程中的數(shù)據(jù)處理和所述播放器的數(shù)據(jù)播放是并行的,二者是互不影響的,在本發(fā)明實(shí)施例中所述連接模塊20就是通過http server線程完成與android系統(tǒng)中播放器30完成對(duì)接,從而使得連接模塊20通過http server線程將所述解析模塊10中得到的TS流作為源數(shù)據(jù)提供給所述播放器30。所述播放器30,用于根據(jù)所述連接模塊20提供的重構(gòu)的文件格式流,控制播放所述重構(gòu)的文件格式流。
具體的,本發(fā)明實(shí)施例為了實(shí)現(xiàn)在android系統(tǒng)中播放FLV視頻格式,首先通過解析模塊10將FLV視頻格式轉(zhuǎn)變?yōu)閍ndroid系統(tǒng)能夠支持的TS流格式,連接模塊20通過http server線程將所述TS流格式作為數(shù)據(jù)源提供給所述android系統(tǒng)中內(nèi)置的播放器30,實(shí)現(xiàn)在android系統(tǒng)播放應(yīng)用中播放TS流,完成了 FLV視頻在android系統(tǒng)中的播放。需要說明的是所述播放器30播放所述重構(gòu)的文件格式流的過程包括所述播放器30判斷當(dāng)前播放的是否是FLV視頻格式,若判斷為是,根據(jù)所述android系統(tǒng)標(biāo)準(zhǔn)接口設(shè)置的URL接收所述播放器30根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求如果連接請(qǐng)求成功后發(fā)送http驗(yàn)證請(qǐng)求,若http根據(jù)HTTP標(biāo)準(zhǔn)協(xié)議發(fā)出“連接成功”,表示所述httpserver線程可以為所述播放主線程提供TS流,若判斷為否,退出播放過程。本發(fā)明實(shí)施例中的播放主線程在建立了 http server線程后會(huì)主動(dòng)聯(lián)系所述http server線程的,并判斷所述http server線程是否對(duì)其發(fā)出http驗(yàn)證請(qǐng)求響應(yīng)正確,如果所述http server線程發(fā)出“連接正常”的響應(yīng),表示連接成功建立,則所述內(nèi)置的播放器不斷地接收到所述http server線程發(fā)送的TS流,并實(shí)現(xiàn)TS流的播放,完成了對(duì)真正數(shù)據(jù)源FLV視頻文件在android系統(tǒng)中的播放。本發(fā)明實(shí)施例中的連接模塊20通過http server線程完成與android系統(tǒng)中播放器30的對(duì)接后,所述播放器30直接從所述連接模塊20接收TS流數(shù)據(jù),這樣音視頻數(shù)據(jù)的解碼過程完全由所述android系統(tǒng)完成,解決了所述FLV音視頻數(shù)據(jù)硬解的問題,并且其開發(fā)過程與普通媒體文件如MP4的播放相同,同時(shí)所述解析模塊10的FLV文件解析轉(zhuǎn)換線程以及提供TS流服務(wù)的連接模塊20與android系統(tǒng)中播放器30的數(shù)據(jù)播放過程是并行的,不會(huì)對(duì)android系統(tǒng)中的播放器30播放TS格式流產(chǎn)生影響,其播放FLV視頻格式的過程與播放普通媒體文件的過程相同,降低開發(fā)難度。參見圖5,圖5是本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)FLV視頻播放裝置的第二實(shí)施例的結(jié)構(gòu)示意圖。如圖5所示,所述實(shí)現(xiàn)FLV視頻播放裝置除包括上述第一實(shí)施例中實(shí)現(xiàn)播放FLV視頻裝置中的連接模塊20、播放器30外,所述解析模塊10進(jìn)一步包括接收單元101、解析單元102、轉(zhuǎn)換單元103,控制單元104,其中,
所述接收單元101,用于接收FLV文件,所述FLV文件包括本地FLV文件和在線FLV文
件;
具體的,接收單元101獲取FLV文件,只有通過接收單元101獲取到FLV文件后才能夠通過后臺(tái)線程解析、轉(zhuǎn)換FLV文件,所述接收單元101獲取的FLV文件包括本地FLV文件和在線FLV文件,其中所述本地FLV文件可以存儲(chǔ)在安全數(shù)據(jù)存儲(chǔ)SD卡上。所述解析單元102,用于根據(jù)所述接收單元101接收到的接收到的FLV文件,解析該FLV文件,以便重構(gòu)所述文件格式流;
具體的,在本發(fā)明實(shí)施例中解析單元102根據(jù)所述接收單元101獲取到的FLV文件,對(duì)所述接收單元101接收到的FLV文件進(jìn)行解析,所述解析包括對(duì)接收單元101獲取到的FLV 文件的音頻解析和視頻解析,解析單元102對(duì)接收單元101接收到的FLV文件的解析包括讀取FLV文件頭獲取文件的文件類型、讀取FLV文件的音頻tag,獲取Iatm幀頭和sps/pps信息、再由所述獲取的Iatm幀頭構(gòu)建adts幀頭,從而為音頻解碼和視頻解碼提供參數(shù)、讀取音視頻tag的頭信息及tag數(shù)據(jù)區(qū)頭,從中獲取時(shí)間戳和時(shí)間偏移信息,為重構(gòu)TS流過程dts、pts計(jì)算提供依據(jù)。所述轉(zhuǎn)換單元103,根據(jù)所述解析單元102所解析重構(gòu)的文件格式流,將所述FLV文件轉(zhuǎn)換為所述android支持的文件格式。具體的,根據(jù)所述解析單元102的解析結(jié)果,將所述接收單元101接收到的FLV文件轉(zhuǎn)換為所述android支持的文件格式,也就是所述轉(zhuǎn)換單元103根據(jù)所述解析單元102對(duì)所述接收單元101接收的到的FLV文件轉(zhuǎn)換進(jìn)行音視頻數(shù)據(jù)及參數(shù)的解析結(jié)果,進(jìn)一步重構(gòu)TS流格式,即所述轉(zhuǎn)換單元103將所述FLV文件轉(zhuǎn)換為android系統(tǒng)支持的TS流格式。所述控制單元104,用于接收播放器30發(fā)送的播放控制信息,并根據(jù)所述播放控制信息對(duì)所述FLV文件進(jìn)行控制。需要說明的是,為了保證后臺(tái)線程在對(duì)FLV文件的解析轉(zhuǎn)換過程的有效性,通常將接收單元101獲取FLV文件的過程和解析單元102的解析所述獲取到的FLV文件的過程相結(jié)合,由解析單元102解析的FLV文件結(jié)構(gòu)元素的大小決定所述接收單元101獲取的FLV文件的數(shù)據(jù)長(zhǎng)度,這樣就保證了數(shù)據(jù)讀取指針始終處于FLV文件結(jié)構(gòu)元素的邊緣,這樣既減少接收單元對(duì)獲取的FLV文件數(shù)據(jù)的不確定性,又能夠發(fā)現(xiàn)所獲取的FLV文件存在問題,同時(shí)避免影響整個(gè)FLV文件解析轉(zhuǎn)換過程及后續(xù)的FLV文件播放。本發(fā)明實(shí)施例分析了后臺(tái)線程是如何完成對(duì)FLV視頻文件的解析轉(zhuǎn)換的過程,所述FLV文件解析轉(zhuǎn)換過程包括接收單元101獲取FLV文件、解析單元102根據(jù)所述接收單元101獲取到的FLV文件,解析該獲取到的FLV文件、轉(zhuǎn)換單元103根據(jù)所述解析單元102的解析結(jié)果將所述FLV文件轉(zhuǎn)換為所述android支持的TS流格式,并將所述TS流為數(shù)據(jù)源提供給FLV播放主線程,即在android系統(tǒng)播放應(yīng)用中播放該TS流,這樣也就是完成了對(duì)真正數(shù)據(jù)源FLV文件在android系統(tǒng)中的播放。參見圖6,圖6是本發(fā)明實(shí)施例提供的一種實(shí)現(xiàn)FLV視頻播放裝置的第三實(shí)施例的結(jié)構(gòu)示意圖。如圖6所示,所述實(shí)現(xiàn)FLV視頻播放裝置除包括上述第一上述例中實(shí)現(xiàn)FLV視頻播放裝置中的解析模塊10、播放器30外,所述連接模塊20進(jìn)一步包括第二控制單元201、第二接收單元202、發(fā)送單元203,其中,
所述第二控制單元201,用于控制所述http server線程向所述播放器30發(fā)送定制
URL ;
具體的,本發(fā)明實(shí)施例中的連接模塊20通過http server線程完成與android系統(tǒng)中播放器30的對(duì)接后,所述播放器30在所述連接模塊20建立http server線程之后會(huì)與所述連接模塊20建 立tcp聯(lián)系,并通過控制單元201向所述播放器模塊20發(fā)送定制統(tǒng)一資源定位符URL,所述定制的URL可以為如下格式http://localhost: [port]或http://127. O. O. I: [port],所述向所述播放器模塊20發(fā)送的定制統(tǒng)一資源定位符URL可以通過android系統(tǒng)標(biāo)準(zhǔn)接口完成設(shè)置。所述第二接收單元202,用于接收所述播放器模塊30根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求;
具體的,本發(fā)明實(shí)施例中的http server線程是由所述播放器30建立的,所述播放器30作為連接r模塊20的客戶端,通過http server線程完成與android系統(tǒng)中的播放器30接口對(duì)接,所述連接模塊20在http server線程啟動(dòng)后,等待所述播放器30的tcp連接請(qǐng)求,并通過所述第二接收單元202接收所述播放器30根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求,所述連接模塊20根據(jù)HTTP標(biāo)準(zhǔn)協(xié)議發(fā)出“連接成功”,表示所述連接模塊20可以為所述播放器30提供TS流,使所述連接模塊20提供TS流服務(wù)完成與所述播放器30的接口對(duì)接。所述發(fā)送單元203,用于根據(jù)所述接收單元202接收到的驗(yàn)證請(qǐng)求,在確定所述驗(yàn)證請(qǐng)求成功時(shí),向所述播放器30發(fā)送連接成功信息,并將所述重構(gòu)的文件格式流提供給所述播放器模塊30。具體的,本發(fā)明實(shí)施例中所述http server線程是連接模塊20實(shí)現(xiàn)與所述android系統(tǒng)中播放器30接口對(duì)接的關(guān)鍵,所述連接模塊20在http server線程啟動(dòng)后,等待所述播放器30的tcp連接請(qǐng)求,并根據(jù)所述接收單元202接收到的所述播放器30根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求,在確定所述驗(yàn)證請(qǐng)求成功時(shí),通過所述發(fā)送單元203向所述播放器30發(fā)送連接成功信息,即所述連接模塊20根據(jù)HTTP標(biāo)準(zhǔn)協(xié)議發(fā)出“連接成功”,表示所述連接模塊20可以將所述TS流作為源數(shù)據(jù)流提供給所述android系統(tǒng)中的播放器30,并將所述播放器模塊30中實(shí)現(xiàn)播放TS格式流。本發(fā)明實(shí)施例的連接模塊20通過http server線程接收播放器30的tcp連接,并處理http驗(yàn)證請(qǐng)求,只有在所述驗(yàn)證請(qǐng)求得到正確的回應(yīng),所述連接模塊20才能夠?qū)⑺鯰S流作為源數(shù)據(jù)提供給播放器30,通過連接模塊20在解析模塊10的解析轉(zhuǎn)換過程和播放器模塊30的播放過程之間建立了一個(gè)連接,也就是說解析模塊10的文件解析轉(zhuǎn)換線程中的數(shù)據(jù)處理和播放器30的數(shù)據(jù)播放是并行的,二者是互不影響的,因此所述播放器30只要完成連接連接模塊20就可以得到不斷得到連接模塊20提供的ts流,這樣就有效地與android系統(tǒng)的播放器30接口的對(duì)接,使得FLV播放制操作完全由播放器30完成的,而且所述FLV文件解析轉(zhuǎn)換線程、http server線程的建立不會(huì)對(duì)所述播放器30播放FLV視頻格式的播放產(chǎn)生影響,所述FLV播放過程與android系統(tǒng)本身支持的3GP、MP4其他普通媒體文件的播放過程完全相同,這樣就降低了開發(fā)的難度。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以全部通過硬件來實(shí)施?;谶@樣的理解,本發(fā)明的技術(shù)方案對(duì)背景技術(shù)做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
以上所揭露的僅為本發(fā)明一種較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍
權(quán)利要求
1.一種實(shí)現(xiàn)FLV視頻播放的方法,其特征在于,包括 解析流媒體FLV文件,將該FLV文件轉(zhuǎn)換為android系統(tǒng)支持的文件格式,重構(gòu)所述文件格式流,所述android系統(tǒng)支持的文件格式包括傳輸TS流格式; 將所述重構(gòu)的文件格式流提供給內(nèi)置的播放器; 控制所述內(nèi)置的播放器播放所述重構(gòu)的文件格式流。
2.如權(quán)利要求I所述的方法,其特征在于,所述解析FLV文件,將該FLV文件轉(zhuǎn)換為android系統(tǒng)支持的文件格式,重構(gòu)所述文件格式流的步驟包括 接收FLV文件,所述FLV文件包括本地FLV文件和在線FLV文件; 解析所述FLV文件,對(duì)所述FLV音頻數(shù)據(jù)和參數(shù)的解析; 重構(gòu)所述文件格式流,得到android系統(tǒng)支持的文件格式。
3.如權(quán)利要求2所述的方法,其特征在于,所述解析所述FLV文件的步驟具體包括 讀取FLV文件頭,并根據(jù)所述FLV文件頭獲取所述FLV文件類型; 讀取音頻標(biāo)簽audio tag,獲取低開銷傳輸復(fù)用Iatm頭,根據(jù)所述Iatm頭構(gòu)建音頻數(shù)據(jù)傳輸流adts頭,其中,所述構(gòu)建adts頭是為音頻解碼提供參數(shù); 讀取音視頻標(biāo)簽tag的頭信息及tag數(shù)據(jù)區(qū)頭,并根據(jù)所述讀取的音視頻tag的頭信息及tag數(shù)據(jù)區(qū)頭獲取時(shí)間戳和時(shí)間偏移,以便于重構(gòu)TS流過程數(shù)據(jù)傳輸流dts、顯示時(shí)間戳數(shù)據(jù)流Pts的計(jì)算。
4.如權(quán)利要求2所述的方法,其特征在于,所述重構(gòu)所述文件格式流步驟包括 在視頻數(shù)據(jù)中的關(guān)鍵幀的頭部添加視頻格式sps/pps信息,所述關(guān)鍵幀是指視頻數(shù)據(jù)中第一巾貞; 在所述音視頻巾貞添加adts頭,所述adts頭中巾貞長(zhǎng)度包括所述adts頭長(zhǎng)度。
5.如權(quán)利要求2所述的方法,其特征在于,還包括 接收內(nèi)置的播放器發(fā)送的播放控制信息,并根據(jù)所述播放控制信息對(duì)所述FLV文件進(jìn)行控制。
6.如權(quán)利要求I所述的方法,其特征在于,所述將所述重構(gòu)的文件格式流提供給內(nèi)置的播放器,包括 建立超文本傳輸協(xié)議服務(wù)http server線程,控制所述http server線程向所述內(nèi)置的播放器發(fā)送定制統(tǒng)一資源定位符URL ; 控制所述http server線程接收所述內(nèi)置的播放器根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求; 控制所述http server線程在驗(yàn)證成功時(shí),向所述內(nèi)置的播放器發(fā)送連接成功信息; 通過所述http server線程將所述重構(gòu)的文件格式流提供給內(nèi)置的播放器。
7.一種實(shí)現(xiàn)FLV視頻播放的裝置,其特征在于,包括解析模塊、連接模塊、播放器,其中, 所述解析模塊,用于解析接受到的FLV文件,將該FLV文件轉(zhuǎn)換為android系統(tǒng)支持的文件格式,重構(gòu)所述文件格式流; 所述連接模塊,用于通過http server線程接收所述解析模塊重構(gòu)的文件格式流,將所述重構(gòu)的文件格式流提供給所述播放器; 所述播放器,用于根據(jù)所述連接模塊提供的重構(gòu)的文件格式流,控制播放所述重構(gòu)的文件格式流。
8.如權(quán)利要求7所述的裝置,其特征在于,所述解析模塊包括 接收單元,用于接收FLV文件,所述FLV文件包括本地FLV文件和在線FLV文件; 解析單元,用于根據(jù)所述接收單元接收到的FLV文件,解析該FLV文件,以便重構(gòu)所述文件格式流; 轉(zhuǎn)換單元,用于根據(jù)所述解析單元的解析結(jié)果,將所述FLV文件轉(zhuǎn)換為所述android支持的文件格式。
9.如權(quán)利要求8所述的裝置,其特征在于,所述解析模塊還包括 控制模塊,用于接收所述播放器發(fā)送的播放控制信息,并根據(jù)所述播放控制信息對(duì)所述FLV文件進(jìn)行控制。
10.如權(quán)利要求7所述的裝置,其特征在于,所述連接模塊包括 第二控制單元,用于控制所述http server線程向所述播放器發(fā)送定制URL ; 第二接收單元,用于接收所述播放器根據(jù)所述定制URL發(fā)送的HTTP驗(yàn)證請(qǐng)求; 發(fā)送單元,用于根據(jù)所述接收單元接收到的驗(yàn)證請(qǐng)求,在確定所述驗(yàn)證請(qǐng)求成功時(shí),向所述播放器發(fā)送連接成功信息,并將所述重構(gòu)的文件格式流提供給所述的播放器。
全文摘要
本發(fā)明公開了一種實(shí)現(xiàn)FLV視頻播放的方法,所述方法包括解析流媒體FLV文件,將該FLV文件轉(zhuǎn)換為android系統(tǒng)支持的文件格式,重構(gòu)所述文件格式流,所述android系統(tǒng)支持的文件格式包括傳輸TS流格式;將所述重構(gòu)的文件格式流提供給內(nèi)置的播放器;控制所述內(nèi)置的播放器播放所述重構(gòu)的文件格式流。本發(fā)明還提供了一種實(shí)現(xiàn)播放FLV視頻的裝置。采用本發(fā)明實(shí)施例,可實(shí)現(xiàn)android系統(tǒng)在播放應(yīng)用中播放FLV視頻文件,滿足用戶對(duì)FLV視頻播放的需求。
文檔編號(hào)H04N21/4402GK102630059SQ20121007907
公開日2012年8月8日 申請(qǐng)日期2012年3月23日 優(yōu)先權(quán)日2012年3月23日
發(fā)明者鄭雙喜 申請(qǐng)人:深圳創(chuàng)維數(shù)字技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1