国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種分布式音視頻處理裝置及處理方法

      文檔序號:6518633閱讀:232來源:國知局
      一種分布式音視頻處理裝置及處理方法
      【專利摘要】本發(fā)明提供一種分布式音視頻文件處理系統(tǒng),包括:輸入處理單元,用于接收源視頻文件,對源視頻文件進(jìn)行處理獲得音/視頻數(shù)據(jù),并將音/視頻數(shù)據(jù)分別按順序分割成音/視頻數(shù)據(jù)片段后,并根據(jù)一定的分配規(guī)則將分割所得的音/視頻數(shù)據(jù)片段分配給相應(yīng)的音/視頻數(shù)據(jù)處理單元進(jìn)行處理;數(shù)個視頻數(shù)據(jù)處理單元,分別用于對經(jīng)分割后的視頻數(shù)據(jù)片段進(jìn)行處理;數(shù)個音頻數(shù)據(jù)處理單元,分別用于對經(jīng)分割后的音頻數(shù)據(jù)片段進(jìn)行處理;輸出處理單元,用于對經(jīng)處理后的音/視頻數(shù)據(jù)片段進(jìn)行處理并輸出;調(diào)度單元,用于協(xié)調(diào)輸入處理單元、數(shù)個音/視頻數(shù)據(jù)處理單元及輸出處理單元的工作。本發(fā)明孩提供一種分布式音視頻文件處理方法和一種分布式音視頻文件處理裝置。
      【專利說明】一種分布式音視頻處理裝置及處理方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種利用計算機或數(shù)據(jù)處理裝置處理數(shù)據(jù)的裝置和方法,尤其涉及一種利用分布式計算機或數(shù)據(jù)處理裝置對音視頻文件進(jìn)行處理的裝置和方法。
      技術(shù)背景
      [0002]隨著網(wǎng)絡(luò)和文化事業(yè)的發(fā)展,音視頻資源極大豐富,對音視頻文件的處理的需要也快速增長。
      [0003]音視頻文件處理的大致流程如下:首先將需處理的音視頻文件解封裝成為視頻幀序列和音頻幀序列;然后將視頻幀序列和音頻幀序列分別解碼為RAW格式和PCM格式數(shù)據(jù);對RAW格式和PCM格式數(shù)據(jù)進(jìn)行處理;再將RAW格式和PCM格式的數(shù)據(jù)編碼為所需格式的音頻幀序列和視頻幀序列;最后將音頻幀序列和視頻幀序列封裝成需要的文件格式。
      [0004]以上處理是通過計算機或計算機構(gòu)成的數(shù)據(jù)處理裝置來完成的,現(xiàn)有的這些計算機或數(shù)據(jù)處理裝置是依靠本機的軟硬件資源來實現(xiàn)對文件的處理。音視頻文件處理的計算量龐大,對處理裝置的運算能力和存儲資源消耗很大,而且隨著高清音視頻文件的日益增多和處理需求的不斷增大,依靠單機進(jìn)行音視頻文件處理的瓶頸問題日益突出,單機處理速度慢且容易發(fā)生系統(tǒng)崩潰。即使用戶使用配置很高的計算機也難以保證處理的速度和穩(wěn)定程度,尤其無法滿足大批量和時間要求很高的處理任務(wù)。
      [0005]鑒于現(xiàn)有技術(shù)中存在的以上問題,本發(fā)明提供了一種分布式處理系統(tǒng)。使用多臺計算機或處理裝置來實現(xiàn)并行處理,大大減少了處理所需的時間,同時降低了系統(tǒng)的處理壓力,減少了系統(tǒng)崩潰的可能性。由于使用了完善的監(jiān)測系統(tǒng),處理的可靠性很高,完全可以滿足對處理質(zhì)量的要求。

      【發(fā)明內(nèi)容】

      [0006]本發(fā)明的第一層面提供一種分布式音視頻文件處理系統(tǒng),包括:輸入處理單元,用于接收源視頻文件,對所述源視頻文件進(jìn)行處理獲得視頻數(shù)據(jù)和音頻數(shù)據(jù),并將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,并根據(jù)一定的分配規(guī)則對分割所得的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元進(jìn)行處理;數(shù)個視頻數(shù)據(jù)處理單元,分別用于對經(jīng)分割后的視頻數(shù)據(jù)片段進(jìn)行處理;數(shù)個音頻數(shù)據(jù)處理單元,分別用于對經(jīng)分割后的音頻數(shù)據(jù)片段進(jìn)行處理;輸出處理單元,用于對經(jīng)處理后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行處理并輸出;調(diào)度單元,用于協(xié)調(diào)所述輸入處理單元、所述數(shù)個視頻數(shù)據(jù)處理單元、所述數(shù)個音頻數(shù)據(jù)處理單元及輸出處理單元的工作。
      [0007]優(yōu)選地,所述輸入處理單元將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的順序號按視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元進(jìn)行處理。[0008]優(yōu)選地,所述輸入處理單兀具有第一監(jiān)控模塊、第一處理模塊和第一傳輸模塊;各視頻數(shù)據(jù)處理單元分別具有第二監(jiān)控模塊、第二處理模塊和第二傳輸模塊;各音頻數(shù)據(jù)處理單元分別具有第三監(jiān)控模塊、第三處理模塊和第三傳輸模塊;所述輸出處理單元具有第四監(jiān)控模塊、第四處理模塊和第四傳輸模塊;其中,所述第一、第二、第三和第四監(jiān)控模塊分別與所述調(diào)度單元進(jìn)行通信連接,從所述調(diào)度單元接收相關(guān)指令,并各自將相關(guān)處理單元的運行狀態(tài)報告給所述調(diào)度單元;所述第一傳輸模塊分別與各所述第二傳輸模塊和各所述第三傳輸模塊通信連接,將需要處理的相應(yīng)的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分別發(fā)送至各所述第二傳輸模塊和各所述第三傳輸模塊;所述第四傳輸模塊分別與各所述第二傳輸模塊和各所述第三傳輸模塊通信連接,接收經(jīng)處理后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段。
      [0009]優(yōu)選地,所述輸入處理單元對所接收的源文件進(jìn)行解封裝,獲得視頻序列和音頻序列,并分別將所述視頻序列和所述音頻序列進(jìn)行分割處理。
      [0010]優(yōu)選地,所述輸出處理單元在判斷從各視頻數(shù)據(jù)處理單元和各音頻數(shù)據(jù)處理單元接收到經(jīng)處理后的所有的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將所接到的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行合并,并按照預(yù)定格式進(jìn)行封裝。
      [0011]優(yōu)選地,所述調(diào)度單元和所述第一、第二、第三和第四監(jiān)控模塊通過系統(tǒng)配置文件獲取的地址信息進(jìn)行通信。
      [0012]優(yōu)選地,所述第一、第二、第三和第四監(jiān)控模塊分別定期地將相應(yīng)處理單元的運行狀態(tài)信息發(fā)送給所述調(diào)度單元;所述調(diào)度單元根據(jù)所述運行狀態(tài)信息維護系統(tǒng)配置文件,并將更新的系統(tǒng)配置文件分別發(fā)送給所述第一、第二、第三和第四監(jiān)控模塊。
      [0013]優(yōu)選地,系統(tǒng)配置文件的內(nèi)容包括所述視頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運行狀態(tài)和工作目錄和所述音頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運行狀態(tài)和工作目錄。
      [0014]優(yōu)選地,當(dāng)所述視頻數(shù)據(jù)處理單元和所述音頻數(shù)據(jù)處理單元的中一個的處理發(fā)生錯誤時,其相應(yīng)的第二或第三監(jiān)控模塊向所述調(diào)度單元報告該錯誤;所述調(diào)度模塊確定重新執(zhí)行發(fā)生錯誤的處理或忽略該錯誤。
      [0015]優(yōu)選地,所述輸入處理單元將出錯的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新加入未被發(fā)送的剩余視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段中并進(jìn)行重新編序,再所述重新編序所得的順序號按所述視頻數(shù)據(jù)處理單元和/或所述音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將所述出錯的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元進(jìn)行處理。
      [0016]優(yōu)選地,所述輸入處理單元獲取所述源視頻文件的解封裝后的視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式,并將所述視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式發(fā)送給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元。
      [0017]優(yōu)選地,所述輸入處理單元將源文件經(jīng)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量發(fā)送給所述輸出處理單元。
      [0018]優(yōu)選地,所述輸入處理單元向分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段中插入該片段的源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息。
      [0019]優(yōu)選地,所述輸入處理單元將所述源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息插入到分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的文件名中。[0020]優(yōu)選地,所述輸出處理單元根據(jù)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量建立該源文件的接收映射表,根據(jù)輸入處理單元向分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段中插入的該片段的源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息在接收映射表中將收到的已處理的數(shù)據(jù)片段標(biāo)記為已收到;當(dāng)所述輸出處理單元判斷接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段均標(biāo)記為已收到時,對所述經(jīng)處理后的視頻數(shù)據(jù)片段和所述經(jīng)處理后的音頻數(shù)據(jù)片段進(jìn)行整合處理,獲得經(jīng)處理后的音視頻文件;當(dāng)所述輸出處理單元判斷經(jīng)過一定時間后接收映射表中有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段標(biāo)記為未收到時,將相應(yīng)的經(jīng)分割后的視頻數(shù)據(jù)片段或/和經(jīng)分割后的音頻數(shù)據(jù)片段的缺失信息發(fā)送至所述調(diào)度單元。
      [0021]優(yōu)選地,所述接收映射表中還包含已收到的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量;所述輸出處理單元判斷接收映射表中的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量與所述輸入處理單元發(fā)送的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量一致后,才進(jìn)行接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段是否均標(biāo)記為已收到的判斷。
      [0022]優(yōu)選地,當(dāng)所述調(diào)度單元接收到所述缺失信息時,指示所述輸入處理單元將缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段的順序號按當(dāng)前視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元。
      [0023]優(yōu)選地,當(dāng)所述調(diào)度單元接收到視頻數(shù)據(jù)片段的缺失信息時,指示所述輸入處理單元將所有缺失的視頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前視頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元;當(dāng)所述調(diào)度單元接收到音頻數(shù)據(jù)片段的缺失信息時,指示所述輸入處理單元將所有缺失的音頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的音頻數(shù)據(jù)片段重新分配給相應(yīng)的音頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的音頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元。
      [0024]本發(fā)明另一方面提供一種音視頻文件處理方法,包括:輸入處理步驟,通過輸入處理單元接收源視頻文件,對所述源視頻文件進(jìn)行處理獲得視頻數(shù)據(jù)和音頻數(shù)據(jù),并分別將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,并根據(jù)一定的分配規(guī)則對分割所得的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元進(jìn)行處理;視頻數(shù)據(jù)處理步驟,分別使用數(shù)個視頻數(shù)據(jù)處理單元對經(jīng)分割后的視頻數(shù)據(jù)片段進(jìn)行處理;音頻數(shù)據(jù)處理步驟,分別使用數(shù)個音頻數(shù)據(jù)處理單元對經(jīng)分割后的音頻數(shù)據(jù)片段進(jìn)行處理;輸出處理步驟,通過輸出處理單元對經(jīng)處理后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行處理并輸出;調(diào)度步驟,通過調(diào)度單元協(xié)調(diào)所述輸入處理單元、所述數(shù)個視頻數(shù)據(jù)處理單元、所述數(shù)個音頻數(shù)據(jù)處理單元及輸出處理單元的工作。
      [0025]優(yōu)選地,在所述輸入處理步驟中,將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的順序號按視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元進(jìn)行處理。[0026]優(yōu)選地,解封裝步驟,對所接收的源文件進(jìn)行解封裝,獲得視頻序列和音頻序列;分割步驟,分別將所述視頻序列和所述音頻序列進(jìn)行分割處理。
      [0027]優(yōu)選地,在所述輸出處理步驟中,在判斷從各視頻數(shù)據(jù)處理單元和各音頻數(shù)據(jù)處理單元接收到經(jīng)處理后的所有的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將所接到的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行合并,并按照預(yù)定格式進(jìn)行封裝。
      [0028]優(yōu)選地,在所述調(diào)度步驟中,通過系統(tǒng)配置文件獲取的地址信息進(jìn)行通信。
      [0029]優(yōu)選地,在所述調(diào)度步驟中,相應(yīng)處理單元的運行狀態(tài)信息分別定期地被發(fā)送給所述調(diào)度單元,所述調(diào)度單元根據(jù)所述運行狀態(tài)信息維護系統(tǒng)配置文件,并發(fā)送更新的系統(tǒng)配置文件。
      [0030]優(yōu)選地,系統(tǒng)配置文件的內(nèi)容包括所述視頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運行狀態(tài)和工作目錄和所述音頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運行狀態(tài)和工作目錄。
      [0031]優(yōu)選地,在所述視頻數(shù)據(jù)處理步驟中,當(dāng)所述視頻數(shù)據(jù)處理單元中的一個的處理發(fā)生錯誤時,或在所述音頻數(shù)據(jù)處理步驟中,當(dāng)所述音頻數(shù)據(jù)處理單元中的一個的處理發(fā)生錯誤時,向所述調(diào)度單元報告該錯誤;所述調(diào)度模塊確定重新執(zhí)行發(fā)生錯誤的處理或忽略該錯誤。
      [0032]優(yōu)選地,所述輸入處理單元將出錯的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新加入未被發(fā)送的剩余視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段中并進(jìn)行重新編序,再所述重新編序所得的順序號按所述視頻數(shù)據(jù)處理單元和/或所述音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將所述出錯的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元進(jìn)行處理。
      [0033]優(yōu)選地,在所述輸入處理步驟中,獲取所述源視頻文件的解封裝后的視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式,并將所述視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式發(fā)送給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元。
      [0034]優(yōu)選地,在所述輸入處理步驟中,將源文件經(jīng)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量的分割信息發(fā)送給所述輸出處理單元。
      [0035]優(yōu)選地,在所述輸入處理步驟中,所述輸入處理單元向分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段中插入該片段的源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息。
      [0036]優(yōu)選地,在所述輸出處理步驟中,所述輸出處理單元根據(jù)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量建立該源文件的接收映射表,根據(jù)輸入處理單元向分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段中插入的該片段的源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息在接收映射表中將收到的已處理的數(shù)據(jù)片段標(biāo)記為已收到;當(dāng)所述輸出處理單元判斷接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段均標(biāo)記為已收到時,對所述經(jīng)處理后的視頻數(shù)據(jù)片段和所述經(jīng)處理后的音頻數(shù)據(jù)片段進(jìn)行整合處理,獲得經(jīng)處理后的音視頻文件;當(dāng)所述輸出處理單元判斷經(jīng)過一定時間后接收映射表中有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段標(biāo)記為未收到時,將相應(yīng)的經(jīng)分割后的視頻數(shù)據(jù)片段或/和經(jīng)分割后的音頻數(shù)據(jù)片段的缺失信息發(fā)送至所述調(diào)度單元。
      [0037]優(yōu)選地,所述接收映射表中還包含已收到的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量;所述輸出處理單元判斷接收映射表中的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量與所述輸入處理單元發(fā)送的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量一致后,才進(jìn)行接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段是否均標(biāo)記為已收到的判斷。
      [0038]優(yōu)選地,當(dāng)所述調(diào)度單元接收到所述缺失信息時,指示所述輸入處理單元將缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段的順序號按當(dāng)前視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元。
      [0039]優(yōu)選地,當(dāng)所述調(diào)度單元接收到視頻數(shù)據(jù)片段的缺失信息時,指示所述輸入處理單元將所有缺失的視頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前視頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元;當(dāng)所述調(diào)度單元接收到音頻數(shù)據(jù)片段的缺失信息時,指示所述輸入處理單元將所有缺失的音頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的音頻數(shù)據(jù)片段重新分配給相應(yīng)的音頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的音頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元。
      [0040]本發(fā)明還提供一種分布式音視頻文件處理裝置,包括:數(shù)臺第一服務(wù)器,分別用于對視頻數(shù)據(jù)片段進(jìn)行處理;數(shù)臺第二服務(wù)器,分別用于對音頻數(shù)據(jù)片段進(jìn)行處理;第三服務(wù)器,用于對經(jīng)處理后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行處理并輸出;第四服務(wù)器,用于接收源視頻文件,對所述源視頻文件進(jìn)行處理獲得視頻數(shù)據(jù)和音頻數(shù)據(jù),并將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,并根據(jù)一定的分配規(guī)則對分割所得的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行分配給相應(yīng)的所述第一服務(wù)器和所述第二服務(wù)器進(jìn)行處理,以及協(xié)調(diào)所述數(shù)臺第一服務(wù)器、所述數(shù)臺第二服務(wù)器和所述第三服務(wù)器之間的工作。
      [0041]優(yōu)選地,所述第四服務(wù)器將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的順序號按所述第一服務(wù)器和所述第二服務(wù)器的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的所述第一服務(wù)器和所述第二服務(wù)器進(jìn)行處理。
      [0042]優(yōu)選地,每一臺第一服務(wù)器僅運行一個視頻數(shù)據(jù)處理進(jìn)程;每一臺第二服務(wù)器僅運行一個音頻數(shù)據(jù)處理進(jìn)程。
      [0043]優(yōu)選地,所述第四服務(wù)器對所接收的源文件進(jìn)行解封裝,獲得視頻序列和音頻序列,并分別將所述視頻序列和所述音頻序列進(jìn)行分割處理。
      [0044]優(yōu)選地,所述第三服務(wù)器在判斷從各第一服務(wù)器和各第二服務(wù)器接收到經(jīng)處理后的所有的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將所接到的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行合并,并按照預(yù)定格式進(jìn)行封裝。
      [0045]優(yōu)選地,所述第四服務(wù)器獲取所述源視頻文件的解封裝后的視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式,并將所述視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式發(fā)送給相應(yīng)的第一服務(wù)器和第二服務(wù)器。
      [0046]優(yōu)選地,所述第四服務(wù)器將源文件經(jīng)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量的分割信息發(fā)送給所述第三服務(wù)器。[0047]優(yōu)選地,所述第四服務(wù)器將所述源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息插入到分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的文件名中。
      [0048]優(yōu)選地,所述第三服務(wù)器根據(jù)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量建立該源文件的接收映射表,根據(jù)第四服務(wù)器向分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段中插入的該片段的源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息在接收映射表中將收到的已處理的數(shù)據(jù)片段標(biāo)記為已收到;當(dāng)所述第三服務(wù)器判斷接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段均標(biāo)記為已收到時,對所述經(jīng)處理后的視頻數(shù)據(jù)片段和所述經(jīng)處理后的音頻數(shù)據(jù)片段進(jìn)行整合處理,獲得經(jīng)處理后的音視頻文件;當(dāng)所述第三服務(wù)器判斷經(jīng)過一定時間后接收映射表中有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段標(biāo)記為未收到時,將相應(yīng)的經(jīng)分割后的視頻數(shù)據(jù)片段和/或經(jīng)分割后的音頻數(shù)據(jù)片段的缺失信息發(fā)送至所述第四服務(wù)器。
      [0049]優(yōu)選地,所述接收映射表中還包含已收到的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量;所述第三服務(wù)器判斷接收映射表中的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量與所述第四服務(wù)器發(fā)送的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量一致后,才進(jìn)行接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段是否均標(biāo)記為已收到的判斷。
      [0050]優(yōu)選地,當(dāng)所述第四服務(wù)器接收到所述缺失信息時,將缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段的順序號按當(dāng)前第一服務(wù)器和/或第二服務(wù)器的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新分配給相應(yīng)的第一服務(wù)器和/或第二服務(wù)器進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段發(fā)送至所述第三服務(wù)器。
      [0051]優(yōu)選地,當(dāng)所述第四服務(wù)器接收到視頻數(shù)據(jù)片段的缺失信息時,將所有缺失的視頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前第一服務(wù)器的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段重新分配給相應(yīng)的第一服務(wù)器進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段發(fā)送至所述第三服務(wù)器;當(dāng)所述第四服務(wù)器接收到音頻數(shù)據(jù)片段的缺失信息時,將所有缺失的音頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前第二服務(wù)器的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的音頻數(shù)據(jù)片段重新分配給相應(yīng)的第二服務(wù)器進(jìn)行處理,并將再次處理后的音頻數(shù)據(jù)片段發(fā)送至所述第三服務(wù)器。
      [0052]本發(fā)明的分布式處理系統(tǒng)和處理方法解決了單機進(jìn)行處理時的速度瓶頸,可以大大縮短音視頻文件處理所需的時間。由于建立了可靠的任務(wù)分配機制和糾錯機制,可以保證其處理結(jié)果的可靠性。同時可以有效避免單機處理負(fù)荷過高時頻繁出現(xiàn)死機等故障。其可擴展性很好,系統(tǒng)配置靈活,尤其適用于特別龐大的或大量的音視頻文件的處理。
      【專利附圖】

      【附圖說明】
      [0053]圖1為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的結(jié)構(gòu)框圖;
      圖2為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的輸入處理模塊的結(jié)構(gòu)框圖;
      圖3為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的輸出處理模塊的結(jié)構(gòu)框圖;
      圖4為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的處理流程示意圖;
      圖5為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的Map文件的結(jié)構(gòu)示意圖; 圖6為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的處理步驟S5的處理流程圖;
      圖7為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的信息文件的結(jié)構(gòu)示意圖;
      圖8為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的分割后的音頻和視頻文件的結(jié)構(gòu)示意圖;
      圖9為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的處理步驟S8中的視頻文件處理流程
      圖;
      圖10為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的處理步驟S8中的音頻文件處理流程
      圖;
      圖11為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的處理步驟S9中輸出處理單元的處理流程圖;
      圖12為本發(fā)明實施方式涉及的分布式處理系統(tǒng)的接收映射表結(jié)構(gòu)示意圖。
      【具體實施方式】
      [0054]下面根據(jù)附圖所示實施方式闡述本項發(fā)明。此次公開的實施方式可以認(rèn)為在所有方面均為例示,不具限制性。本發(fā)明的范圍不受上述實施方式的說明所限,僅由權(quán)利要求書的范圍所示,而且包括與權(quán)利要求范圍具有同樣意思及權(quán)利要求范圍內(nèi)的所有變形。
      [0055]圖1為分布式處理系統(tǒng)的結(jié)構(gòu)框圖。如圖1所示,本實施方式的分布式系統(tǒng)包括調(diào)度模塊(Dispatcher模塊)1、輸入處理單元2、數(shù)個視頻處理單元3和4、數(shù)個音頻處理單元5和6、輸出處理單元7、監(jiān)視模塊(Watcher模塊)8以及客戶端模塊(Client模塊)9。其中,調(diào)度模塊I用于協(xié)調(diào)整個系統(tǒng)的各部分的運行。輸入處理單元2包括監(jiān)控模塊(Monitor模塊)21、輸入處理模塊(Ingress模塊)22和傳輸模塊(Offer模塊)23。優(yōu)選地,上述監(jiān)控模塊21、輸入處理模塊22和傳輸模塊23之間可以采用消息隊列通信。上述視頻處理單元3 (4)包括監(jiān)控模塊(Monitor模塊)31 (41 )、視頻處理模塊(VP模塊)32 (42)和傳輸模塊(Offer模塊)33 (43)。優(yōu)選地,上述監(jiān)控模塊31 (41 )、視頻處理模塊32 (42)和傳輸模塊33 (43)之間可以采用消息隊列通信。音頻處理單元5 (6)包括監(jiān)控模塊(Monitor模塊)51 (61)、音頻處理模塊(AP模塊)52 (62)和傳輸模塊(Offer模塊)53 (63)。優(yōu)選地,上述監(jiān)控模塊51 (61)、音頻處理模塊52 (62)和傳輸模塊53 (63)之間可以米用消息隊列通信。輸出處理單元7包括監(jiān)控模塊(Monitor模塊)71、輸出處理模塊(Egress模塊)72和傳輸模塊(Offer模塊)73。優(yōu)選地,上述監(jiān)控模塊71、輸出處理模塊72和傳輸模塊73之間可以采用消息隊列通信。監(jiān)視模塊8與調(diào)度模塊I共享內(nèi)存并由此獲得調(diào)度模塊I中的所有信息。監(jiān)視模塊8將獲取的信息發(fā)送給客戶端模塊9,由客戶端模塊9將其以圖形界面顯示給用戶。上述調(diào)度模塊1、上述輸入處理單元2和上述監(jiān)視模塊(Watcher模塊)8可以共用一臺物理機器(服務(wù)器)。每一個視頻處理單元3或4可以單獨用一臺物理機器(服務(wù)器),即:上述監(jiān)控模塊31、上述視頻處理模塊32和上述傳輸模塊33可以共用一臺物理機器(服務(wù)器),以及上述監(jiān)控模塊41、上述視頻處理模塊42和上述傳輸模塊43可以共用一臺物理機(服務(wù)器),其中每一臺物理機器(服務(wù)器)可以每一次僅運行一個視頻處理進(jìn)程(VP進(jìn)程);每一個音頻處理單元5或6可以單獨用一臺物理機器(服務(wù)器),即:上述監(jiān)控模塊51、上述音頻處理模塊52和上述傳輸模塊53可以共用一臺物理機器(服務(wù)器),以及上述監(jiān)控模塊61、上述音頻處理模塊62和上述傳輸模塊63共用一臺物理機器(服務(wù)器),其中每一臺物理機器(服務(wù)器)可以每一次僅運行一個音頻處理進(jìn)程(AP進(jìn)程)。上述輸出處理單元7可以單獨用一臺物理機器(服務(wù)器),即:上述監(jiān)控模塊71、上述輸出處理模塊72和上述傳輸模塊73可以共用一臺物理機器(服務(wù)器)。
      [0056]上述調(diào)度模塊I分別與上述輸入處理單元2中的監(jiān)控模塊21、各個視頻處理單元(視頻處理單元3和4)中的監(jiān)控模塊(監(jiān)控模塊31和41)、各個音頻處理單元(音頻處理單兀5和6)中的監(jiān)控模塊(監(jiān)控模塊51和61)及上述輸出處理單兀7中的監(jiān)控模塊71進(jìn)行通信連接,用于協(xié)調(diào)整個系統(tǒng)中的輸入處理單元2、視頻處理單元3和4、音頻處理單元5和6和輸出處理單元7等各部分的運行。上述輸入處理單元2中的傳輸模塊23分別與各個視頻處理單元(視頻處理單元3和4)中的傳輸模塊(傳輸模塊33和43)和各個音頻處理單元(音頻處理單元5和6)中的傳輸模塊(監(jiān)控模塊53和63)進(jìn)行通信連接,用于向各個視頻處理單元(視頻處理單元3和4)中的傳輸模塊(傳輸模塊33和43)和各個音頻處理單元(音頻處理單兀5和6)中的傳輸模塊(傳輸模塊53和63)分別傳輸相應(yīng)的信息和數(shù)據(jù)。上述輸出處理單元7中的傳輸模塊73分別與各個視頻處理單元(視頻處理單元3和4)中的傳輸模塊(傳輸模塊33和43)和各個音頻處理單兀(音頻處理單兀5和6)中的傳輸模塊(傳輸模塊53和63)進(jìn)行通信連接,用于從各個視頻處理單元(視頻處理單元3和4)中的傳輸模塊(傳輸模塊33和43)和各個音頻處理單兀(音頻處理單兀5和6)中的傳輸模塊(傳輸模塊53和63)分別接受相應(yīng)的信息和數(shù)據(jù)。
      [0057]圖2為上述輸入處理模塊22的結(jié)構(gòu)框圖。如圖2所示,上述輸入處理模塊22包括解封裝模塊221、輸入數(shù)據(jù)處理模塊222和數(shù)據(jù)存儲模塊223,其中上述解封裝模塊221對上述輸入處理單元2所接受的源視頻文件進(jìn)行解封裝,上述輸入數(shù)據(jù)處理模塊222對音/視頻文件進(jìn)行處理,上述數(shù) 據(jù)存儲模塊223用于存儲音/視頻文件及相關(guān)信息。上述解封裝模塊221包括音/視頻文件格式判斷單元2211、解封裝選擇單元2212和數(shù)個解封裝單元2213、2214、2215……。其中,上述數(shù)個解封裝單元(2213、2214、2215……)具有不同的格式,并且上述解封裝選擇單元2212可以根據(jù)上述音/視頻文件格式判斷單元2211的判斷結(jié)果從上述數(shù)個解封裝單元中選擇相應(yīng)的解封裝單元對上述源視頻文件進(jìn)行解封裝,從而使得上述解封裝模塊221可以對應(yīng)于不同的文件格式進(jìn)行解封裝。輸入數(shù)據(jù)處理模塊222具有分割模塊2221和分配模塊2222。分割模塊2221可以將解封裝后的音/視頻文件分割成多個音頻數(shù)據(jù)片段和視頻數(shù)據(jù)片段,并分別給多個音頻數(shù)據(jù)片段和多個視頻數(shù)據(jù)片段編序號,分配模塊2222通過對分割后的片段的序號分別按照音頻處理單元和視頻處理單元的數(shù)量取模,以此確定每個音頻數(shù)據(jù)片段和視頻數(shù)據(jù)片段對應(yīng)的音頻處理單元和視頻處理單元。上述輸入處理模塊22能夠獲取所述源視頻文件的封裝格式信息,并將上述信息通過上述傳輸模塊23、33、43、53、63發(fā)送給上述輸出處理單元7。
      [0058]圖3為上述輸出處理模塊72的結(jié)構(gòu)框圖。如圖3所示,上述輸出處理模塊72包括封裝模塊721、輸出數(shù)據(jù)處理模塊722和存儲模塊723。其中,上述存儲模塊723存儲經(jīng)過上述視頻處理單元3和4及上述音頻處理單元5和6處理后的音頻文件和視頻文件,上述輸出數(shù)據(jù)處理模塊722對經(jīng)過上述視頻處理單元3和4及上述音頻處理單元5和6處理后的音頻文件和視頻文件進(jìn)行處理,并將經(jīng)上述輸出數(shù)據(jù)處理模塊722處理后的音頻文件和視頻文件輸送至上述封裝模塊721。
      [0059]上述封裝模塊721包括封裝格式選擇單元7211和數(shù)個具有不同的封裝格式的封裝單元7212、7213、7214……,其中上述封裝格式選擇單元7211根據(jù)上述傳輸模塊73所接收到的封裝格式信息從數(shù)個封裝單元(7212、7213、7214……)中選擇相應(yīng)的封裝單元進(jìn)行封裝,從而可以使得上述封裝模塊721對應(yīng)于不同的封裝格式的要求進(jìn)行封裝。
      [0060]圖4為本發(fā)明的分布式處理系統(tǒng)的處理流程示意圖。下面結(jié)合圖4來說明分布式處理系統(tǒng)的處理流程。操作人員開啟各物理機器(服務(wù)器),啟動上述分布式處理系統(tǒng)(步驟SI)。上述調(diào)度模塊I讀取系統(tǒng)文件(步驟S2)。優(yōu)選地,在步驟S2中,上述調(diào)度模塊I在指定目錄讀取系統(tǒng)配置文件(例如tvmccd.cfg),獲取該進(jìn)程的〈Input〉(輸入)、〈Server〉(月艮務(wù)器)和〈Port〉(端口)等配置項,同時在〈Input〉項指定的目錄(例如opt/tvmccd/ingress/Dispatcher/Input)讀取相應(yīng)的文件(例如tvmccd.par文件和logo文件)。根據(jù)相應(yīng)文件(例如tvmccd.par )中的內(nèi)容生成源視頻文件名與文件ID對應(yīng)的映射表文件(Map文件,例如tvmccd.map)ο圖5為本發(fā)明的分布式處理系統(tǒng)的Map文件的一例的示意圖,根據(jù)Map文件可以查詢源視頻文件名與文件ID的對應(yīng)關(guān)系。上述logo文件可以有多個,也可以沒有l(wèi)ogo文件。系統(tǒng)配置文件中記錄有整個分布式系統(tǒng)的配置信息,如:各模塊所在計算機的IP地址、使用的端口號、工作目錄的位置、視頻處理和音頻處理模塊的數(shù)量、任務(wù)分配的方法等。PAR文件中記錄有待處理文件的文件名及處理后的文件名、處理后的音/視頻文件的編碼格式、碼率、幀率、分辨率等各項參數(shù)。LOGO文件記錄的是用戶需要在視頻中加入的水印、字幕等的內(nèi)容及其大小、位置等參數(shù)。與調(diào)度模塊I同樣的,系統(tǒng)中的其他模塊也都從各自的指定目錄中讀取系統(tǒng)配置文件,從配置文件中獲得系統(tǒng)中各模塊的通信地址等信息,以此與需要通信的其他模塊建立連接。上述調(diào)度模塊I分別與上述輸入處理單元2的監(jiān)控模塊21、各視頻 處理單元(3和4)的監(jiān)控模塊(31和41)、各音頻處理單元的監(jiān)控模塊(51和61)和上述輸出處理單元7的監(jiān)控模塊71之間建立通信連接(步驟S3)。優(yōu)選地,在步驟S3中,上述調(diào)度模塊I建立Socket監(jiān)聽(監(jiān)聽端口號Dispatcher_Port在系統(tǒng)配置文件中,比如tvmccd.cfg),等待上述各監(jiān)控模塊的連接請求。各處理單元按系統(tǒng)配置文件中的地址向調(diào)度模塊I發(fā)出建立Socket連接的請求,一旦上述調(diào)度模塊I監(jiān)聽到上述監(jiān)控模塊的Socket連接請求,接受上述各監(jiān)控模塊的連接請求并建立Socket鏈接,同時將上述相應(yīng)的文件發(fā)送給對應(yīng)的監(jiān)控模塊(監(jiān)控模塊21、31、41、51、61或71)。例如,將tvmccd.par和tvmccd.map文件發(fā)送給每一個監(jiān)控模塊,將logo文件發(fā)送給各視頻處理單元(5和6)的監(jiān)控模塊(51和61)。
      [0061]上述輸入處理單元2的傳輸模塊23與各視頻處理單元(3和4)的傳輸模塊(33和43)和各音頻處理單元(5和6)的傳輸模塊(53和63)建立通信連接,同時上述輸出處理單元7的傳輸模塊73與各視頻處理單元(3和4)的傳輸模塊(33和43)和各音頻處理單元(5和6)的傳輸模塊(53和63)建立通信連接(步驟S4)。上述輸入處理單元2開始對源視頻文件的處理(步驟S5)。
      [0062]圖6為上述步驟S5的處理流程圖。如圖6所示,上述輸入處理單元2的輸入處理模塊22將源視頻文件的處理進(jìn)程的啟動時間和名稱等信息發(fā)送給上述監(jiān)控模塊21 (步驟S51)。上述輸入處理模塊22在指定目錄讀取系統(tǒng)配置文件(比如tvmccd.cfg文件),獲取相應(yīng)的〈Source〉(源項)“Processed〉(處理項)、〈Failed> (錯誤項)、〈0utput> (輸出項)和〈Send〉(發(fā)送項)等配置項(步驟S52)。上述輸入處理模塊22從上述〈Source〉項目錄按順序讀取源視頻文件(步驟S53),并由上述輸入處理模塊22的解封裝模塊221依次對上述源視頻文件進(jìn)行解封裝(步驟S54)。如果源視頻文件解封裝成功(步驟S55:是),獲取相應(yīng)的音、視頻巾貞序列,并將解封裝成功的源視頻文件從〈Source〉項目錄移送至〈Processed〉目錄和將解封裝后的音、視頻幀序列存儲至上述存儲模塊223(步驟S56)。上述輸入處理模塊22的輸入數(shù)據(jù)處理模塊222對上述存儲模塊223中的音、視頻幀序列進(jìn)行處理,獲取其相關(guān)信息(比如編碼信息等),并將所獲取的相關(guān)信息(比如編碼信息等)寫入信息文件(info文件)(步驟S57)。圖7為信息文件的格式示意圖。如圖7中所示,信息文件中含有源文件ID、文件長度、編碼類型等。本實施例中,視頻信息文件以V1-文件ID.1nfo的格式命名,其中還包含視頻比特率、視頻高度、視頻寬度等信息;音頻信息文件以Al-文件ID.1nfo的格式命名,其中還包含音頻比特率、采樣率、聲道數(shù)等信息。在步驟S57中,當(dāng)info文件正在寫時,info文件被寫入〈Output〉目錄,當(dāng)info文件寫完成并確認(rèn)無誤時,將info文件移送到〈Send〉目錄。上述輸入處理模塊22的輸入數(shù)據(jù)處理模塊222將視頻幀序列和音頻幀序列分別分割成多個以GOP (畫面組)為單位的視頻數(shù)據(jù)片斷(視頻文件)和多個以GOA (即與GOP相對應(yīng)的音頻數(shù)據(jù)單元)為單位的音頻數(shù)據(jù)片段(音頻文件)(步驟S58)。比如,對于MPEG文件,每個GOP以I幀開始,I幀后面可以跟隨著P幀和B幀構(gòu)成一個G0P。由于只有I幀具有完整的畫面的數(shù)據(jù),P幀和B幀只具有相對其他幀有變化的數(shù)據(jù),每個GOP段的幀分割在一個文件中可以避免P幀和B幀的數(shù)據(jù)因為與對應(yīng)的I幀不在一個GOP文件里而無法恢復(fù)完整的畫面數(shù)據(jù)。圖8為GOP或GOA文件的格式示意圖。如圖8中所示,分割后的每個GOP文件和GOA文件中包含其源文件ID、本GOP或GOA文件在源文件的所有的GOP或GOA文件中的序號、包含的幀數(shù)等信息以及幀數(shù)據(jù)部分。輸入數(shù)據(jù)處理模塊222以一定規(guī)則命名分割后的GOP文件和GOA文件,文件名中包括該文件對應(yīng)的源文件的文件ID、該文件在源文件的所有GOP或GOA文件中的序號和文件類型(G0P文件或GOA文件)(步驟S59)。例如,文件可以標(biāo)記為gop,其中“R)l”是源文件的文件ID,“-1”表示該文件在分割后的文件中序號為I,文件后綴“.gop”表示該文件是GOP文件;由此文件名就可以確定該文件是文件ID為FOl的源文件的第I個GOP文件。輸入數(shù)據(jù)處理模塊222根據(jù)一定的分配規(guī)則對視頻文件和音頻文件進(jìn)行分配,例如,輸入數(shù)據(jù)處理模塊222查詢系統(tǒng)配置文件中的音頻和視頻處理單元的數(shù)量,將GOP或GOA文件的序號按照視頻或音頻處理單元的數(shù)量取模,由此確定將該GOP或GOA文件分配給哪個視頻或音頻處理單元進(jìn)行處理(步驟S510 )。例如,有序號為1-9的9個GOP文件,當(dāng)前如圖1所示有2個視頻處理單元3和4 ;輸入數(shù)據(jù)處理模塊222依次用每個GOP文件的序號進(jìn)行模2 (視頻處理單元的數(shù)量)的運算,結(jié)果為I的文件分配給視頻處理單元3,結(jié)果為O的文件分配給視頻處理單元4。如此,文件1、
      3、5、7、9被分配給視頻處理單元3,文件2、4、6、8被分配給視頻處理單元4。如果當(dāng)前有4個視頻處理單元VP1-VP4,則用每個GOP文件的序號進(jìn)行模4 (視頻處理單元的數(shù)量)的運算,結(jié)果為I的文件分配給VPl,結(jié)果為2的文件分配給VP2,結(jié)果為3的文件分配給VP3,結(jié)果為O的文件分配給VP4。如此,文件1、5、9被分配給VPl,文件2、6被分配給VP2,文件3、7被分配給VP3,文件4、8被分配給VP4。同樣的,GOA文件也按此規(guī)則確定分配給哪個音頻處理單元。每個GOP或GOA文件的分配完成后,輸入處理模塊22將分配結(jié)果通過消息發(fā)送給輸入處理單兀2的傳輸模塊23。上述輸入處理模塊22的輸入數(shù)據(jù)處理模塊222將生成的GOP和GOA文件分別寫入〈Output〉項目錄,并當(dāng)每個GOP或GOA文件寫磁盤完成并確認(rèn)無誤時被移送至〈Send〉項目錄,源文件在處理完成后由〈Source〉目錄移送至〈Processed〉目錄(步驟S511),同時將GOP和GOA的總數(shù)寫入總數(shù)文件(total文件)(步驟S512)。在步驟S510中,當(dāng)total文件正在寫時,其被寫入〈Output〉項目錄,當(dāng)total文件寫完成并確認(rèn)無誤時,其被移送至〈Send〉項目錄。輸入處理單元2的傳輸模塊23接收輸入處理模塊22發(fā)送的各GOP和GOA文件的分配結(jié)果,并按該結(jié)果將GOP和GOA文件連同total文件發(fā)送給相應(yīng)的音/視頻處理單元(步驟S513)。在步驟S514中,將文件名(包括源文件和G0P、GOA文件的文件名)、文件ID、視頻幀數(shù)、音頻幀數(shù)、視頻編碼格式和音頻編碼格式發(fā)送給上述監(jiān)控模塊21。如果源視頻文件解封裝出錯(步驟S55:否),上述輸入處理單元2將上述解封裝出錯的源視頻文件從〈Source〉項目錄移送到〈Failed〉項目錄(步驟S515),同時將出錯的源視頻文件ID發(fā)送給上述監(jiān)控模塊21 (步驟S516)。上述監(jiān)視模塊8將上述監(jiān)控模塊21所收到的出錯信息發(fā)送到客戶端模塊9。用戶可以通過客戶端模塊9輸入命令,決定是否重新對上述源視頻文件進(jìn)行新一輪的處理,或者直接放棄對上述源視頻文件進(jìn)行新一輪的處理。
      [0063]返回圖4,在步驟S6中,上述輸入處理單元2的監(jiān)控模塊21將上述文件名、文件ID、視頻幀數(shù)、音頻幀數(shù)、視頻編碼格式和音頻編碼格式等相關(guān)信息發(fā)送給上述調(diào)度模塊1,同時上述輸入處理單元2的傳輸模塊23將上述〈Send〉目錄下的info文件、GOP和GOA文件和total文件等數(shù)據(jù)發(fā)送到相應(yīng)的視頻處理單元3 (4)和音頻處理單元5 (6)(步驟S6)。
      [0064]在步驟S7中,上述調(diào)度模塊I將視頻幀數(shù)、音頻幀數(shù)、視頻編碼格式和音頻編碼格式等相關(guān)信息發(fā)送到相應(yīng)的視頻處理單元3、4和音頻處理單元5、6以及輸出處理單元7中。
      [0065]在步驟S8中,上述視頻處理單元3 (4)的視頻處理模塊32 (42)根據(jù)監(jiān)控模塊31(41)所接收到的視頻幀數(shù)和視頻編碼格式等相關(guān)信息和輸送模塊33 (43)所接收到的視頻文件和info文件等信息對上述GOP文件(視頻文件)進(jìn)行相應(yīng)的處理,同時上述音頻處理單元5 (6)根據(jù)監(jiān)控模塊51 (61)所接收到的音頻幀數(shù)和音頻編碼格式等相關(guān)信息和輸送模塊53 (63)所接收到的音頻文件和info文件等信息對上述GOA文件(音頻文件)進(jìn)行相應(yīng)的處理,并將經(jīng)過處理后的音/視頻文件發(fā)送至上述輸出處理單元7。
      [0066]圖9為步驟S8中的視頻文件處理流程圖。在本實施方式中,視頻處理單元3和視頻處理單元4的視頻文件處理流程相同,因此僅就視頻處理單元3介紹視頻文件處理流程。如圖9所示,上述視頻處理單元3的視頻處理模塊32將視頻文件處理進(jìn)程的啟動時間和收到的視頻文件的ID信息(例如收到了以下文件:F01-1.gop, F01-3.gop, F01-5.gop等和F02-l.gop,F(xiàn)02-3.gop等)發(fā)送給上述監(jiān)控模塊31 (步驟S811)。上述監(jiān)控模塊31可以將上述啟動時間和視頻文件的ID信息反饋到上述調(diào)度模塊I,使得系統(tǒng)能夠監(jiān)控上述視頻處理單元3的處理進(jìn)程狀況。上述視頻處理模塊32在指定目錄讀取系統(tǒng)配置文件(tvmccd.cfg),獲取上述視頻處理單元3的處理進(jìn)程的〈Source〉(源項)、〈Output〉(輸出項)和〈Send〉(發(fā)送項)等配置項(步驟S812),并在〈Source〉項目錄讀取相關(guān)信息(info文件)和視頻文件(gop文件)(步驟S813)。如果〈Source〉項目錄下有total文件,則上述視頻處理模塊32將上述total文件移送至〈Send〉項目錄。然后,上述視頻處理模塊32根據(jù)監(jiān)控模塊31所接收到的視頻編碼格式信息選擇相應(yīng)的解碼器對上述視頻文件進(jìn)行解碼(步驟S814)。如果解碼成功(步驟S815:是),上述視頻處理模塊32對上述經(jīng)解碼后的視頻數(shù)據(jù)進(jìn)行預(yù)定處理(步驟S816)。上述預(yù)定處理可以是視頻幀率定制調(diào)節(jié)、向視頻中添加滾屏信息、不同音/視頻文件的合并等。上述視頻處理模塊32根據(jù)監(jiān)控模塊31從調(diào)度模塊I收到的處理后的文件的參數(shù)要求將經(jīng)過處理后的視頻數(shù)據(jù)進(jìn)行編碼,獲取經(jīng)處理后的視頻文件(gop文件),并將正在輸出的視頻文件(gop文件)寫到〈Output〉項目錄,在寫磁盤結(jié)束并校驗無誤后將該文件移送到〈Send〉項目錄,由上述傳輸模塊33輸送至上述輸出處理單元7 (步驟S817)。
      [0067]如果解碼出錯(步驟S815:否),并且該視頻文件的解碼次數(shù)η沒有超過預(yù)定閾值a(步驟S818:否),則將上述解碼次數(shù)η加I (步驟S819)并返回到步驟S814進(jìn)行重新解碼,如果該視頻文件的解碼次數(shù)η超過預(yù)定閾值a (步驟S818:是),則將解碼出錯的視頻文件的ID信息發(fā)送給監(jiān)控模塊31 (步驟S8110)。上述監(jiān)控模塊31將解碼出錯的視頻文件的ID信息反饋給上述調(diào)度模塊1,上述調(diào)度模塊I可以選擇讓輸入處理單元2向上述視頻處理單元3再次發(fā)送該出錯的視頻文件,或讓輸入處理單元2將該出錯的視頻文件重新加入未被上述輸入處理單元2的傳輸模塊23發(fā)送的剩余視頻文件中并進(jìn)行重新編序號,再根據(jù)上述一定的分配規(guī)則將該出錯的視頻文件分配給相應(yīng)的視頻處理單元進(jìn)行處理。此外,調(diào)度模塊I也可以選擇直接忽略該解碼錯誤,并將錯誤信息輸出給用戶。
      [0068]圖10為步驟S8中的音頻文件處理流程圖。在本實施方式中,音頻處理單元5和音頻處理單元6的視頻文件處理流程相同,因此僅就音頻處理單元5介紹音頻文件處理流程。如圖10所示,上述音頻處理單元5的音頻處理模塊52將音頻文件處理進(jìn)程的啟動時間和音頻文件的ID信息(例如收到了以下文件=FOl-L goa,F01-3.goa,F01-5.goa等和F02-1.goa,F(xiàn)02-3.goa等)發(fā)送給上述監(jiān)控模塊51 (步驟S821)。上述監(jiān)控模塊51可以將上述啟動時間和音頻文件的ID信息反饋到上述調(diào)度模塊I,使得系統(tǒng)能夠監(jiān)控上述音頻處理單元5的處理進(jìn)程狀況。上述音頻處理模塊52在指定目錄讀取系統(tǒng)配置文件(tvmccd.cfg),獲取上述音頻處理單元5的處理進(jìn)程的〈Source〉(源項)、〈0utput> (輸出項)和〈Send〉(發(fā)送項)等配置項(步驟S822),并在〈Source〉項目錄讀取相關(guān)信息(info文件)和音頻文件(goa文件)(步驟S823)。如果〈Source〉項目錄下有total文件,則上述音頻處理模塊52將上述total文件移送至〈Send〉項目錄。然后,上述音頻處理模塊52根據(jù)監(jiān)控模塊51從上述調(diào)度模塊I所接收到的音頻編碼格式信息選擇相應(yīng)的解碼器對上述音頻文件進(jìn)行解碼(步驟S824)。如果解碼成功(步驟S825:是),上述音頻處理模塊52對上述經(jīng)解碼后的音頻數(shù)據(jù)進(jìn)行預(yù)定處理(步驟S826)。上述預(yù)定處理可以是音量自動調(diào)節(jié)、音量定制調(diào)節(jié)或聲道處理等。上述音頻處理模塊52根據(jù)監(jiān)控模塊51從調(diào)度模塊I收到的處理后的文件的參數(shù)要求將經(jīng)過處理后的音頻數(shù)據(jù)進(jìn)行編碼,獲取經(jīng)處理后的音頻文件(goa文件),并將正在輸出的音頻文件(goa文件)寫到〈Output〉項目錄,在寫磁盤結(jié)束并校驗無誤后將該文件移送到〈Send〉項目錄,由上述傳輸模塊33輸送至上述輸出處理單元7 (步驟S827)。
      [0069]如果解碼出錯(步驟S825:否),并且該音頻文件的解碼次數(shù)m沒有超過預(yù)定閾值b(步驟S828:否),則將上述解碼次數(shù)m加I (步驟S829)并返回到步驟S824進(jìn)行重新解碼,如果該音頻文件的解碼次數(shù)m超過預(yù)定閾值b (步驟S828:是),則將解碼出錯的音頻文件的ID信息發(fā)送給監(jiān)控模塊51 (步驟S8210)。上述監(jiān)控模塊51將解碼出錯的音頻文件的ID信息反饋給上述調(diào)度模塊1,上述調(diào)度模塊I可以選擇讓輸入處理單元2向上述音頻處理單元5再次發(fā)送該出錯的音頻文件,或讓輸入處理單元2將該出錯的音頻文件重新加入未被上述輸入處理單元2的傳輸模塊23發(fā)送的剩余音頻文件中并進(jìn)行重新編序號,再根據(jù)上述一定的分配規(guī)則將該出錯的音頻文件分配給相應(yīng)的音頻處理單元進(jìn)行處理。此外,調(diào)度模塊I也可以選擇直接忽略該解碼錯誤,并將錯誤信息輸出給用戶。
      [0070]返回圖4,在步驟S9中,上述輸出處理單元7根據(jù)上述監(jiān)控模塊71從上述調(diào)度模塊I所接收到的相關(guān)信息對來自上述視頻處理單元3 (4)的視頻文件和來自上述音頻處理單元5 (6)的音頻文件進(jìn)行處理,獲得經(jīng)處理后的音視頻文件。
      [0071]圖11為步驟S9中上述輸出處理單元7的處理流程圖。如圖11所示,上述輸出處理單元7的輸出處理模塊72將輸出處理單元7的啟動時間及處理進(jìn)程的名稱發(fā)送給上述輸出處理單元7的監(jiān)控模塊71 (步驟S91)。上述輸出處理模塊72在指定目錄讀取系統(tǒng)配置文件(比如tvmccd.cfg),獲取上述處理進(jìn)程的配置項,例如<Source>(源項)、〈0utput>(輸出項)和〈FinishedX完成項)等配置項(步驟S92),并且監(jiān)控〈Source〉項目錄的write_close事件(寫入關(guān)閉事件),當(dāng)有write_close事件到來時,獲取write_close的文件的文件名,并記錄最新的write_close事件的時刻(步驟S93)。由此,可以監(jiān)控〈Source〉項目錄最新收到的文件,如果收到由傳輸模塊23經(jīng)過傳輸模塊33、43、53和/或63傳輸?shù)絺鬏斈K73的total文件,就讀取total文件中關(guān)于音頻文件的總數(shù)信息和視頻文件的總數(shù)信息,比如GOP文件的總數(shù)信息和GOA文件的總數(shù)信息,同時上述輸出數(shù)據(jù)處理模塊721獲取音/視頻文件(比如GOP和GOA文件)(步驟S94)。根據(jù)total文件中的GOP和GOA文件的總數(shù)信息,輸出數(shù)據(jù)處理模塊722為每個源文件生成GOP和GOA文件的接收映射表(步驟S95)。接收映射表的結(jié)構(gòu)參照圖12,并且上述所接收到的音頻文件的總數(shù)信息和視頻文件的總數(shù)信息以及所生成的接收映射表均可存儲在上述輸出處理模塊72的存儲模塊723中。圖12為接收映射表的結(jié)構(gòu)示意圖。由圖12可以看出,接收映射表中記錄有源文件的文件ID和該源文件的所有GOP和GOA文件,并為每個GOP和GOA文件預(yù)留了一個狀態(tài)標(biāo)識。初始的狀態(tài)標(biāo)識為0,表示未收到該GOP或GOA文件。輸出數(shù)據(jù)處理模塊722掃描已經(jīng)收到的GOP和GOA文件,并依次在接收映射表中將該GOP或GOA文件的狀態(tài)標(biāo)識設(shè)為1,表示收到了該GOP或GOA文件(步驟S96)。例如,輸出數(shù)據(jù)處理模塊722收到了文件ID為FOl的total文件,該total文件顯示文件FOl有9個GOP文件R)l-1.gop?R)l_9.gop和9個GOA文件R)l-1.goa?R)l_9.goa。據(jù)此,輸出數(shù)據(jù)處理模塊722為文件ID為FOl的源文件建立如圖12所示的接收映射表。然后,輸出數(shù)據(jù)處理模塊722掃描已經(jīng)收到的GOP和GOA文件中屬于該源文件的部分。根據(jù)輸入處理單元分割文件時的命名規(guī)則,輸出數(shù)據(jù)處理模塊722掃描到以FOl開頭的.gop或.goa文件就可以判斷出該文件屬于源文件H) I,H) 1-1.gop就是該源文件的第一個GOP文件。如此,可以將已收到的源文件FOl的所有GOP和GOA文件在在接收映射表中標(biāo)記為已接收。由于〈Source〉項目錄的write_close事件被監(jiān)控,輸出數(shù)據(jù)處理模塊722可以監(jiān)控新收到的GOP和GOA文件,并將其在接收映射表中標(biāo)記為已接收。接收映射表中還包括接收到的GOP和GOA文件的數(shù)量信息,每收到一個GOP或GOA文件,將對應(yīng)的文件數(shù)量加I (步驟S97)。
      [0072]上述輸出數(shù)據(jù)處理模塊722將接收映射表中記錄的GOP和GOA文件的數(shù)量與total文件中記錄的數(shù)量進(jìn)行對比(步驟S98)。當(dāng)數(shù)量一致時(步驟S98:是),輸出數(shù)據(jù)處理模塊722掃描接收映射表,看是否每個GOP和GOA文件的狀態(tài)標(biāo)識均為已接收(步驟S99)。當(dāng)接收到的文件總數(shù)與total文件的信息不同時,說明還有GOP或GOA文件沒有接收到。
      [0073]如果上述輸出數(shù)據(jù)處理模塊722判斷上述源視頻文件的所有GOP和GOA文件均已接收(步驟S99:是),則在上述輸出處理模塊72的封裝模塊721中進(jìn)行封裝處理(步驟S910)。如果封裝成功(步驟S911:是),上述封裝模塊721將封裝成功的新音視頻文件輸出到上述輸出數(shù)據(jù)處理單元7的傳輸模塊73(步驟S912)。如果封裝出錯(步驟S911:否),上述輸出數(shù)據(jù)處理模塊722判斷嘗試重新封裝處理的次數(shù)M是否超出預(yù)定值B (步驟S917)。如果上述嘗試重新封裝處理的次數(shù)M沒有超出預(yù)定值B (步驟S917:否),將M加I (步驟S918),并回到上述封裝模塊721再次嘗試封裝處理。如果上述嘗試重新封裝處理的次數(shù)M超出預(yù)定值B (步驟S917:是),將封裝出錯的音、視頻文件的ID信息發(fā)送給上述輸出處理單元7的監(jiān)控模塊71 (步驟S919),上述監(jiān)控模塊71將上述封裝錯誤信息和上述封裝出錯的音、視頻文件的ID信息反饋給上述調(diào)度模塊I (步驟S920)。上述調(diào)度模塊I根據(jù)要求決定是否重新對上述源視頻文件進(jìn)行新一輪的處理,或者直接放棄對上述源視頻文件進(jìn)行新一輪的處理。
      [0074]如果上述輸出數(shù)據(jù)處理模塊722判斷上述源視頻文件中的所有音、視頻文件(G0P和GOA文件)沒有被完全接收(步驟S96:否),則上述輸出數(shù)據(jù)處理模塊722判斷等待沒有被接收的音、視頻文件的時間N是否超過預(yù)定閾值A(chǔ)(步驟S913)。如果等待沒有被接收音、視頻文件的時間N沒有超過預(yù)定閾值A(chǔ) (步驟S913:否),則繼續(xù)等待沒有被接收的音、視頻文件。如果等待沒有被接收音、視頻文件的時間N超過預(yù)定閾值A(chǔ) (步驟S913:是),則上述輸出數(shù)據(jù)處理模塊722檢查上述音、視頻文件的接收映射表,獲得未收到的音頻文件的ID信息和/或視頻文件的ID信息等,并將其發(fā)送給上述輸出處理單元7的監(jiān)控模塊71 (步驟S914)。例如,如圖12所示,上述輸出數(shù)據(jù)處理模塊722通過檢查上述接收映射表發(fā)現(xiàn)Tvm.mp4的F01-4.goa和F01-6.gop兩個文件在等待時間超過上述預(yù)定閾值A(chǔ)后仍沒收到,上述輸出數(shù)據(jù)處理模塊722將未收到文件的文件ID發(fā)送給上述輸出處理單元7的監(jiān)控模塊71。其中,上述等待時間可以由輸出處理模塊72讀取到了某源文件的total文件起計算,也可以自該源文件的接收映射表被建立之時起計算。上述監(jiān)控模塊71將上述音、視頻文件接收錯誤信息和未收到的音頻和/或視頻文件的ID信息反饋到上述調(diào)度模塊I (步驟S915)。上述調(diào)度模塊I根據(jù)上述監(jiān)控模塊71所反饋的上述音、視頻文件接收錯誤信息和未收到的音頻文件的ID信息和/或視頻文件的ID信息可以命令上述輸入處理單元2根據(jù)上述一定的分配規(guī)則重新分配給音頻處理單元和/或視頻處理單元(步驟S916),即將該文件的序號按音頻或視頻處理單元的數(shù)量取模。因此,如果處理單元數(shù)量較初次分配時發(fā)生變化,該文件會被分配給與初次分配時不同的處理單元。例如,F(xiàn)01-7.gop初次分配時系統(tǒng)中有4個視頻處理單元VP1-VP4,該文件被分配給VP3。輸出處理單元未收到該文件后要求輸入處理單元2重新處理該文件。此時,VP2已因故障退出系統(tǒng),系統(tǒng)中還有3個視頻處理單元VP1、VP3、VP4。因此,輸入處理單元2的分配規(guī)則就變成用文件序號模3,結(jié)果為I的文件分配給VP1,結(jié)果為2的文件分配給VP3,結(jié)果為O的文件分配給VP4。按此規(guī)則,F(xiàn)01-7.gop被重新分配給VPI。
      [0075]在步驟S916還可以采用以下處理方式:輸入處理單元2每收到一個需要重新處理的GOP或GOA文件就賦予其一個重新處理的序號,并按該序號進(jìn)行分配。例如,輸入處理單元2先后收到了 3個需要重新處理的GOP文件的ID:F01-7.gop,F03-2.gop,F02-4.gop。輸入處理單元2的分配模塊2222每收到一個需重新處理的GOP文件,就將其維護的需重新處理的GOP文件的序號加I并賦予新收到的GOP文件。如此,F(xiàn)01-7.gop,F03-2.gop,F02-4.gop依次被賦予序號1、2、3。假設(shè)此時系統(tǒng)中有2個視頻處理單元VP1-VP2,分配模塊2222將F01-7.gop的序號I模2,結(jié)果為1,分配給VPl ;將R)3_2.gop的序號2模2,結(jié)果為0,分配給VP2 ;將R)2-4.gop的序號3模2,結(jié)果為1,分配給VPl。然后分配模塊2222將以上分配信息發(fā)送給傳輸模塊23,由傳輸模塊23發(fā)送給相應(yīng)的視頻處理單元。如果輸入處理單元2收到需要重新處理的GOA文件,采用同樣的方法進(jìn)行分配。需要重新處理的GOP文件和GOA文件分別進(jìn)行排序,具有彼此獨立的序號。
      [0076]輸入處理模塊、視頻處理模塊、音頻處理模塊以及輸出處理模塊定時通過消息隊列向各自的監(jiān)控模塊報告各自模塊的工作狀態(tài)、當(dāng)前任務(wù)、已完成任務(wù)等,同時還將上述內(nèi)容記入各自的日志文件。各監(jiān)控模塊定時將本處理單元的IP地址、系統(tǒng)負(fù)荷、網(wǎng)絡(luò)狀況、本進(jìn)程狀態(tài)以及從本單元的處理模塊收到的上述信息發(fā)送給調(diào)度模塊I。監(jiān)視模塊8定時與調(diào)度模塊I分享上述信息,并通過客戶端模塊9處理后以圖形界面顯示給用戶。
      [0077]調(diào)度模塊I利用各監(jiān)控模塊發(fā)來的信息維護配置文件,配置文件中為每個物理機器分配了一個狀態(tài)屬性,當(dāng)該機器因掉電或斷網(wǎng)暫時退出系統(tǒng)時,狀態(tài)屬性被設(shè)為不可用;當(dāng)有新的物理機器加入系統(tǒng)時,用戶指令調(diào)度模塊I在配置文件中添加該機器的信息。配置文件中的信息發(fā)生變化后,調(diào)度模塊I賦予其一個新的版本號,并立即將其發(fā)送至各控制豐吳塊。
      [0078]如果系統(tǒng)運行中調(diào)度模塊I掉電或者無響應(yīng),客戶端模塊9就無法從監(jiān)視模塊8獲取數(shù)據(jù),這種情況持續(xù)一定時間后,客戶端模塊9會通過提示框或警報聲等方法提示用戶排除故障。故障排除后,調(diào)度模塊I重新讀取配置文件與各監(jiān)控模塊建立連接,各監(jiān)控模塊根據(jù)各自的日志將未成功傳送給調(diào)度模塊I的信息重新傳送。
      [0079]如果某一監(jiān)控模塊停止工作,調(diào)度模塊I在經(jīng)過一定時間沒有從該模塊收到信息后判斷該模塊出現(xiàn)故障。故障原因可能是由斷電或斷網(wǎng)造成的物理故障也可能是該模塊的進(jìn)程無響應(yīng)。調(diào)度模塊I偵測與該監(jiān)控模塊的物理機器的連接是否正常(比如可以使用ping命令),如果不正常說明是物理故障,通過客戶端模塊9向用戶發(fā)送提示。如果連接正常說明是該模塊的進(jìn)程無響應(yīng),則等待一定時間后再試,經(jīng)過一定次數(shù)的嘗試仍無法通信再通過客戶端模塊9向用戶發(fā)送提示。
      [0080]如果某一處理單元所在的物理機器掉電,重新通電后,該監(jiān)控模塊的處理單元重新初始化與其他模塊建立連接。如果掉電的機器是輸入處理單元、視頻處理單元或音頻處理單元所在的機器,已經(jīng)完成處理的文件會被從〈Source〉項目錄移送至〈Processed〉或〈failed〉等目錄,因此,恢復(fù)后只要從〈Source〉項目錄讀取文件繼續(xù)進(jìn)行處理即可。如果掉電的機器是輸出處理單元所在的機器,初始化后,輸出處理模塊掃描〈Source〉項目錄,讀取目錄下的total文件,建立音、視頻文件的接收映射表,并根據(jù)〈Source〉項目錄下的GOP和GOA文件填寫接收映射表。掃描的同時監(jiān)視最新收到的文件,對〈Source〉項目錄下的所有文件都完成上述操作后繼續(xù)S93?S917的處理。如果某一處理單元所在的物理機器斷網(wǎng),當(dāng)連接恢復(fù)時,調(diào)度模塊I向其發(fā)送最新的配置文件,該單元的監(jiān)控模塊查詢?nèi)罩?,并指令該單元的傳輸模塊將〈Send >目錄下的文件傳輸給指定的處理單元。
      [0081]如果監(jiān)控模塊的進(jìn)程無響應(yīng)后被重啟,重啟后首先與其他模塊建立通信,然后在日志中查詢與各模塊的最后通信時間,要求調(diào)度模塊I和對應(yīng)的處理模塊、傳輸模塊重傳該時間之后的信息。監(jiān)控模塊向調(diào)度模塊I發(fā)送信息時都帶有配置文件的版本號,因此,調(diào)度模塊I發(fā)現(xiàn)信息中的配置文件過期會重新發(fā)送新的配置文件。監(jiān)控模塊對收到的重傳的信息執(zhí)行正常的操作。
      [0082]如上所述,輸入處理模塊、視頻處理模塊、音頻處理模塊以及輸出處理模塊定時通過消息隊列向各自的監(jiān)控模塊報告各自模塊的工作狀態(tài),因此,當(dāng)某個模塊的進(jìn)程無響應(yīng)超過一定時間,對應(yīng)的監(jiān)控模塊就會發(fā)現(xiàn)異常,如果等待一定時間不能恢復(fù),監(jiān)控模塊就提醒用戶重啟該模塊的進(jìn)程或者自行重啟該模塊的進(jìn)程。重啟后,這些模塊從各自的工作目錄讀取文件進(jìn)行處理即可。
      [0083]在本實施方式中,各物理機器通過局域網(wǎng)連接,各模塊的地址為所在機器的IP地址和對應(yīng)端口號,但各物理機器也可以通過廣域網(wǎng)或高速總線等其他方式連接,只要可以賦予各模塊相應(yīng)的地址表示方式即可。
      [0084]另外,在利用本發(fā)明的系統(tǒng)處理大量的小體積視頻文件時,也可以省略分割音/視頻文件的步驟,讓每個音頻處理模塊和視頻處理模塊獨自處理一個源文件的音頻或視頻部分。
      [0085]在本實施方式中,分布式系統(tǒng)用于處理音視頻文件,但本系統(tǒng)改變相應(yīng)模塊的功能后也可以用于處理其他類型的數(shù)據(jù),只要這種分塊處理后再合并的處理流程不會對該數(shù)據(jù)的處理結(jié)果造成影響即可。
      【權(quán)利要求】
      1.一種分布式音視頻文件處理系統(tǒng),包括: 輸入處理單元,用于接收源視頻文件,對所述源視頻文件進(jìn)行處理獲得視頻數(shù)據(jù)和音頻數(shù)據(jù),并將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,并根據(jù)一定的分配規(guī)則將分割所得的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元/音頻數(shù)據(jù)處理單元進(jìn)行處理; 數(shù)個視頻數(shù)據(jù)處理單元,分別用于對經(jīng)分割后的視頻數(shù)據(jù)片段進(jìn)行處理; 數(shù)個音頻數(shù)據(jù)處理單元,分別用于對經(jīng)分割后的音頻數(shù)據(jù)片段進(jìn)行處理; 輸出處理單元,用于對經(jīng)處理后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行處理并輸出; 調(diào)度單元,用于協(xié)調(diào)所述輸入處理單元、所述數(shù)個視頻數(shù)據(jù)處理單元、所述數(shù)個音頻數(shù)據(jù)處理單元及輸出處理單元的工作。
      2.根據(jù)權(quán)利要求1所述的音視頻文件處理系統(tǒng),其特征在于: 所述輸入處理單元將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的順序號按視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元的數(shù)量分別進(jìn)行模運算,根據(jù)模運算的結(jié)分別將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元進(jìn)行處理。
      3.根據(jù)權(quán)利要求1所述的音視頻文件處理系統(tǒng),其特征在于: 所述輸入處理單兀具有第一監(jiān)控模塊、第一處理模塊和第一傳輸模塊; 各視頻數(shù)據(jù)處理單元分別具有第二監(jiān)控模塊、第二處理模塊和第二傳輸模塊; 各音頻數(shù)據(jù)處理單元分別具有第三監(jiān)控模塊、第三處理模塊和第三傳輸模塊; 所述輸出處理單元具有第四監(jiān)控模塊、第四處理模塊和第四傳輸模塊;其中, 所述第一、第二、第三和第四監(jiān)控模塊分別與所述調(diào)度單元進(jìn)行通信連接,從所述調(diào)度單元接收相關(guān)指令,并各自將相關(guān)處理單元的運行狀態(tài)報告給所述調(diào)度單元;所述第一傳輸模塊分別與各所述第二傳輸模塊和各所述第三傳輸模塊通信連接,將需要處理的相應(yīng)的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分別發(fā)送至各所述第二傳輸模塊和各所述第三傳輸模塊;所述第四傳輸模塊分別與各所述第二傳輸模塊和各所述第三傳輸模塊通信連接,接收經(jīng)處理后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段。
      4.根據(jù)權(quán)利要求3所述的音視頻文件處理系統(tǒng),其特征在于: 所述輸入處理單元對所接收的源文件進(jìn)行解封裝,獲得視頻序列和音頻序列,并分別將所述視頻序列和所述音頻序列進(jìn)行分割處理。
      5.根據(jù)權(quán)利要求1所述的音視頻文件處理系統(tǒng),其特征在于:所述輸出處理單元在判斷從各視頻數(shù)據(jù)處理單元和各音頻數(shù)據(jù)處理單元接收到經(jīng)處理后的所有的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將所接到的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行合并,并按照預(yù)定格式進(jìn)行封裝。
      6.根據(jù)權(quán)利要求3所述的音視頻文件處理系統(tǒng),其特征在于: 所述調(diào)度單元和所述第一、第二、第三和第四監(jiān)控模塊通過系統(tǒng)配置文件獲取的地址信息進(jìn)行通信。
      7.根據(jù)權(quán)利要求6所述的音視頻文件處理系統(tǒng),其特征在于: 所述第一、第二、第三和第四監(jiān)控模塊分別定期地將相應(yīng)處理單元的運行狀態(tài)信息發(fā)送給所述調(diào)度單元;所述調(diào)度單元根據(jù)所述運行狀態(tài)信息維護系統(tǒng)配置文件,并將更新的系統(tǒng)配置文件分別發(fā)送給所述第一、第二、第三和第四監(jiān)控模塊。
      8.根據(jù)權(quán)利要求6所述的音視頻文件處理系統(tǒng),其特征在于: 系統(tǒng)配置文件的內(nèi)容包括所述視頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運行狀態(tài)和工作目錄和所述音頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運行狀態(tài)和工作目錄。
      9.根據(jù)權(quán)利要求6所述的音視頻文件處理系統(tǒng),其特征在于: 當(dāng)所述視頻數(shù)據(jù)處理單元和所述音頻數(shù)據(jù)處理單元的中一個的處理發(fā)生錯誤時,其相應(yīng)的第二或第三監(jiān)控模塊向所述調(diào)度單元報告該錯誤; 所述調(diào)度模塊確定重新執(zhí)行發(fā)生錯誤的處理或忽略該錯誤。
      10.根據(jù)權(quán)利要求9所述的音視頻文件處理系統(tǒng),其特征在于: 所述輸入處理單元將出錯的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新加入未被發(fā)送的剩余視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段中并進(jìn)行重新編序,再將所述重新編序所得的順序號按所述視頻數(shù)據(jù)處理單元和/或所述音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將所述出錯的視 頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元進(jìn)行處理。
      11.根據(jù)權(quán)利要求1所述的音視頻文件處理系統(tǒng),其特征在于: 所述輸入處理單元獲取所述源視頻文件的解封裝后的視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式,并將所述視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式發(fā)送給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元。
      12.根據(jù)權(quán)利要求1~11所述的音視頻文件處理系統(tǒng),其特征在于: 所述輸入處理單元將源文件經(jīng)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量發(fā)送給所述輸出處理單元。
      13.根據(jù)權(quán)利要求12所述的音視頻文件處理系統(tǒng),其特征在于: 所述輸入處理單元向分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段中插入該片段的源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息。
      14.根據(jù)權(quán)利要求13所述的音視頻文件處理系統(tǒng),其特征在于: 所述輸入處理單元將所述源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息插入到分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的文件名中。
      15.根據(jù)權(quán)利要求13所述的音視頻文件處理系統(tǒng),其特征在于: 所述輸出處理單元根據(jù)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量建立該源文件的接收映射表,根據(jù)輸入處理單元向分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段中插入的該片段的源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息在接收映射表中將收到的已處理的數(shù)據(jù)片段標(biāo)記為已收到; 當(dāng)所述輸出處理單元判斷接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段均標(biāo)記為已收到時,對所述經(jīng)處理后的視頻數(shù)據(jù)片段和所述經(jīng)處理后的音頻數(shù)據(jù)片段進(jìn)行整合處理,獲得經(jīng)處理后的音視頻文件; 當(dāng)所述輸出處理單元判斷經(jīng)過一定時間后接收映射表中有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段標(biāo)記為未收到時,將相應(yīng)的經(jīng)分割后的視頻數(shù)據(jù)片段或/和經(jīng)分割后的音頻數(shù)據(jù)片段的缺失信息發(fā)送至所述調(diào)度單元。
      16.根據(jù)權(quán)利要求15所述的音視頻文件處理系統(tǒng),其特征在于: 所述接收映射表中還包含已收到的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量; 所述輸出處理單元判斷接收映射表中的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量與所述輸入處理單元發(fā)送的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量一致后,才進(jìn)行接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段是否均標(biāo)記為已收到的判斷。
      17.根據(jù)權(quán)利要求15所述的音視頻文件處理系統(tǒng),其特征在于: 當(dāng)所述調(diào)度單元接收到所述缺失信息時,指示所述輸入處理單元將缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段的順序號按當(dāng)前視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元。
      18.根據(jù)權(quán)利要求15所述的音視頻文件處理系統(tǒng),其特征在于: 當(dāng)所述調(diào)度單元接收到視頻數(shù)據(jù)片段的缺失信息時,指示所述輸入處理單元將所有缺失的視頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前視頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元; 當(dāng)所述調(diào)度單元接收到音頻數(shù)據(jù)片段的缺失信息時,指示所述輸入處理單元將所有缺失的音頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的音頻數(shù)據(jù)片段重新分配給相應(yīng)的音頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的音頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元。
      19.一種分布式音視 頻文件處理方法,包括: 輸入處理步驟,通過輸入處理單元接收源視頻文件,對所述源視頻文件進(jìn)行處理獲得視頻數(shù)據(jù)和音頻數(shù)據(jù),并分別將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,并根據(jù)一定的分配規(guī)則將分割所得的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元進(jìn)行處理; 視頻數(shù)據(jù)處理步驟,分別使用數(shù)個視頻數(shù)據(jù)處理單元對經(jīng)分割后的視頻數(shù)據(jù)片段進(jìn)行處理; 音頻數(shù)據(jù)處理步驟,分別使用數(shù)個音頻數(shù)據(jù)處理單元對經(jīng)分割后的音頻數(shù)據(jù)片段進(jìn)行處理; 輸出處理步驟,通過輸出處理單元對經(jīng)處理后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行處理并輸出; 調(diào)度步驟,通過調(diào)度單元協(xié)調(diào)所述輸入處理單元、所述數(shù)個視頻數(shù)據(jù)處理單元、所述數(shù)個音頻數(shù)據(jù)處理單元及輸出處理單元的工作。
      20.根據(jù)權(quán)利要求19所述的音視頻文件處理方法,其特征在于:所述輸入處理步驟包括: 在所述輸入處理步驟中,將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的順序號按視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元的數(shù)量分別進(jìn)行模運算,根據(jù)模運算的結(jié)果分別將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元進(jìn)行處理。
      21.根據(jù)權(quán)利要求19所述的音視頻文件處理方法,其特征在于: 解封裝步驟,對所接收的源文件進(jìn)行解封裝,獲得視頻序列和音頻序列; 分割步驟,分別將所述視頻序列和所述音頻序列進(jìn)行分割處理。
      22.根據(jù)權(quán)利要求19所述的音視頻文件處理方法,其特征在于:在所述輸出處理步驟中,在判斷從各視頻數(shù)據(jù)處理單元和各音頻數(shù)據(jù)處理單元接收到經(jīng)處理后的所有的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將所接到的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行合并,并按照預(yù)定格式進(jìn)行封裝。
      23.根據(jù)權(quán)利要求19~21所述的音視頻文件處理方法,其特征在于: 在所述調(diào)度步驟中,通過系統(tǒng)配置文件獲取的地址信息進(jìn)行通信。
      24.根據(jù)權(quán)利要求22所述的音視頻文件處理方法,其特征在于: 在所述調(diào)度步驟中,相應(yīng)處理單元的運行狀態(tài)信息分別定期地被發(fā)送給所述調(diào)度單元,所述調(diào)度單元根據(jù)所述運行狀態(tài)信息維護系統(tǒng)配置文件,并發(fā)送更新的系統(tǒng)配置文件。
      25.根據(jù)權(quán)利要求22所述的音視頻文件處理方法,其特征在于: 系統(tǒng)配置文件的內(nèi)容包括所述視頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運行狀態(tài)和工作目錄和所述音頻數(shù)據(jù)處理單元的數(shù)量、物理地址、運行狀態(tài)和工作目錄。
      26.根據(jù)權(quán)利要求22所述的音視頻文件處理方法,其特征在于: 在所述視頻數(shù)據(jù)處 理步驟中,當(dāng)所述視頻數(shù)據(jù)處理單元中的一個的處理發(fā)生錯誤時,或在所述音頻數(shù)據(jù)處理步驟中,當(dāng)所述音頻數(shù)據(jù)處理單元中的一個的處理發(fā)生錯誤時,向所述調(diào)度單元報告該錯誤; 所述調(diào)度模塊確定重新執(zhí)行發(fā)生錯誤的處理或忽略該錯誤。
      27.根據(jù)權(quán)利要求25所述的音視頻文件處理方法,其特征在于: 所述輸入處理單元將出錯的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新加入未被發(fā)送的剩余視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段中并進(jìn)行重新編序,再將所述重新編序所得的順序號按所述視頻數(shù)據(jù)處理單元和/或所述音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將所述出錯的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元進(jìn)行處理。
      28.根據(jù)權(quán)利要求19所述的音視頻文件處理方法,其特征在于: 在所述輸入處理步驟中,獲取所述源視頻文件的解封裝后的視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式,并將所述視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式發(fā)送給相應(yīng)的視頻數(shù)據(jù)處理單元和音頻數(shù)據(jù)處理單元。
      29.根據(jù)權(quán)利要求19所述的音視頻文件處理方法,其特征在于: 在所述輸入處理步驟中,將源文件經(jīng)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量的分割信息發(fā)送給所述輸出處理單元。
      30.根據(jù)權(quán)利要求28所述的音視頻文件處理方法,其特征在于: 在所述輸入處理步驟中,所述輸入處理單元向分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段中插入該片段的源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息。
      31.根據(jù)權(quán)利要求28所述的音視頻文件處理方法,其特征在于: 在所述輸出處理步驟中,所述輸出處理單元根據(jù)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量建立該源文件的接收映射表,根據(jù)輸入處理單元向分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段中插入的該片段的源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息在接收映射表中將收到的已處理的數(shù)據(jù)片段標(biāo)記為已收到; 當(dāng)所述輸出處理單元判斷接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段均標(biāo)記為已收到時,對所述經(jīng)處理后的視頻數(shù)據(jù)片段和所述經(jīng)處理后的音頻數(shù)據(jù)片段進(jìn)行整合處理,獲得經(jīng)處理后的音視頻文件; 當(dāng)所述輸出處理單元判斷經(jīng)過一定時間后接收映射表中有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段標(biāo)記為未收到時,將相應(yīng)的經(jīng)分割后的視頻數(shù)據(jù)片段或/和經(jīng)分割后的音頻數(shù)據(jù)片段的缺失信息發(fā)送至所述調(diào)度單元。
      32.根據(jù)權(quán)利要求30所述的音視頻文件處理方法,其特征在于: 所述接收映射表中還包含已收到的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量; 所述輸出處理單元判斷接收映射表中的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量與所述輸入處理單元發(fā)送的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量一致后,才進(jìn)行接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段是否均標(biāo)記為已收到的判斷。
      33.根據(jù)權(quán)利要求30所述的音視頻文件處理方法,其特征在于: 當(dāng)所述調(diào)度單元接收到所述缺失信息時,指示所述輸入處理單元將缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段 的順序號按當(dāng)前視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元和/或音頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元。
      34.根據(jù)權(quán)利要求30所述的音視頻文件處理方法,其特征在于: 當(dāng)所述調(diào)度單元接收到視頻數(shù)據(jù)片段的缺失信息時,指示所述輸入處理單元將所有缺失的視頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前視頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段重新分配給相應(yīng)的視頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元; 當(dāng)所述調(diào)度單元接收到音頻數(shù)據(jù)片段的缺失信息時,指示所述輸入處理單元將所有缺失的音頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前音頻數(shù)據(jù)處理單元的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的音頻數(shù)據(jù)片段重新分配給相應(yīng)的音頻數(shù)據(jù)處理單元進(jìn)行處理,并將再次處理后的音頻數(shù)據(jù)片段發(fā)送至所述輸出處理單元。
      35.一種分布式音視頻文件處理裝置,包括: 數(shù)臺第一服務(wù)器,分別用于對視頻數(shù)據(jù)片段進(jìn)行處理; 數(shù)臺第二服務(wù)器,分別用于對音頻數(shù)據(jù)片段進(jìn)行處理; 第三服務(wù)器,用于對經(jīng)處理后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行處理并輸出; 第四服務(wù)器,用于接收源視頻文件,對所述源視頻文件進(jìn)行處理獲得視頻數(shù)據(jù)和音頻數(shù)據(jù),并將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,并根據(jù)一定的分配規(guī)則將分割所得的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的所述第一服務(wù)器和所述第二服務(wù)器進(jìn)行處理,以及協(xié)調(diào)所述數(shù)臺第一服務(wù)器、所述數(shù)臺第二服務(wù)器和所述第三服務(wù)器之間的工作。
      36.根據(jù)權(quán)利要求34所述的裝置,其特征在于: 所述第四服務(wù)器將所述視頻數(shù)據(jù)和所述音頻數(shù)據(jù)分別按順序分割成視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的順序號按所述第一服務(wù)器和所述第二服務(wù)器的數(shù)量分別進(jìn)行模運算,根據(jù)模運算的結(jié)果分別將各視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段分配給相應(yīng)的所述第一服務(wù)器和所述第二服務(wù)器進(jìn)行處理。
      37.根據(jù)權(quán)利要求34所述的裝置,其特征在于: 每一臺第一服務(wù)器僅運行一個視頻數(shù)據(jù)處理進(jìn)程; 每一臺第二服務(wù)器僅運行一個音頻數(shù)據(jù)處理進(jìn)程。
      38.根據(jù)權(quán)利要求34所述的裝置,其特征在于: 所述第四服務(wù)器對所接收的源文件進(jìn)行解封裝,獲得視頻序列和音頻序列,并分別將所述視頻序列和所述音頻序列進(jìn)行分割處理。
      39.根據(jù)權(quán)利要求34所述的裝置,其特征在于:所述第三服務(wù)器在判斷從各第一服務(wù)器和各第二服務(wù)器接收到經(jīng)處理后的所有的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段后,將所接到的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段進(jìn)行合并,并按照預(yù)定格式進(jìn)行封裝。
      40.根據(jù)權(quán)利要求34所述的裝置,其特征在于: 所述第四服務(wù)器獲取所述源視頻文件的解封裝后的視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式,并將所述視頻幀數(shù)、音頻幀數(shù)和音視頻編碼格式發(fā)送給相應(yīng)的第一服務(wù)器和第二服務(wù)器。
      41.根據(jù)權(quán)利 要求34所述的裝置,其特征在于: 所述第四服務(wù)器將源文件經(jīng)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量的分割信息發(fā)送給所述第三服務(wù)器。
      42.根據(jù)權(quán)利要求39所述的裝置,其特征在于: 所述第四服務(wù)器將所述源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息插入到分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段的文件名中。
      43.根據(jù)權(quán)利要求39所述的裝置,其特征在于: 所述第三服務(wù)器根據(jù)分割后的視頻數(shù)據(jù)片段的數(shù)量和經(jīng)分割后的音頻數(shù)據(jù)片段的數(shù)量建立該源文件的接收映射表,根據(jù)第四服務(wù)器向分割后的視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段中插入的該片段的源文件信息、在該源文件的所有視頻或音頻數(shù)據(jù)片段中的順序號和文件類型信息在接收映射表中將收到的已處理的數(shù)據(jù)片段標(biāo)記為已收到; 當(dāng)所述第三服務(wù)器判斷接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段均標(biāo)記為已收到時,對所述經(jīng)處理后的視頻數(shù)據(jù)片段和所述經(jīng)處理后的音頻數(shù)據(jù)片段進(jìn)行整合處理,獲得經(jīng)處理后的音視頻文件; 當(dāng)所述第三服務(wù)器判斷經(jīng)過一定時間后接收映射表中有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段標(biāo)記為未收到時,將相應(yīng)的經(jīng)分割后的視頻數(shù)據(jù)片段或/和經(jīng)分割后的音頻數(shù)據(jù)片段的缺失信息發(fā)送至所述第四服務(wù)器。
      44.根據(jù)權(quán)利要求41所述的裝置,其特征在于: 所述接收映射表中還包含已收到的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量; 所述第三服務(wù)器判斷接收映射表中的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量與所述第四服務(wù)器發(fā)送的視頻數(shù)據(jù)片段的數(shù)量和音頻數(shù)據(jù)片段的數(shù)量一致后,才進(jìn)行接收映射表中的所有視頻數(shù)據(jù)片段和音頻數(shù)據(jù)片段是否均標(biāo)記為已收到的判斷。
      45.根據(jù)權(quán)利要求41所述的裝置,其特征在于: 當(dāng)所述第四服務(wù)器接收到所述缺失信息時,將缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段的順序號按當(dāng)前第一服務(wù)器和/或第二服務(wù)器的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段重新分配給相應(yīng)的第一服務(wù)器和/或第二服務(wù)器進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段和/或音頻數(shù)據(jù)片段發(fā)送至所述第三服務(wù)器。
      46.根據(jù)權(quán)利要求41所述的裝置,其特征在于: 當(dāng)所述第四服務(wù)器接收到視頻數(shù)據(jù)片段的缺失信息時,將所有缺失的視頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前第一服務(wù)器的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的視頻數(shù)據(jù)片段重新分配給相應(yīng)的第一服務(wù)器進(jìn)行處理,并將再次處理后的視頻數(shù)據(jù)片段發(fā)送至所述第三服務(wù)器; 當(dāng)所述第四服務(wù)器接收到音頻數(shù)據(jù)片段的缺失信息時,將所有缺失的音頻數(shù)據(jù)片段重新按順序編號,并將該編號按當(dāng)前第二服務(wù)器的數(shù)量進(jìn)行模運算,根據(jù)模運算的結(jié)果將各缺失的音頻數(shù)據(jù)片段重新分配給相應(yīng)的第二服務(wù)器進(jìn)行處理,并將再次處理后的音頻數(shù)據(jù)片段發(fā)送至所述第三服 務(wù)器。
      【文檔編號】G06F17/30GK103605710SQ201310558626
      【公開日】2014年2月26日 申請日期:2013年11月12日 優(yōu)先權(quán)日:2013年11月12日
      【發(fā)明者】武悅 申請人:天脈聚源(北京)傳媒科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1