一種視頻傳輸方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種視頻傳輸方法及裝置。
【背景技術(shù)】
[0002]互聯(lián)網(wǎng)音視頻技術(shù)的高速發(fā)展必然會導(dǎo)致對服務(wù)器的要求越來越高。直播技術(shù)即是將正在播放的視頻信號通過特定的方法推送給客戶端,并由客戶端的播放器將視頻信號轉(zhuǎn)化為可視、可聽的視頻。直播服務(wù)器主要為視頻直播、流媒體服務(wù)、IPTV、交互式電視、移動電視、商務(wù)電視、遠程教學(xué)、B2B商務(wù)通信、視頻至臺式機桌面的傳輸、VOD系統(tǒng)、遠程監(jiān)控、資料保存等應(yīng)用需求而設(shè)計的媒流體設(shè)備。由于播出服務(wù)器在傳輸視頻文件時,可選擇的傳輸方式有限且無法智能的進行網(wǎng)絡(luò)傳輸控制,由于網(wǎng)絡(luò)的原因會引起視頻文件的下載速度慢或無法下載,導(dǎo)致視頻文件不能流暢的播出,影響用戶的觀看體驗。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供一種視頻傳輸方法及裝置,用以為播放終端提供線路智能選擇,確定傳輸速率最快的網(wǎng)絡(luò)鏈路,提高視頻傳輸?shù)乃俣取?br>[0004]本發(fā)明提供一種視頻傳輸方法,包括:
[0005]播出設(shè)備通過預(yù)設(shè)端口與接收設(shè)備建立和所述預(yù)設(shè)端口相對應(yīng)網(wǎng)絡(luò)的連接;所述連接包括:socket連接;
[0006]播出設(shè)備通過socket連接向接收設(shè)備發(fā)送檢測命令,選定用于傳輸視頻數(shù)據(jù)的網(wǎng)絡(luò);
[0007]播出設(shè)備通過選定的網(wǎng)絡(luò)與接收設(shè)備建立http連接,以傳輸視頻數(shù)據(jù)。
[0008]本發(fā)明實施例的一些有益效果可以包括:
[0009]采用播出設(shè)備通過預(yù)設(shè)端口與接收設(shè)備建立對應(yīng)的連接,例如,socket連接,播出設(shè)備過socket連接向接收設(shè)備發(fā)送檢測命令,可以是檢測傳輸速率,也可以是檢測接收設(shè)備所在的網(wǎng)絡(luò),進而選定用于傳輸視頻數(shù)據(jù)的網(wǎng)絡(luò),通過選定的網(wǎng)絡(luò)與接收設(shè)備建立http連接,以傳輸視頻數(shù)據(jù),這時可以斷開socket連接。采用本發(fā)明實施例的方法,為播放終端提供線路的智能選擇,確定傳輸速率最快的網(wǎng)絡(luò)鏈路,提高視頻傳輸?shù)乃俣取?br>[0010]在一個實施例中,所述檢測命令包括:用于檢測網(wǎng)絡(luò)鏈路的速率的檢測命令,用于獲知接收設(shè)備所在網(wǎng)絡(luò)的檢測命令,以及心跳信號。
[0011]該實施例中,播出設(shè)備過socket連接向接收設(shè)備發(fā)送的檢測命令包括三種:用于檢測網(wǎng)絡(luò)鏈路的速率的檢測命令,用于獲知接收設(shè)備所在網(wǎng)絡(luò)的檢測命令,以及心跳信號。這三種檢測命令可以是只采用一種,也可以是采用其中的兩種,或者三種都采用,檢測命令的發(fā)送可以是兩種或三種同時發(fā)送,也可以是不同時間發(fā)送。例如,檢測命令是用于檢測網(wǎng)絡(luò)鏈路的速率和心跳信號,每間隔固定時間發(fā)送一次心跳信號,在播出設(shè)備需要向接收設(shè)備傳輸視頻數(shù)據(jù)時,播出設(shè)備發(fā)出用于檢測網(wǎng)絡(luò)鏈路的速率的檢測命令,確定網(wǎng)絡(luò)鏈路中速率最快的,選擇該網(wǎng)絡(luò)進行視頻數(shù)據(jù)傳輸。
[0012]在一個實施例中,所述播出設(shè)備通過socket連接向接收設(shè)備發(fā)送檢測命令,選定用于傳輸視頻數(shù)據(jù)的網(wǎng)絡(luò),包括:
[0013]所述播出設(shè)備通過socket連接向接收設(shè)備發(fā)送檢測命令,用于檢測各個網(wǎng)絡(luò)鏈路的傳輸速率,選定傳輸速率最快的網(wǎng)絡(luò)鏈路用于傳輸視頻數(shù)據(jù),保持該網(wǎng)絡(luò)鏈路的連接,斷開其它網(wǎng)絡(luò)連接;
[0014]或者,所述播出設(shè)備通過socket連接向接收設(shè)備發(fā)送檢測命令,獲知接收設(shè)備所在的網(wǎng)絡(luò),選擇該網(wǎng)絡(luò)用于傳輸視頻數(shù)據(jù)。
[0015]該實施例中,在播出設(shè)備通過socket連接向接收設(shè)備發(fā)送檢測命令,選定用于傳輸視頻數(shù)據(jù)的網(wǎng)絡(luò)時,兩個采用兩種方式,一種是檢測各個網(wǎng)絡(luò)鏈路的傳輸速率,選定傳輸速率最快的網(wǎng)絡(luò)鏈路用于傳輸視頻數(shù)據(jù),保持該網(wǎng)絡(luò)鏈路的連接,斷開其它網(wǎng)絡(luò)連接。另一種播出設(shè)備通過socket連接向接收設(shè)備發(fā)送檢測命令,獲知接收設(shè)備所在的網(wǎng)絡(luò),選擇該網(wǎng)絡(luò)用于傳輸視頻數(shù)據(jù)。即,所選定用于傳輸視頻數(shù)據(jù)的網(wǎng)絡(luò),可以是傳輸速率最快的網(wǎng)絡(luò)鏈路,也可以是接收設(shè)備所在的網(wǎng)絡(luò),在選定傳輸速率最快的網(wǎng)絡(luò)鏈路時,保持該網(wǎng)絡(luò)鏈路的連接,斷開其它網(wǎng)絡(luò)連接,這種選擇方式,為播放設(shè)備提供了線路的智能選擇,保證了視頻數(shù)據(jù)的傳輸速度,最大限定地保證視頻文件的流暢播出,使用戶能夠獲取最佳的觀看體驗。
[0016]在一個實施例中,所述方法還包括:
[0017]播出設(shè)備在預(yù)設(shè)的時間間隔內(nèi)發(fā)送心跳信號的檢測命令,檢測播出設(shè)備和接收設(shè)備之間的網(wǎng)絡(luò)鏈路是否斷開;若斷開,則重新連接,或找到故障點修復(fù)后重新連接。
[0018]該實施例中,由于互聯(lián)的雙方在長時間沒有通訊的情況下下,存在于互聯(lián)的雙方之間的通訊鏈路可能已經(jīng)斷開或出現(xiàn)故障。有些防火墻或者電腦管理軟件會把超過一定時間沒有通訊的連接當(dāng)作死連接,這些軟件會自動將死連接斷開或者請求用戶將死連接斷開。該實施例的播出設(shè)備采用發(fā)送心跳信號的方式,檢測播出設(shè)備和接收設(shè)備之間的網(wǎng)絡(luò)是否斷開,若斷開,則重新連接,或找到故障點修復(fù)后重新連接。且播出設(shè)備在預(yù)設(shè)的時間間隔內(nèi)發(fā)送心跳信號,也可以避免有些防火墻或者電腦管理軟件會把超過一定時間沒有通訊的連接當(dāng)作死連接,這些軟件會自動將死連接斷開或者請求用戶將死連接斷開的情況發(fā)生,保障播出設(shè)備和接收設(shè)備之間的網(wǎng)絡(luò)鏈路的正常通信。
[0019]在一個實施例中,所述播出設(shè)備通過選定的網(wǎng)絡(luò)與接收設(shè)備建立http連接時,斷開socket連接。
[0020]該實施例中,當(dāng)播出設(shè)備通過選定的網(wǎng)絡(luò)與接收設(shè)備建立http連接時,斷開socket連接,避免連接打開過多時,影響網(wǎng)速,進而降低視頻數(shù)據(jù)的傳輸速率。
[0021]本發(fā)明提供一種視頻傳輸裝置,包括:
[0022]連接模塊,用于播出設(shè)備通過預(yù)設(shè)端口與接收設(shè)備建立和所述預(yù)設(shè)端口相對應(yīng)網(wǎng)絡(luò)的連接;所述網(wǎng)絡(luò)包括:聯(lián)通、電信和網(wǎng)通;所述連接包括-socket連接;
[0023]選定模塊,用于播出設(shè)備通過socket連接向接收設(shè)備發(fā)送檢測命令,選定用于傳輸視頻數(shù)據(jù)的網(wǎng)絡(luò);
[0024]傳輸模塊,用于播出設(shè)備通過選定的網(wǎng)絡(luò)與接收設(shè)備建立http連接,以傳輸視頻數(shù)據(jù)。
[0025]在一個實施例中,所述檢測命令包括:用于檢測網(wǎng)絡(luò)鏈路的速率的檢測命令,用于獲知接收設(shè)備所在網(wǎng)絡(luò)的檢測命令,以及心跳信號。
[0026]在一個實施例中,所述選定模塊,包括:
[0027]第一選定子模塊,用于所述播出設(shè)備通過socket連接向接收設(shè)備發(fā)送檢測命令,用于檢測各個網(wǎng)絡(luò)鏈路的傳輸速率,選定傳輸速率最快的網(wǎng)絡(luò)鏈路用于傳輸視頻數(shù)據(jù),保持該網(wǎng)絡(luò)鏈路的連接,斷開其它網(wǎng)絡(luò)連接;
[0028]或者,第二選定子模塊,用于所述播出設(shè)備通過socket連接向接收設(shè)備發(fā)送檢測命令,獲知接收設(shè)備所在的網(wǎng)絡(luò),選擇該網(wǎng)絡(luò)用于傳輸視頻數(shù)據(jù)。
[0029]在一個實施例中,所述裝置還包括:
[0030]檢測模塊,用于播出設(shè)備在預(yù)設(shè)的時間間隔內(nèi)發(fā)送心跳信號的檢測命令,檢測播出設(shè)備和接收設(shè)備之間的網(wǎng)絡(luò)鏈路是否斷開;若斷開,則重新連接,或找到故障點修復(fù)后重新連接。
[0031]在一個實施例中,所述播出設(shè)備通過選定的網(wǎng)絡(luò)與接收設(shè)備建立http連接時,斷開socket連接。
[0032]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
[0033]下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
【附圖說明】
[0034]附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0035]圖1為本發(fā)明實施例中一種視頻傳輸方法的流程圖;
[0036]圖2為本發(fā)明實施例中一種視頻傳輸方法中檢測命令的框圖;
[0037]圖3為本發(fā)明實施例中一種視頻傳輸方法中步驟102的流程圖;
[0038]圖4為本發(fā)明實施例一中一種視頻傳輸方法的流程圖;
[0039]圖5為本發(fā)明實施例中一種視頻傳輸裝置的框圖;
[0040]圖6為本發(fā)明實施例中一種視頻傳輸裝置中選定模塊52的框圖;
[0041]圖7為本發(fā)