新四季網

一種視頻傳輸方法及系統與流程

2023-04-25 20:58:31 4


本發明涉及網際網路技術領域,特別涉及一種視頻傳輸方法及系統。



背景技術:

經過近幾年的網際網路技術的飛速發展,網際網路的業務不斷增加,人們基於網際網路可以接觸到各種各樣的信息,網絡也成為人們日常工作和生活中不可或缺的一部分。比如,用戶可以利用網際網路收發工作郵件、進行視頻會議等;或者,利用網際網路瀏覽新聞、聽音樂、購物、訂餐、觀看視頻等。且隨著網際網路的不斷發展進步,用戶通過實時傳輸視頻進行播放視頻的情況也越來越多,但目前視頻傳輸通常採用TCP協議(Transmission Control Protocol:傳輸控制協議),但TCP協議傳輸的數據包比較大,且其有嚴格的傳輸檢測,也即,如果在傳輸過程中丟失數據包則必須重傳;因此如果在網絡帶寬不好,或者終端的解析度不高的情況下,並不能支持大數據包。



技術實現要素:

本發明實施例提供一種視頻傳輸方法及系統,將視頻的各個視頻幀拆分為多個小數據包進行傳輸,且在視頻的傳輸過程中允許丟失部分數據包而不要求重新傳輸,進而保證了視頻傳輸的穩定和流暢,提升了用戶體驗。

本發明實施例提供一種視頻傳輸方法,包括:

獲取視頻文件的視頻幀,並將各所述視頻幀拆分為多個數據包;

通過預設的傳輸協議將所述視頻幀的所有所述數據包傳輸至預設位置;

在所述視頻幀的所有所述數據包傳輸完畢之後,檢測未傳輸成功的所述數據包數量是否超過預設閾值;

在未傳輸成功的所述數據包數量並未超過預設閾值時,將所有傳輸成功的所述數據包合併為視頻幀。

在一個實施例中,所述傳輸協議為HTTP傳輸協議。

在一個實施例中,所述方法還包括:

在未傳輸成功的所述數據包數量超過預設閾值時,重新傳輸所述視頻幀中未傳輸成功的所述數據包或所述視頻幀的所有所述數據包。

在一個實施例中,所述通過預設的傳輸協議將所述視頻幀的所有所述數據包傳輸至預設位之前,包括:

根據當前的網絡帶寬手動調整每次傳輸數據包的數量和/或數據包的大小。

在一個實施例中,所述通過預設的傳輸協議將所述視頻幀的所有所述數據包傳輸至預設位之前,還包括:

根據當前網絡帶寬以及預設的數據傳輸表自動配置每次傳輸數據包的數量和/或數據包的大小。

對應於以上實施例所提供的一種視頻傳輸方法,本發明實施例還提供了一種視頻傳輸系統,包括:

拆分模塊,用於獲取視頻文件的視頻幀,並將各所述視頻幀拆分為多個數據包;

傳輸模塊,用於通過預設的傳輸協議將所述視頻幀的所有所述數據包傳輸至預設位置;

檢測模塊,用於在所述視頻幀的所有所述數據包傳輸完畢之後,檢測未傳輸成功的所述數據包數量是否超過預設閾值;

合併模塊,用於在未傳輸成功的所述數據包數量並未超過預設閾值時,將所有傳輸成功的所述數據包合併為視頻幀。

在一個實施例中,所述傳輸協議為HTTP傳輸協議。

在一個實施例中,所述系統還包括:

重傳模塊,用於在未傳輸成功的所述數據包數量超過預設閾值時,重新傳輸所述視頻幀中未傳輸成功的所述數據包或所述視頻幀的所有所述數據包。

在一個實施例中,所述系統還包括:

手動調整模塊,用於根據當前的網絡帶寬手動調整每次傳輸數據包的數量和/或數據包的大小。

在一個實施例中,所述系統還包括:

自動配置模塊,用於根據當前網絡帶寬以及預設的數據傳輸表自動配置每次傳輸數據包的數量和/或數據包的大小。

以上實施例所描述的一種視頻傳輸方法及系統,可以達到如下有益效果:獲取視頻文件的視頻幀,並將各所述視頻幀拆分為多個數據包;通過預設的傳輸協議將所述視頻幀的所有所述數據包傳輸至預設位置;在所述視頻幀的所有所述數據包傳輸完畢之後,檢測未傳輸成功的所述數據包數量是否超過預設閾值;在未傳輸成功的所述數據包數量並未超過預設閾值時,將所有傳輸成功的所述數據包合併為視頻幀。該方案將視頻的各個視頻幀拆分為多個小數據包進行傳輸,且在視頻的傳輸過程中允許丟失部分數據包而不要求重新傳輸,進而保證了視頻傳輸的穩定和流暢,提升了用戶體驗。

本發明的其它特徵和優點將在隨後的說明書中闡述,並且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。

下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。

附圖說明

附圖用來提供對本發明的進一步理解,並且構成說明書的一部分,與本發明的實施例一起用於解釋本發明,並不構成對本發明的限制。在附圖中:

圖1為本發明根據一示例性實施例示出的一種視頻傳輸方法的一種實施例的流程圖;

圖2為本發明根據一示例性實施例示出的一種視頻傳輸方法的另一種實施例的流程圖;

圖3為本發明根據一示例性實施例示出的一種視頻傳輸方法的又一種實施例的流程圖;

圖4為本發明根據一示例性實施例示出的一種視頻傳輸方法的再一種實施例的流程圖;

圖5為本發明根據一示例性實施例示出的一種視頻傳輸系統的一種實施例的框圖;

圖6為本發明根據一示例性實施例示出的一種視頻傳輸系統的另一種實施例的框圖;

圖7為本發明根據一示例性實施例示出的一種視頻傳輸系統的又一種實施例的框圖;

圖8為本發明根據一示例性實施例示出的一種視頻傳輸系統的再一種實施例的框圖。

具體實施方式

以下結合附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用於說明和解釋本發明,並不用於限定本發明。

本發明公開的一實施例中提供了一種視頻傳輸方法,用以將視頻的各個視頻幀拆分為多個小數據包進行傳輸,且在視頻的傳輸過程中允許丟失部分數據包而不要求重新傳輸,進而保證了視頻傳輸的穩定和流暢,提升了用戶體驗。如圖1所示,圖1為本發明根據一示例性實施例示出的一種視頻傳輸方法的一種實施例的流程圖;本發明實施例中一種視頻傳輸方法包括步驟S10-S40:

在步驟S10中,獲取視頻文件的視頻幀,並將各所述視頻幀拆分為多個數據包;也即,在該實施例中,首先需要將將要進行視頻傳輸的視頻文件獲取到並將該視頻的每一幀視頻均分解為多個小數據包,該數據包的大小和每次傳輸的所述數據包的數量可以根據預先設定的條件進行調整,比如,在網絡帶寬允許時,可以調大所述數據包的大小,而在網絡帶寬不允許時,可以調小所述數據包的大小,從而令所述數據包在各種情況下均被允許進行傳輸,且可以保證其傳輸速度可以流暢,從而在視頻播放時令觀眾觀看到的實時傳輸的視頻是穩定的。可理解的,在該視頻幀全部傳輸完成後,傳輸成功的所述數據包中,所有數據包可以合成一個高清視頻幀,而丟失了部分數據包(在預設閾值內)之後的數據包可以合成一個標清視頻幀。

在步驟S20中,通過預設的傳輸協議將所述視頻幀的所有所述數據包傳輸至預設位置;也即,在該實施例中,所述傳輸協議可以根據需要進行設定,比如,在通常情況下,觀眾需要看到的是穩定流暢的視頻播放,因此,在一個實施例中,所述傳輸協議為HTTP傳輸協議(Hyper Text Transfer Protocol:超文本傳輸協議);可理解的,HTTP傳輸協議更通用,其適合於更多的播放器和瀏覽器,且在本實施例中,HTTP傳輸協議當發生數據包丟失的情況時,可以允許不再重傳而直接在該狀態下默認該幀視頻已經完成傳輸,由於丟失的部分數據包只是一幀視頻中數據的一部分,因此丟失的數據包的數量在預設閾值之內時,只是會使得視頻播放的清晰度下降,而不影響觀看,也即,優先保證實時流暢,畫質可以其次保證。可理解的,在一些實施例中,在網絡帶寬允許且觀眾要求播放高清視頻時,此時可以切換為採用TCP傳輸協議亦可。

在步驟S30中,在所述視頻幀的所有所述數據包傳輸完畢之後,檢測未傳輸成功的所述數據包數量是否超過預設閾值;也即,在數據包丟失超過預設閾值,比如全部丟失的情況下,此時肯定需要進行重傳,因此首先需要檢測丟失的數據包數量有多少,是否超過預設閾值,可理解的,所述預設閾值可以根據觀看視頻的對象進行設置;如果丟失的數據包數量並未超過預設閾值,則可以將傳輸成功的多個數據包合併為視頻幀進行播放;而如果丟失的數據包數量超過預設閾值,則說明丟失的數據包過多,此時依舊需要進行重傳以保證視頻播放。

在步驟S40中,在未傳輸成功的所述數據包數量並未超過預設閾值時,將所有傳輸成功的所述數據包合併為視頻幀。也即,當丟失的數據包並未影響到視頻播放時,可以直接在該情況下直接將數據包合成視頻幀進行播放,以優先保證視頻的播放流暢。

在一個實施例中,如圖2所示,圖2為本發明根據一示例性實施例示出的一種視頻傳輸方法的另一種實施例的流程圖;所述方法的步驟S30之後還包括步驟S50:

在步驟S50中,在未傳輸成功的所述數據包數量超過預設閾值時,重新傳輸所述視頻幀中未傳輸成功的所述數據包或所述視頻幀的所有所述數據包。也即,當丟失的數據包以及超出預設閾值影響到視頻播放時,在該情況下,需要進行重傳以保證視頻播放,而重傳的方式可以有兩種,一種是只重傳丟失的那部分數據包,另一種方式是將該視頻幀的所有拆分的數據包全部重傳。

在一個實施例中,如圖3所示,圖3為本發明根據一示例性實施例示出的一種視頻傳輸方法的又一種實施例的流程圖;所述方法的步驟S20之前還包括步驟S60:

在步驟S60中,根據當前的網絡帶寬手動調整每次傳輸數據包的數量和/或數據包的大小。也即,本實施例中,手動調節的過程是採用了node(node.js)技術來進行的,可以利用node技術來根據網絡帶寬情況來調整每次傳輸的數據包的數量和/或每個所述數據包的大小,node在本實施例中作為一個微型伺服器,且其更新時不用安裝,可以運用node實現p2p傳輸和繞開防火牆,運用它來進行調整每次傳輸數據包的數量和/或數據包的大小,高效穩定,簡單快捷。

在一個實施例中,如圖4所示,圖4為本發明根據一示例性實施例示出的一種視頻傳輸方法的再一種實施例的流程圖;所述方法的步驟S20之前還包括步驟S70:

在步驟S70中,根據當前網絡帶寬以及預設的數據傳輸表自動配置每次傳輸數據包的數量和/或數據包的大小。也即,本實施例中,自動配置的過程是採用了node(node.js)技術來進行的,可以利用node技術來根據網絡帶寬情況來調整每次傳輸的數據包的數量和/或每個所述數據包的大小,node在本實施例中作為一個微型伺服器,且其更新時不用安裝,可以運用node實現p2p傳輸和繞開防火牆,運用它來進行調整每次傳輸數據包的數量和/或數據包的大小,高效穩定,簡單快捷。

以上實施例所描述的一種視頻傳輸方法及系統,可以達到如下有益效果:獲取視頻文件的視頻幀,並將各所述視頻幀拆分為多個數據包;通過預設的傳輸協議將所述視頻幀的所有所述數據包傳輸至預設位置;在所述視頻幀的所有所述數據包傳輸完畢之後,檢測未傳輸成功的所述數據包數量是否超過預設閾值;在未傳輸成功的所述數據包數量並未超過預設閾值時,將所有傳輸成功的所述數據包合併為視頻幀。該方案將視頻的各個視頻幀拆分為多個小數據包進行傳輸,且在視頻的傳輸過程中允許丟失部分數據包而不要求重新傳輸,進而保證了視頻傳輸的穩定和流暢,提升了用戶體驗。

對應本發明實施例提供的一種視頻傳輸方法,本發明還提供了一種視頻傳輸系統;如圖5所示,圖5為本發明根據一示例性實施例示出的一種視頻傳輸系統的一種實施例的框圖;所述一種視頻傳輸系統,包括:

拆分模塊61,用於獲取視頻文件的視頻幀,並將各所述視頻幀拆分為多個數據包;也即,在該實施例中,首先需要將將要進行視頻傳輸的視頻文件獲取到並將該視頻的每一幀視頻均分解為多個小數據包,該數據包的大小和每次傳輸的所述數據包的數量可以根據預先設定的條件進行調整,比如,在網絡帶寬允許時,可以調大所述數據包的大小,而在網絡帶寬不允許時,可以調小所述數據包的大小,從而令所述數據包在各種情況下均被允許進行傳輸,且可以保證其傳輸速度可以流暢,從而在視頻播放時令觀眾觀看到的實時傳輸的視頻是穩定的。可理解的,在該視頻幀全部傳輸完成後,傳輸成功的所述數據包中,所有數據包可以合成一個高清視頻幀,而丟失了部分數據包(在預設閾值內)之後的數據包可以合成一個標清視頻幀。

傳輸模塊62,用於通過預設的傳輸協議將所述視頻幀的所有所述數據包傳輸至預設位置;也即,在該實施例中,所述傳輸協議可以根據需要進行設定,比如,在通常情況下,觀眾需要看到的是穩定流暢的視頻播放,因此,在一個實施例中,所述傳輸協議為HTTP傳輸協議(Hyper Text Transfer Protocol:超文本傳輸協議);可理解的,HTTP傳輸協議更通用,其適合於更多的播放器和瀏覽器,且在本實施例中,HTTP傳輸協議當發生數據包丟失的情況時,可以允許不再重傳而直接在該狀態下默認該幀視頻已經完成傳輸,由於丟失的部分數據包只是一幀視頻中數據的一部分,因此丟失的數據包的數量在預設閾值之內時,只是會使得視頻播放的清晰度下降,而不影響觀看,也即,優先保證實時流暢,畫質可以其次保證。可理解的,在一些實施例中,在網絡帶寬允許且觀眾要求播放高清視頻時,此時可以切換為採用TCP傳輸協議亦可。

檢測模塊63,用於在所述視頻幀的所有所述數據包傳輸完畢之後,檢測未傳輸成功的所述數據包數量是否超過預設閾值;也即,在數據包丟失超過預設閾值,比如全部丟失的情況下,此時肯定需要進行重傳,因此首先需要檢測丟失的數據包數量有多少,是否超過預設閾值,可理解的,所述預設閾值可以根據觀看視頻的對象進行設置;如果丟失的數據包數量並未超過預設閾值,則可以將傳輸成功的多個數據包合併為視頻幀進行播放;而如果丟失的數據包數量超過預設閾值,則說明丟失的數據包過多,此時依舊需要進行重傳以保證視頻播放。

合併模塊64,用於在未傳輸成功的所述數據包數量並未超過預設閾值時,將所有傳輸成功的所述數據包合併為視頻幀。也即,當丟失的數據包並未影響到視頻播放時,可以直接在該情況下直接將數據包合成視頻幀進行播放,以優先保證視頻的播放流暢。

在一個實施例中,如圖6所示,圖6為本發明根據一示例性實施例示出的一種視頻傳輸系統的另一種實施例的框圖;所述系統還包括:

重傳模塊65,用於在未傳輸成功的所述數據包數量超過預設閾值時,重新傳輸所述視頻幀中未傳輸成功的所述數據包或所述視頻幀的所有所述數據包。也即,當丟失的數據包以及超出預設閾值影響到視頻播放時,在該情況下,需要進行重傳以保證視頻播放,而重傳的方式可以有兩種,一種是只重傳丟失的那部分數據包,另一種方式是將該視頻幀的所有拆分的數據包全部重傳。

在一個實施例中,如圖7所示,圖7為本發明根據一示例性實施例示出的一種視頻傳輸系統的又一種實施例的框圖;所述系統還包括:

手動調整模塊66,用於根據當前的網絡帶寬手動調整每次傳輸數據包的數量和/或數據包的大小。也即,本實施例中,手動調節的過程是採用了node(node.js)技術來進行的,可以利用node技術來根據網絡帶寬情況來調整每次傳輸的數據包的數量和/或每個所述數據包的大小,node在本實施例中作為一個微型伺服器,且其更新時不用安裝,可以運用node實現p2p傳輸和繞開防火牆,運用它來進行調整每次傳輸數據包的數量和/或數據包的大小,高效穩定,簡單快捷。

在一個實施例中,如圖8所示,圖8為本發明根據一示例性實施例示出的一種視頻傳輸系統的再一種實施例的框圖;所述系統還包括:

自動配置模塊67,用於根據當前網絡帶寬以及預設的數據傳輸表自動配置每次傳輸數據包的數量和/或數據包的大小。也即,本實施例中,自動配置的過程是採用了node(node.js)技術來進行的,可以利用node技術來根據網絡帶寬情況來調整每次傳輸的數據包的數量和/或每個所述數據包的大小,node在本實施例中作為一個微型伺服器,且其更新時不用安裝,可以運用node實現p2p傳輸和繞開防火牆,運用它來進行調整每次傳輸數據包的數量和/或數據包的大小,高效穩定,簡單快捷。

以上實施例所描述的一種視頻傳輸系統,可以達到如下有益效果:將視頻的各個視頻幀拆分為多個小數據包進行傳輸,且在視頻的傳輸過程中允許丟失部分數據包而不要求重新傳輸,進而保證了視頻傳輸的穩定和流暢,提升了用戶體驗。

本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器和光學存儲器等)上實施的電腦程式產品的形式。

本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀