獲取視頻播放器異常的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉計(jì)算機(jī)領(lǐng)域,具體而言,涉及一種獲取視頻播放器異常的方法及裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)環(huán)境的不斷升級、移動(dòng)設(shè)備性能的持續(xù)提高,越來越多的用戶選擇在手機(jī)上觀看視頻。在手機(jī)上觀看視頻,就需要首先安裝視頻播放器(視頻客戶端);用戶在使用視頻播放器播放視頻的過程中,經(jīng)常會(huì)遇到視頻播放器的兩類出錯(cuò):視頻播放器出現(xiàn)異常然后崩潰、視頻播放過程中出現(xiàn)的視頻播放錯(cuò)誤。面對上述錯(cuò)誤,現(xiàn)有的視頻播放器一般會(huì)捕獲異常和識別出視頻播放錯(cuò)誤,然后將異常信息以及播放錯(cuò)誤信息上傳至服務(wù)器,以便于開發(fā)設(shè)計(jì)人員分析錯(cuò)誤原因并改進(jìn)視頻播放器。
[0003]需要說明的是,上述現(xiàn)有的視頻播放器解決播放器出錯(cuò)的方案會(huì)出現(xiàn)以下缺陷:
[0004](1)導(dǎo)致視頻播放器出現(xiàn)的崩潰的異常的類型一般分為視頻播放器底層(C/C++語言層面)的異常與視頻播放器上層(JAVA語言層面)的異常,現(xiàn)有的視頻播放器只能捕捉部分類型的異常,不能監(jiān)測到所有類型的異常,導(dǎo)致異常監(jiān)測結(jié)果不準(zhǔn)確。
[0005](2)在視頻播放器從啟動(dòng)至播放視頻結(jié)束的過程中,現(xiàn)有的視頻播放器往往不能將捕獲的異常與播放錯(cuò)誤信息同時(shí)上傳至服務(wù)器,導(dǎo)致播放器出錯(cuò)的監(jiān)測結(jié)果不準(zhǔn)確。
[0006]針對上述現(xiàn)有技術(shù)中現(xiàn)有技術(shù)視頻客戶端無法監(jiān)測到所有類型的異常,導(dǎo)致異常監(jiān)測結(jié)果不準(zhǔn)確的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0007]本發(fā)明實(shí)施例提供了一種獲取視頻播放器異常的方法及裝置,以至少解決現(xiàn)有技術(shù)視頻客戶端無法監(jiān)測到所有類型的異常,導(dǎo)致異常監(jiān)測結(jié)果不準(zhǔn)確的技術(shù)問題。
[0008]根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種獲取視頻播放器異常的方法,包括:當(dāng)監(jiān)聽到視頻播放器在運(yùn)行過程中發(fā)生異常時(shí),獲取捕捉到的異常信息;根據(jù)異常信息確定異常的類型,異常的類型至少包括:視頻播放器的底層異常和/或上層異常;根據(jù)異常的類型調(diào)用視頻播放器內(nèi)部對應(yīng)的回調(diào)函數(shù);使用回調(diào)函數(shù)處理異常信息,生成異常監(jiān)測結(jié)果。
[0009]根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種獲取視頻播放器異常的裝置,包括:第一獲取單元,用于當(dāng)監(jiān)聽到視頻播放器在運(yùn)行過程中發(fā)生異常時(shí),獲取捕捉到的異常信息;第一確定單元,用于根據(jù)異常信息確定異常的類型,異常的類型至少包括:視頻播放器的底層異常和/或上層異常;調(diào)用單元,用于根據(jù)異常的類型調(diào)用視頻播放器內(nèi)部對應(yīng)的回調(diào)函數(shù);處理單元,用于使用回調(diào)函數(shù)處理異常信息,生成異常監(jiān)測結(jié)果。
[0010]在本發(fā)明實(shí)施例中,采用當(dāng)監(jiān)聽到視頻播放器在運(yùn)行過程中發(fā)生異常時(shí),獲取捕捉到的異常信息;根據(jù)異常信息確定異常的類型,異常的類型至少包括:視頻播放器的底層異常和/或上層異常;根據(jù)異常的類型調(diào)用視頻播放器內(nèi)部對應(yīng)的回調(diào)函數(shù);使用回調(diào)函數(shù)處理異常信息,生成異常監(jiān)測結(jié)果,解決了現(xiàn)有技術(shù)視頻客戶端無法監(jiān)測到所有類型的異常,導(dǎo)致異常監(jiān)測結(jié)果不準(zhǔn)確的技術(shù)問題。
【附圖說明】
[0011]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0012]圖1是本發(fā)明實(shí)施例的一種獲取視頻播放器異常的方法的計(jì)算機(jī)終端的硬件結(jié)構(gòu)框圖;
[0013]圖2是根據(jù)本發(fā)明實(shí)施例的一種獲取視頻播放器異常的方法的流程示意圖;
[0014]圖3是根據(jù)本發(fā)明實(shí)施例的一種可選的獲取視頻播放器異常的方法的示意圖;
[0015]圖4是根據(jù)本發(fā)明實(shí)施例的一種可選的獲取視頻播放器異常的方法的示意圖;
[0016]圖5是根據(jù)本發(fā)明實(shí)施例的一種獲取視頻播放器異常的裝置的結(jié)構(gòu)示意圖;
[0017]圖6是根據(jù)本發(fā)明實(shí)施例的一種可選的獲取視頻播放器異常的裝置的結(jié)構(gòu)示意圖;
[0018]圖7是根據(jù)本發(fā)明實(shí)施例的一種可選的獲取視頻播放器異常的裝置的結(jié)構(gòu)示意圖;
[0019]圖8是根據(jù)本發(fā)明實(shí)施例的一種可選的獲取視頻播放器異常的裝置的結(jié)構(gòu)示意圖;
[0020]圖9是根據(jù)本發(fā)明實(shí)施例的一種可選的獲取視頻播放器異常的裝置的結(jié)構(gòu)示意圖;
[0021]圖10是根據(jù)本發(fā)明實(shí)施例的一種可選的獲取視頻播放器異常的裝置的結(jié)構(gòu)示意圖;
[0022]圖11是根據(jù)本發(fā)明實(shí)施例的一種可選的獲取視頻播放器異常的裝置的結(jié)構(gòu)示意圖;
[0023]圖12是根據(jù)本發(fā)明實(shí)施例的一種可選的獲取視頻播放器異常的裝置的結(jié)構(gòu)示意圖;以及
[0024]圖13是根據(jù)本發(fā)明實(shí)施例的一種可選的獲取視頻播放器異常的裝置的結(jié)構(gòu)示意圖。
[0025]圖14是根據(jù)本發(fā)明實(shí)施例的一種計(jì)算機(jī)終端的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0026]為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0027]需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0028]本申請中涉及到的名詞解釋如下:
[0029]視頻播放器:是指能夠播放以數(shù)字信號形式存儲(chǔ)的視頻流的軟件。
[0030]異常上報(bào):視頻播放器客戶端在手機(jī)上運(yùn)行過程中,由于種種原因?qū)е碌?,客戶端在運(yùn)行過程中出現(xiàn)崩潰的異常。導(dǎo)致崩潰的異常一般有兩類:一種是客戶端底層的C/C++語言層面的異常,另一種是客戶端上層未捕捉處理的異常。這兩種異常的信息通過網(wǎng)絡(luò)發(fā)送給運(yùn)營服務(wù)器的過程,叫異常上報(bào)。
[0031 ]播放錯(cuò)誤:視頻播放器在手機(jī)上播放視頻的過程中,由于視頻格式不規(guī)范、網(wǎng)絡(luò)不穩(wěn)定、視頻解析錯(cuò)誤、播放器邏輯錯(cuò)誤、解碼出錯(cuò)、等等原因?qū)е聼o法正常播放視頻,在播放界面向用戶彈出對應(yīng)的錯(cuò)誤提示語。
[0032]JNI層:JNI是Java Native Interface的縮寫,它提供了若干的API,實(shí)現(xiàn)了 Java和其他語言的通信(主要是C&C++)<JNI標(biāo)準(zhǔn)是java平臺的一部分,它允許Java代碼和其他語言寫的代碼進(jìn)行交互。一般手機(jī)的視頻播放器的界面部分都是使用java開發(fā)的,而視頻播放器的引擎都是使用C&C++開發(fā)的,則就需要JNI層實(shí)現(xiàn)java層與播放引擎的交互。
[0033]函數(shù)符號表:在編譯生成視頻播放器客戶端安裝包的過程中,需要不斷收集、記錄和使用源程序中一些函數(shù)字符串、函數(shù)名稱、函數(shù)符號的類型和特征等相關(guān)信息,這些函數(shù)信息保存在函數(shù)符號表中。
[0034]底層異常:是視頻客戶端底層播放邏輯層中,使用C/C++語言編寫的代碼模塊中可能產(chǎn)生的異常。
[0035]上層異常:是視頻客戶端上層UI界面層中,使用Java或者objective-c語言編寫的代碼模塊中可能產(chǎn)生的異常。
[0036]實(shí)施例1
[0037]根據(jù)本發(fā)明實(shí)施例,提供了一種獲取視頻播放器異常的方法,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示流程圖描述的步驟。
[0038]本申請實(shí)施例一所提供的方法實(shí)施例可以在移動(dòng)終端、計(jì)算機(jī)終端或者類似的運(yùn)算裝置中執(zhí)行。以運(yùn)行在移動(dòng)終端上為例,圖1是本申請實(shí)施例的獲取視頻播放器異常的方法的移動(dòng)終端的硬件結(jié)構(gòu)框圖。如圖1所示,計(jì)算機(jī)終端10可以包括一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器102(處理器102可以包括但不限于微處理器Μ⑶或可編程邏輯器件FPGA等的處理裝置)、用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器104、以及用于通信功能的傳輸裝置106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對上述電子裝置的結(jié)構(gòu)造成限定。例如,移動(dòng)終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
[0039]存儲(chǔ)器104可用于存儲(chǔ)應(yīng)用軟件的軟件程序以及模塊,如本申請實(shí)施例中的多終端的實(shí)時(shí)通訊方法對應(yīng)的程序指令/模塊,處理器102通過運(yùn)行存儲(chǔ)在存儲(chǔ)器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的多終端的實(shí)時(shí)通訊方法。存儲(chǔ)器104可包括高速隨機(jī)存儲(chǔ)器,還可包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器104可進(jìn)一步包括相對于處理器102遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至移動(dòng)終端10。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
[0040]傳輸裝置106用于經(jīng)由一個(gè)網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實(shí)例可包括移動(dòng)終端10的通信供應(yīng)商提供的無線網(wǎng)絡(luò)。在一個(gè)實(shí)例中,傳輸裝置106包括一個(gè)網(wǎng)絡(luò)適配器(Network Interface Controller,NIC),其可通過基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進(jìn)行通訊。在一個(gè)實(shí)例中,傳輸裝置106可以為射頻(Rad1 Frequency,RF)模塊,其用于通過無線方式與互聯(lián)網(wǎng)進(jìn)行通訊。
[0041]在上述運(yùn)行環(huán)境下,如圖2所示,獲取視頻播放器異常的方法可以包括:
[0042]步驟S22,當(dāng)監(jiān)聽到運(yùn)行過程中的視頻播放器發(fā)生異常時(shí),獲取捕捉到的異常信息。
[0043]在上述步驟S22中,可以在用戶