本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種視頻廣告攔截方法及裝置。
背景技術(shù):
近年來,越來越多的用戶使用視頻軟件觀看視頻,但是在視頻正式播放之前或者視頻播放過程中,都會(huì)插播一些視頻廣告,而且視頻廣告的時(shí)間是越來越長(zhǎng),嚴(yán)重影響用戶的使用體驗(yàn),目前,有些視頻廣告攔截軟件可以實(shí)現(xiàn)攔截廣告視頻的目的,但是,在現(xiàn)有視頻廣告攔截技術(shù)中,需要等待視頻廣告加載播放之后,才能對(duì)播放的視頻廣告進(jìn)行識(shí)別并攔截,導(dǎo)致在攔截視頻廣告時(shí)電腦的顯示界面出現(xiàn)閃動(dòng)情況,因此,有必要提供一種及時(shí)在廣告視頻播放之前及時(shí)攔截廣告視頻的方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種視頻廣告攔截方法及裝置??梢栽趶V告視頻加載播放之前對(duì)廣告視頻進(jìn)行攔截,從而提高了攔截視頻廣告的及時(shí)性。
本發(fā)明實(shí)施例提供了一種視頻廣告攔截方法,包括:
將Hook函數(shù)加入到視頻播放進(jìn)程中,并調(diào)用所述Hook函數(shù)對(duì)所述視頻播放進(jìn)程中的網(wǎng)絡(luò)請(qǐng)求函數(shù)進(jìn)行監(jiān)控;
調(diào)用所述網(wǎng)絡(luò)請(qǐng)求函數(shù)向所述網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求,以使所述網(wǎng)絡(luò)服務(wù)器返回視頻數(shù)據(jù)信息;
當(dāng)監(jiān)控接收到所述網(wǎng)絡(luò)服務(wù)器返回的所述視頻數(shù)據(jù)信息時(shí),使用所述Hook函數(shù)截獲所述視頻數(shù)據(jù)信息;
確定截獲的所述視頻數(shù)據(jù)信息是否為廣告視頻數(shù)據(jù);
若確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),則對(duì)所述視頻播放進(jìn)程將要播放的所述視頻數(shù)據(jù)信息進(jìn)行攔截。
其中,所述確定截獲的所述視頻數(shù)據(jù)信息是否為廣告視頻數(shù)據(jù)包括:
判斷所述視頻數(shù)據(jù)信息是否與預(yù)設(shè)的廣告視頻信息匹配;
若所述視頻數(shù)據(jù)信息與預(yù)設(shè)的廣告視頻信息匹配,則確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù)。
其中,所述若確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),則對(duì)所述視頻播放進(jìn)程將要播放的所述視頻數(shù)據(jù)信息進(jìn)行攔截包括:
若確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),獲取所述Hook函數(shù)返回的調(diào)用結(jié)果;
根據(jù)所述調(diào)用結(jié)果,通知所述視頻播放進(jìn)程所述視頻數(shù)據(jù)信息接收失敗進(jìn)而停止處理所述視頻數(shù)據(jù)信息。
其中,所述將Hook函數(shù)加入到視頻播放進(jìn)程中之前,還包括:
當(dāng)檢測(cè)到所述視頻播放進(jìn)程啟動(dòng)時(shí),從預(yù)設(shè)的動(dòng)態(tài)鏈接庫(kù)中調(diào)取所述Hook函數(shù)。
其中,所述調(diào)用所述網(wǎng)絡(luò)請(qǐng)求函數(shù)向所述網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求包括:
獲取所述網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)服務(wù)地址;
根據(jù)所述網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)服務(wù)地址,調(diào)用所述網(wǎng)絡(luò)請(qǐng)求函數(shù)向所述網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求。
相應(yīng)地,本發(fā)明實(shí)施例提供了一種視頻廣告攔截裝置,包括:
函數(shù)加入模塊,用于將Hook函數(shù)加入到視頻播放進(jìn)程中,并調(diào)用所述Hook函數(shù)對(duì)所述視頻播放進(jìn)程中的網(wǎng)絡(luò)請(qǐng)求函數(shù)進(jìn)行監(jiān)控;
請(qǐng)求發(fā)送模塊,用于調(diào)用所述網(wǎng)絡(luò)請(qǐng)求函數(shù)向所述網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求,以使所述網(wǎng)絡(luò)服務(wù)器返回視頻數(shù)據(jù)信息;
信息獲取模塊,用于當(dāng)監(jiān)控接收到所述網(wǎng)絡(luò)服務(wù)器返回的所述視頻數(shù)據(jù)信息時(shí),使用所述Hook函數(shù)截獲所述視頻數(shù)據(jù)信息;
信息確定模塊,用于確定截獲的所述視頻數(shù)據(jù)信息是否為廣告視頻數(shù)據(jù);
信息攔截模塊,用于若確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),則對(duì)所述視頻播放進(jìn)程將要播放的所述視頻數(shù)據(jù)信息進(jìn)行攔截。
其中,所述信息確定模塊包括:
信息匹配單元,用于判斷所述視頻數(shù)據(jù)信息是否與預(yù)設(shè)的廣告視頻信息匹配;
信息確定單元,用于若所述視頻數(shù)據(jù)信息與預(yù)設(shè)的廣告視頻信息匹配,則 確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù)。
其中,所述信息攔截模塊具體用于:
若確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),獲取所述Hook函數(shù)返回的調(diào)用結(jié)果;
根據(jù)所述調(diào)用結(jié)果,通知所述視頻播放進(jìn)程所述視頻數(shù)據(jù)信息接收失敗進(jìn)而停止處理所述視頻數(shù)據(jù)信息。
其中,所述函數(shù)加入模塊,還用于當(dāng)檢測(cè)到所述視頻播放進(jìn)程啟動(dòng)時(shí),從預(yù)設(shè)的動(dòng)態(tài)鏈接庫(kù)中調(diào)取所述Hook函數(shù)。
其中,所述請(qǐng)求發(fā)送模塊具體用于:
獲取所述網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)服務(wù)地址;
根據(jù)所述網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)服務(wù)地址,調(diào)用所述網(wǎng)絡(luò)請(qǐng)求函數(shù)向所述網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求。
實(shí)施本發(fā)明實(shí)施例,首先將Hook函數(shù)加入到視頻播放進(jìn)程中,并調(diào)用Hook函數(shù)對(duì)視頻播放進(jìn)程中的網(wǎng)絡(luò)請(qǐng)求函數(shù)進(jìn)行監(jiān)控;然后調(diào)用網(wǎng)絡(luò)請(qǐng)求函數(shù)向網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求,以使網(wǎng)絡(luò)服務(wù)器返回視頻數(shù)據(jù)信息;其次當(dāng)監(jiān)控接收到網(wǎng)絡(luò)服務(wù)器返回的視頻數(shù)據(jù)信息時(shí),使用Hook函數(shù)截獲視頻數(shù)據(jù)信息;并確定截獲的視頻數(shù)據(jù)信息是否為廣告視頻數(shù)據(jù);最后若確定視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),則對(duì)視頻播放進(jìn)程將要播放的視頻數(shù)據(jù)信息進(jìn)行攔截。從而實(shí)現(xiàn)在廣告視頻加載播放之前對(duì)廣告視頻進(jìn)行攔截,提高了攔截視頻廣告的及時(shí)性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明提出的一種視頻廣告攔截方法的第一實(shí)施例的流程圖;
圖2是本發(fā)明提出的一種視頻廣告攔截方法的第二實(shí)施例的流程圖;
圖3是本發(fā)明實(shí)施例提出的一種視頻廣告攔截裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實(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ù)的范圍。
請(qǐng)參考圖1,圖1是本發(fā)明提出的一種視頻廣告攔截方法的第一實(shí)施例的流程圖。如圖所示,本發(fā)明實(shí)施例中的方法包括:
S101,將Hook函數(shù)加入到視頻播放進(jìn)程中,并調(diào)用所述Hook函數(shù)對(duì)所述視頻播放進(jìn)程中的網(wǎng)絡(luò)請(qǐng)求函數(shù)進(jìn)行監(jiān)控。
具體實(shí)現(xiàn)中,可以首先檢測(cè)視頻播放進(jìn)程是否啟動(dòng),當(dāng)檢測(cè)到所述視頻播放進(jìn)程啟動(dòng)時(shí),從預(yù)設(shè)的動(dòng)態(tài)鏈接庫(kù)中調(diào)取所述Hook函數(shù),并將Hook函數(shù)加入到視頻播放進(jìn)程中。其中,所述預(yù)設(shè)的動(dòng)態(tài)鏈接庫(kù)為一個(gè)包含可由多個(gè)進(jìn)程同時(shí)使用的代碼和數(shù)據(jù)的庫(kù),進(jìn)程執(zhí)行過程中可以從動(dòng)態(tài)鏈接庫(kù)調(diào)用可執(zhí)行代碼的函數(shù)。
需要說明的是,Hook(鉤子)是Windows消息處理機(jī)制的一個(gè)平臺(tái),應(yīng)用程序可以在上面設(shè)置子程序以監(jiān)視從網(wǎng)絡(luò)服務(wù)器返回的視頻數(shù)據(jù)信息,當(dāng)接收到視頻數(shù)據(jù)信息到達(dá)后,在執(zhí)行視頻播放函數(shù)之前處理該視頻數(shù)據(jù)信息。另外,Hook機(jī)制允許應(yīng)用程序截獲處理Window消息或特定事件,鉤子實(shí)際上是一個(gè)處理消息的程序段,通過系統(tǒng)調(diào)用,將Hook函數(shù)掛入系統(tǒng),在視頻播放進(jìn)程加載播放視頻數(shù)據(jù)信息之前,Hook函數(shù)就先捕獲該視頻數(shù)據(jù)信息,進(jìn)而Hook函數(shù)可以加工處理該視頻數(shù)據(jù)信息,也可以不作處理而繼續(xù)傳遞該視頻數(shù)據(jù)信息,還可以強(qiáng)制結(jié)束該視頻數(shù)據(jù)信息的傳遞。
S102,調(diào)用所述網(wǎng)絡(luò)請(qǐng)求函數(shù)向所述網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求,以使所述網(wǎng)絡(luò)服務(wù)器返回視頻數(shù)據(jù)信息。
具體實(shí)現(xiàn)中,可以獲取所述網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)服務(wù)地址;根據(jù)所述網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)服務(wù)地址,調(diào)用所述網(wǎng)絡(luò)請(qǐng)求函數(shù)向所述網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求。其中,網(wǎng)絡(luò)服務(wù)地址可以為視頻播放進(jìn)程所調(diào)用的應(yīng)用程序中的預(yù)設(shè)地址,所述網(wǎng)絡(luò)請(qǐng)求函數(shù)可以包括connect函數(shù)和WSARecv函數(shù)等等,視頻數(shù)據(jù)信息可以包括視頻鏈接信息和視頻數(shù)據(jù)內(nèi)容等等。
S103,當(dāng)監(jiān)控接收到所述網(wǎng)絡(luò)服務(wù)器返回的所述視頻數(shù)據(jù)信息時(shí),使用所述Hook函數(shù)截獲所述視頻數(shù)據(jù)信息。
具體實(shí)現(xiàn)中,由于在該視頻數(shù)據(jù)信息加入了Hook函數(shù),在接收到所述網(wǎng)絡(luò)服務(wù)器返回的所述視頻數(shù)據(jù)信息之后,Hook函數(shù)優(yōu)先截獲該視頻數(shù)據(jù)信息,Hook函數(shù)可以不作處理而繼續(xù)傳遞該視頻數(shù)據(jù)信息,Hook函數(shù)也可以強(qiáng)制結(jié)束該視頻數(shù)據(jù)信息的傳遞。
S104,確定截獲的所述視頻數(shù)據(jù)信息是否為廣告視頻數(shù)據(jù)。
具體實(shí)現(xiàn)中,可以對(duì)所述目標(biāo)窗口的窗口信息進(jìn)行識(shí)別,以確定截獲的所述視頻數(shù)據(jù)信息是否為廣告視頻數(shù)據(jù)。
S105,若確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),則對(duì)所述視頻播放進(jìn)程將要播放的所述視頻數(shù)據(jù)信息進(jìn)行攔截。
具體實(shí)現(xiàn)中,若確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),獲取所述Hook函數(shù)返回的調(diào)用結(jié)果;根據(jù)所述調(diào)用結(jié)果,通知所述視頻播放進(jìn)程所述視頻數(shù)據(jù)信息接收失敗進(jìn)而停止處理所述視頻數(shù)據(jù)信息,其中,所述調(diào)用結(jié)果可以為拒絕傳遞信息,由于根據(jù)拒絕傳遞信息,所述視頻播放進(jìn)程判斷所述視頻數(shù)據(jù)信息接收失敗,因此無法加載該視頻數(shù)據(jù)信息,進(jìn)而不能播放該視頻數(shù)據(jù)信息。若確定所述視頻數(shù)據(jù)信息為非廣告視頻數(shù)據(jù),則將該視頻數(shù)據(jù)信息傳遞給視頻播放進(jìn)程,視頻播放進(jìn)程確定視頻數(shù)據(jù)信息接收成功后,加載該視頻數(shù)據(jù)信息并播放。
在本發(fā)明實(shí)施例中,首先將Hook函數(shù)加入到視頻播放進(jìn)程中,并調(diào)用Hook函數(shù)對(duì)視頻播放進(jìn)程中的網(wǎng)絡(luò)請(qǐng)求函數(shù)進(jìn)行監(jiān)控;然后調(diào)用網(wǎng)絡(luò)請(qǐng)求函數(shù)向網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求,以使網(wǎng)絡(luò)服務(wù)器返回視頻數(shù)據(jù)信息;其次當(dāng)監(jiān)控接收到網(wǎng)絡(luò)服務(wù)器返回的視頻數(shù)據(jù)信息時(shí),使用Hook函數(shù)截獲視頻數(shù)據(jù)信息;并確定截獲的視頻數(shù)據(jù)信息是否為廣告視頻數(shù)據(jù);最后若確定視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),則對(duì)視頻播放進(jìn)程將要播放的視頻數(shù)據(jù)信息進(jìn)行攔截。從而實(shí)現(xiàn)在廣告視頻加載播放之前對(duì)廣告視頻進(jìn)行攔截,提高了攔截視頻廣告的及時(shí)性。
請(qǐng)參考圖2,圖2是本發(fā)明提出的一種視頻廣告攔截方法的第二實(shí)施例的流程圖。如圖所示,本發(fā)明實(shí)施例中的方法包括:
S201,將Hook函數(shù)加入到視頻播放進(jìn)程中,并調(diào)用所述Hook函數(shù)對(duì)所述視頻播放進(jìn)程中的網(wǎng)絡(luò)請(qǐng)求函數(shù)進(jìn)行監(jiān)控。
具體實(shí)現(xiàn)中,可以首先檢測(cè)視頻播放進(jìn)程是否啟動(dòng),當(dāng)檢測(cè)到所述視頻播放進(jìn)程啟動(dòng)時(shí),從預(yù)設(shè)的動(dòng)態(tài)鏈接庫(kù)中調(diào)取所述Hook函數(shù),并將Hook函數(shù)加入到視頻播放進(jìn)程中。其中,所述預(yù)設(shè)的動(dòng)態(tài)鏈接庫(kù)為一個(gè)包含可由多個(gè)進(jìn)程同時(shí)使用的代碼和數(shù)據(jù)的庫(kù),進(jìn)程執(zhí)行過程中可以從動(dòng)態(tài)鏈接庫(kù)調(diào)用可執(zhí)行代碼的函數(shù)。
需要說明的是,Hook(鉤子)是Windows消息處理機(jī)制的一個(gè)平臺(tái),應(yīng)用程序可以在上面設(shè)置子程序以監(jiān)視從網(wǎng)絡(luò)服務(wù)器返回的視頻數(shù)據(jù)信息,當(dāng)接收到視頻數(shù)據(jù)信息到達(dá)后,在執(zhí)行視頻播放函數(shù)之前處理該視頻數(shù)據(jù)信息。另外,Hook機(jī)制允許應(yīng)用程序截獲處理Window消息或特定事件,鉤子實(shí)際上是一個(gè)處理消息的程序段,通過系統(tǒng)調(diào)用,將Hook函數(shù)掛入系統(tǒng),在視頻播放進(jìn)程加載播放視頻數(shù)據(jù)信息之前,Hook函數(shù)就先捕獲該視頻數(shù)據(jù)信息,進(jìn)而Hook函數(shù)可以加工處理該視頻數(shù)據(jù)信息,也可以不作處理而繼續(xù)傳遞該視頻數(shù)據(jù)信息,還可以強(qiáng)制結(jié)束該視頻數(shù)據(jù)信息的傳遞。
S202,調(diào)用所述網(wǎng)絡(luò)請(qǐng)求函數(shù)向所述網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求,以使所述網(wǎng)絡(luò)服務(wù)器返回視頻數(shù)據(jù)信息。
具體實(shí)現(xiàn)中,可以獲取所述網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)服務(wù)地址;根據(jù)所述網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)服務(wù)地址,調(diào)用所述網(wǎng)絡(luò)請(qǐng)求函數(shù)向所述網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求。其中,網(wǎng)絡(luò)服務(wù)地址可以為視頻播放進(jìn)程所調(diào)用的應(yīng)用程序中的預(yù)設(shè)地址,所述網(wǎng)絡(luò)請(qǐng)求函數(shù)可以包括connect函數(shù)和WSARecv函數(shù)等等,視頻數(shù)據(jù)信息可以包括視頻鏈接信息和視頻數(shù)據(jù)內(nèi)容等等。
S203,當(dāng)監(jiān)控接收到所述網(wǎng)絡(luò)服務(wù)器返回的所述視頻數(shù)據(jù)信息時(shí),使用所述Hook函數(shù)截獲所述視頻數(shù)據(jù)信息。
具體實(shí)現(xiàn)中,由于在該視頻數(shù)據(jù)信息加入了Hook函數(shù),在接收到所述網(wǎng)絡(luò)服務(wù)器返回的所述視頻數(shù)據(jù)信息之后,Hook函數(shù)優(yōu)先截獲該視頻數(shù)據(jù)信息,Hook函數(shù)可以不作處理而繼續(xù)傳遞該視頻數(shù)據(jù)信息,Hook函數(shù)也可以強(qiáng)制結(jié)束該視頻數(shù)據(jù)信息的傳遞。
S204,判斷所述視頻數(shù)據(jù)信息是否與預(yù)設(shè)的廣告視頻信息匹配。
具體實(shí)現(xiàn)中,可以在預(yù)設(shè)的廣告視頻規(guī)則庫(kù)中設(shè)置多種廣告視頻信息,進(jìn) 而在截獲到從網(wǎng)絡(luò)服務(wù)器返回的所述視頻數(shù)據(jù)信息之后,查找預(yù)設(shè)的廣告視頻規(guī)則庫(kù)中是否存在與所述視頻數(shù)據(jù)信息匹配的廣告視頻信息。
S205,若所述視頻數(shù)據(jù)信息與預(yù)設(shè)的廣告視頻信息匹配,則確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù)。
具體實(shí)現(xiàn)中,若從預(yù)設(shè)的廣告視頻規(guī)則庫(kù)中未查找與所述視頻數(shù)據(jù)信息匹配的廣告視頻信息,則確定所述所述視頻數(shù)據(jù)信息為非廣告視頻數(shù)據(jù),若從預(yù)設(shè)的廣告視頻規(guī)則庫(kù)中查找與所述視頻數(shù)據(jù)信息匹配的廣告視頻信息,則確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù)。
S205,若確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),則對(duì)所述視頻播放進(jìn)程將要播放的所述視頻數(shù)據(jù)信息進(jìn)行攔截。
具體實(shí)現(xiàn)中,若確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),獲取所述Hook函數(shù)返回的調(diào)用結(jié)果;根據(jù)所述調(diào)用結(jié)果,通知所述視頻播放進(jìn)程所述視頻數(shù)據(jù)信息接收失敗進(jìn)而停止處理所述視頻數(shù)據(jù)信息,其中,所述調(diào)用結(jié)果可以為拒絕傳遞信息,由于根據(jù)拒絕傳遞信息,所述視頻播放進(jìn)程判斷所述視頻數(shù)據(jù)信息接收失敗,因此無法加載該視頻數(shù)據(jù)信息,進(jìn)而不能播放該視頻數(shù)據(jù)信息。若確定所述視頻數(shù)據(jù)信息為非廣告視頻數(shù)據(jù),則將該視頻數(shù)據(jù)信息傳遞給視頻播放進(jìn)程,視頻播放進(jìn)程確定視頻數(shù)據(jù)信息接收成功后,加載該視頻數(shù)據(jù)信息并播放。
本發(fā)明實(shí)施例中,首先將Hook函數(shù)加入到視頻播放進(jìn)程中,并調(diào)用Hook函數(shù)對(duì)視頻播放進(jìn)程中的網(wǎng)絡(luò)請(qǐng)求函數(shù)進(jìn)行監(jiān)控;然后調(diào)用網(wǎng)絡(luò)請(qǐng)求函數(shù)向網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求,以使網(wǎng)絡(luò)服務(wù)器返回視頻數(shù)據(jù)信息;其次當(dāng)監(jiān)控接收到網(wǎng)絡(luò)服務(wù)器返回的視頻數(shù)據(jù)信息時(shí),使用Hook函數(shù)截獲視頻數(shù)據(jù)信息;并確定截獲的視頻數(shù)據(jù)信息是否為廣告視頻數(shù)據(jù);最后若確定視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),則對(duì)視頻播放進(jìn)程將要播放的視頻數(shù)據(jù)信息進(jìn)行攔截。從而實(shí)現(xiàn)在廣告視頻加載播放之前對(duì)廣告視頻進(jìn)行攔截,提高了攔截視頻廣告的及時(shí)性。
請(qǐng)參考圖3,圖3是本發(fā)明實(shí)施例提出的一種視頻廣告攔截裝置的結(jié)構(gòu)示意圖。如圖所示,本發(fā)明實(shí)施例中的裝置包括:
函數(shù)加入模塊301,用于將Hook函數(shù)加入到視頻播放進(jìn)程中,并調(diào)用所述 Hook函數(shù)對(duì)所述視頻播放進(jìn)程中的網(wǎng)絡(luò)請(qǐng)求函數(shù)進(jìn)行監(jiān)控。
具體實(shí)現(xiàn)中,可以首先檢測(cè)視頻播放進(jìn)程是否啟動(dòng),當(dāng)檢測(cè)到所述視頻播放進(jìn)程啟動(dòng)時(shí),從預(yù)設(shè)的動(dòng)態(tài)鏈接庫(kù)中調(diào)取所述Hook函數(shù),并將Hook函數(shù)加入到視頻播放進(jìn)程中。其中,所述預(yù)設(shè)的動(dòng)態(tài)鏈接庫(kù)為一個(gè)包含可由多個(gè)進(jìn)程同時(shí)使用的代碼和數(shù)據(jù)的庫(kù),進(jìn)程執(zhí)行過程中可以從動(dòng)態(tài)鏈接庫(kù)調(diào)用可執(zhí)行代碼的函數(shù)。
需要說明的是,Hook(鉤子)是Windows消息處理機(jī)制的一個(gè)平臺(tái),應(yīng)用程序可以在上面設(shè)置子程序以監(jiān)視從網(wǎng)絡(luò)服務(wù)器返回的視頻數(shù)據(jù)信息,當(dāng)接收到視頻數(shù)據(jù)信息到達(dá)后,在執(zhí)行視頻播放函數(shù)之前處理該視頻數(shù)據(jù)信息。另外,Hook機(jī)制允許應(yīng)用程序截獲處理Window消息或特定事件,鉤子實(shí)際上是一個(gè)處理消息的程序段,通過系統(tǒng)調(diào)用,將Hook函數(shù)掛入系統(tǒng),在視頻播放進(jìn)程加載播放視頻數(shù)據(jù)信息之前,Hook函數(shù)就先捕獲該視頻數(shù)據(jù)信息,進(jìn)而Hook函數(shù)可以加工處理該視頻數(shù)據(jù)信息,也可以不作處理而繼續(xù)傳遞該視頻數(shù)據(jù)信息,還可以強(qiáng)制結(jié)束該視頻數(shù)據(jù)信息的傳遞。
請(qǐng)求發(fā)送模塊302,用于調(diào)用所述網(wǎng)絡(luò)請(qǐng)求函數(shù)向所述網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求,以使所述網(wǎng)絡(luò)服務(wù)器返回視頻數(shù)據(jù)信息。
具體實(shí)現(xiàn)中,可以獲取所述網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)服務(wù)地址;根據(jù)所述網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)服務(wù)地址,調(diào)用所述網(wǎng)絡(luò)請(qǐng)求函數(shù)向所述網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求。其中,網(wǎng)絡(luò)服務(wù)地址可以為視頻播放進(jìn)程所調(diào)用的應(yīng)用程序中的預(yù)設(shè)地址,所述網(wǎng)絡(luò)請(qǐng)求函數(shù)可以包括connect函數(shù)和WSARecv函數(shù)等等,視頻數(shù)據(jù)信息可以包括視頻鏈接信息和視頻數(shù)據(jù)內(nèi)容等等。
信息獲取模塊303,用于當(dāng)監(jiān)控接收到所述網(wǎng)絡(luò)服務(wù)器返回的所述視頻數(shù)據(jù)信息時(shí),使用所述Hook函數(shù)截獲所述視頻數(shù)據(jù)信息。
具體實(shí)現(xiàn)中,由于在該視頻數(shù)據(jù)信息加入了Hook函數(shù),在接收到所述網(wǎng)絡(luò)服務(wù)器返回的所述視頻數(shù)據(jù)信息之后,Hook函數(shù)優(yōu)先截獲該視頻數(shù)據(jù)信息,Hook函數(shù)可以不作處理而繼續(xù)傳遞該視頻數(shù)據(jù)信息,Hook函數(shù)也可以強(qiáng)制結(jié)束該視頻數(shù)據(jù)信息的傳遞。
信息確定模塊304,用于確定截獲的所述視頻數(shù)據(jù)信息是否為廣告視頻數(shù)據(jù)。
具體實(shí)現(xiàn)中,可以對(duì)所述目標(biāo)窗口的窗口信息進(jìn)行識(shí)別,以確定截獲的所 述視頻數(shù)據(jù)信息是否為廣告視頻數(shù)據(jù)。
進(jìn)一步的,如圖4所示,信息確定模塊304可以包括:
信息匹配單元401,用于判斷所述視頻數(shù)據(jù)信息是否與預(yù)設(shè)的廣告視頻信息匹配。
具體實(shí)現(xiàn)中,可以在預(yù)設(shè)的廣告視頻規(guī)則庫(kù)中設(shè)置多種廣告視頻信息,進(jìn)而在截獲到從網(wǎng)絡(luò)服務(wù)器返回的所述視頻數(shù)據(jù)信息之后,查找預(yù)設(shè)的廣告視頻規(guī)則庫(kù)中是否存在與所述視頻數(shù)據(jù)信息匹配的廣告視頻信息。
信息確定單元402,用于若所述視頻數(shù)據(jù)信息與預(yù)設(shè)的廣告視頻信息匹配,則確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù)。
具體實(shí)現(xiàn)中,若從預(yù)設(shè)的廣告視頻規(guī)則庫(kù)中未查找與所述視頻數(shù)據(jù)信息匹配的廣告視頻信息,則確定所述所述視頻數(shù)據(jù)信息為非廣告視頻數(shù)據(jù),若從預(yù)設(shè)的廣告視頻規(guī)則庫(kù)中查找與所述視頻數(shù)據(jù)信息匹配的廣告視頻信息,則確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù)。
信息攔截模塊305,用于若確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),則對(duì)所述視頻播放進(jìn)程將要播放的所述視頻數(shù)據(jù)信息進(jìn)行攔截。
具體實(shí)現(xiàn)中,若確定所述視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),獲取所述Hook函數(shù)返回的調(diào)用結(jié)果;根據(jù)所述調(diào)用結(jié)果,通知所述視頻播放進(jìn)程所述視頻數(shù)據(jù)信息接收失敗進(jìn)而停止處理所述視頻數(shù)據(jù)信息,其中,所述調(diào)用結(jié)果可以為拒絕傳遞信息,由于根據(jù)拒絕傳遞信息,所述視頻播放進(jìn)程判斷所述視頻數(shù)據(jù)信息接收失敗,因此無法加載該視頻數(shù)據(jù)信息,進(jìn)而不能播放該視頻數(shù)據(jù)信息。若確定所述視頻數(shù)據(jù)信息為非廣告視頻數(shù)據(jù),則將該視頻數(shù)據(jù)信息傳遞給視頻播放進(jìn)程,視頻播放進(jìn)程確定視頻數(shù)據(jù)信息接收成功后,加載該視頻數(shù)據(jù)信息并播放。
本發(fā)明實(shí)施例中,首先將Hook函數(shù)加入到視頻播放進(jìn)程中,并調(diào)用Hook函數(shù)對(duì)視頻播放進(jìn)程中的網(wǎng)絡(luò)請(qǐng)求函數(shù)進(jìn)行監(jiān)控;然后調(diào)用網(wǎng)絡(luò)請(qǐng)求函數(shù)向網(wǎng)絡(luò)服務(wù)器發(fā)送視頻服務(wù)請(qǐng)求,以使網(wǎng)絡(luò)服務(wù)器返回視頻數(shù)據(jù)信息;其次當(dāng)監(jiān)控接收到網(wǎng)絡(luò)服務(wù)器返回的視頻數(shù)據(jù)信息時(shí),使用Hook函數(shù)截獲視頻數(shù)據(jù)信息;并確定截獲的視頻數(shù)據(jù)信息是否為廣告視頻數(shù)據(jù);最后若確定視頻數(shù)據(jù)信息為廣告視頻數(shù)據(jù),則對(duì)視頻播放進(jìn)程將要播放的視頻數(shù)據(jù)信息進(jìn)行攔截。從而實(shí)現(xiàn)在廣告視頻加載播放之前對(duì)廣告視頻進(jìn)行攔截,提高了攔截視頻廣告的及時(shí) 性。
需要說明的是,對(duì)于前述的各個(gè)方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某一些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳細(xì)描述的部分,可以參見其他實(shí)施例的相關(guān)描述。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:閃存盤、只讀存儲(chǔ)器(英文:Read-Only Memory,簡(jiǎn)稱:ROM)、隨機(jī)存取器(英文:Random Access Memory,簡(jiǎn)稱:RAM)、磁盤或光盤等。
以上對(duì)本發(fā)明實(shí)施例所提供的內(nèi)容下載方法及相關(guān)設(shè)備、系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
在本說明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
此外,術(shù)語(yǔ)“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個(gè)該特征。在本發(fā)明的描述中,“多個(gè)”的含義是至少兩個(gè),例如兩個(gè),三個(gè)等,除非另有明確具體的限定。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM),可擦除可編輯只讀存儲(chǔ)器(EPROM或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(CDROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場(chǎng)可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。