新四季網

媒體文件加解密的方法、系統、設備和介質與流程

2023-11-07 15:40:09


本發明的實施方式涉及數據處理領域,更具體地,本發明的實施方式涉及一種媒體文件加解密的方法、系統、介質和計算設備。



背景技術:

本部分旨在為權利要求書中陳述的本發明的實施方式提供背景或上下文。此處的描述不因為包括在本部分中就承認是現有技術。

在整個媒體文件傳輸領域,客戶端向伺服器請求傳輸媒體文件時,為了保護源媒體文件的版權,伺服器端通常需要對傳輸的媒體文件進行加密,客戶端接收到伺服器傳輸的媒體文件後先解密再進行播放。

目前,已經出現一些針對媒體文件的加密方法,主要包括以下幾種:

完全加密算法,完全加密算法中將視頻數據當作普通的二進位數據進行加密,不考慮視頻的編碼格式,如vea(videoencryptionalgorithm,視頻加密算法)和csc(混沌加密算法)等。

部分加密算法,即選擇文件中重要的部分進行加密,常用的加密算法包括分層加密算法和基於幀結構的加密算法等。部分加密算法僅對媒體文件中的重要部分加密。

同編碼相關的加密算法,例如有dct係數加密算法,熵編碼過程加密算法等。



技術實現要素:

但是,上述的各種加密算法中,在加密過程中需修改媒體文件格式,或者改變了源媒體文件大小,或者改變了其中的視頻數據、音頻數據的大小,使得加密後的媒體文件與源媒體文件中的關鍵幀位置偏移發生變化,如果不進行相應的處理將導致客戶端無法進行視頻拖動等操作。

因此在現有技術中,為了支持視頻拖動等操作,需要對關鍵幀位置偏移進行重新確定,而對於客戶端來說,需要根據伺服器端重新確定的關鍵幀位置對加密媒體文件進行處理,以正確識別媒體文件中的視頻數據和音頻數據,增加了客戶端處理資源的開銷,另一方面,由於客戶端解密流程更加複雜,降低了客戶端播放媒體文件的速度;另外,對於部分視頻業務來說,例如流媒體點播業務,由於改變了媒體文件結構,使得內容分發網絡(cdn)無法準確定位媒體文件中的各組成部分,從而無法進行媒體文件分發。

為此,非常需要一種改進的媒體文件加密方法,使加密後的媒體文件適用於內容分發網絡分發,並降低客戶端處理資源的開銷,提高客戶端播放媒體文件的速度。

在本上下文中,本發明的實施方式期望提供一種媒體文件的加解密方法和系統。

在本發明實施方式的第一方面中,提供了一種方法媒體文件的加密方法,所述媒體文件包括媒體數據,所述方法包括:

通過流式加密算法使用密鑰對所述媒體數據中的至少一些數據位依次進行加密處理,包括每當遇到預設的媒體數據幀分組時,從所述密鑰的第一位開始對所述媒體數據幀分組的比特位依次進行所述加密處理。

在本發明的一個實施例中,上述方法還包括:如果所述密鑰的加密比特已經使用完最後一位、且所述媒體數據幀分組尚未加密結束,則從所述密鑰的第一位開始繼續對所述媒體數據幀分組進行加密處理。

在本發明的另一實施例中,上述媒體數據幀分組包括單個關鍵數據幀構成的分組或者多個數據幀構成的分組。

在本發明的又一實施例中,上述媒體數據幀分組為多個,多個媒體數據幀分組之間連續銜接或者有間隔。

在本發明的再一實施例中,上述媒體數據幀分組包括從當前i幀開始,到下一i幀的前一個p幀結束。

在本發明的再一實施例中,上述媒體數據幀分組從p幀開始,且所述p幀被特殊標記。

在本發明的再一實施例中,上述媒體文件包括分片格式的mp4媒體文件,所述分片格式的mp4媒體文件包括多個文件片段,每個文件片段包括所述媒體數據的至少一部分,所述媒體文件還包括至少一個第一元數據和分別與所述多個文件片段相對應的多個第二元數據,其中,所述第一元數據包括所述媒體文件的整體描述信息,每個所述第二元數據包括相應的文件片段的具體描述信息。

在本發明的再一實施例中,上述每個文件片段中的媒體數據包括至少一個所述媒體數據幀分組。

在本發明的再一實施例中,上述第二元數據包括頭信息,所述方法還包括:對所述第二元數據的頭信息中至少一個欄位進行置位處理,以表示是否對與所述第二元數據對應的媒體數據進行了所述加密處理。

在本發明的再一實施例中,上述對至少一部分所述媒體數據中的數據位依次進行加密處理,包括:對所述媒體數據的特定一個或多個數據位不做所述加密處理。

在本發明的再一實施例中,上述特定一個或多個數據位包括所述媒體數據的前十二個字節。

在本發明的再一實施例中,上述第一元數據包括用戶自定義欄位,所述方法還包括:在所述用戶自定義欄位中寫入以下任意一項或多項:至少一種加密算法的描述信息,至少一個所述加密算法的版本號,至少一種密鑰校驗算法的描述信息,和/或至少一個所述密鑰檢驗算法的版本號的描述信息。

在本發明實施方式的第二方面中,提供了一種媒體文件的解密方法,所述媒體文件包括元數據和媒體數據,所述元數據包括所述媒體文件的描述信息,所述方法包括:根據接收到的加密媒體文件的元數據,利用所述加密媒體文件使用的流式加密算法對應的解密算法使用密鑰對所述媒體數據中的至少一些數據位依次進行解密處理,包括每當遇到預設的媒體數據幀分組時,從所述密鑰的第一位開始對所述媒體數據幀分組的比特位依次進行所述解密處理。

在本發明的一實施例中,上述方法還包括:如果所述密鑰的加密比特已經使用完最後一位、且所述媒體數據幀分組尚未解密結束,則從所述密鑰的第一位開始繼續對所述媒體數據幀分組進行解密處理。

在本發明的另一實施例中,上述媒體數據幀分組包括單個關鍵數據幀構成的分組或者多個數據幀構成的分組。

在本發明的又一實施例中,上述媒體數據幀分組為多個,多個媒體數據幀分組之間連續銜接或者有間隔。

在本發明的再一實施例中,上述媒體數據幀分組包括從當前i幀開始,到下一i幀的前一個p幀結束。

在本發明的再一實施例中,上述媒體數據幀分組從p幀開始,且所述p幀被特殊標記。

在本發明的再一實施例中,上所述媒體文件包括分片格式的mp4媒體文件,所述分片格式的mp4媒體文件包括多個文件片段,每個文件片段包括所述媒體數據的至少一部分,所述媒體文件還包括至少一個第一元數據和分別與所述多個文件片段相對應的多個第二元數據,其中,所述第一元數據包括所述媒體文件的整體描述信息,每個所述第二元數據包括相應的文件片段的具體描述信息。

在本發明的再一實施例中,上述每個文件片段中的媒體數據包括至少一個所述媒體數據幀分組。

在本發明的再一實施例中,上述第二元數據包括頭信息,所述頭信息包括至少一個欄位的置位標識,以表示是否對與所述第二元數據對應的媒體數據進行了加密處理,上述方法還包括:讀取所述第二元數據的頭信息中至少一個欄位的所述置位標識,根據讀取的置位標識判斷所述第二元數據對應的媒體數據是否為加密的媒體數據。

在本發明的再一實施例中,上述對所述媒體數據中的至少一些數據位依次進行解密處理,包括:對所述媒體數據的特定一個或多個數據位不做所述解密處理。

在本發明的再一實施例中,上述特定一個或多個數據位包括所述媒體數據的前十二個字節。

在本發明的再一實施例中,上述第一元數據包括用戶自定義欄位,所述自定義欄位包括以下任意一項或多項:至少一種加密算法的描述信息,至少一個所述加密算法的版本號,至少一種密鑰校驗算法的描述信息,至少一個所述密鑰檢驗算法的版本號的描述信息,上述方法還包括:讀取所述自定義欄位中設置的、加密所述加密媒體文件所使用的至少一種加密算法的描述信息,和/或至少一個所述加密算法的版本號,和/或至少一種密鑰校驗算法的描述信息,和/或至少一個所述密鑰檢驗算法的版本號的描述信息,根據所述讀取的信息,確定用於解密所述加密媒體文件的解密算法和/或密鑰校驗算法。

在本發明實施方式的第三方面中,提供了一種媒體文件的加密系統,所述媒體文件包括媒體數據,所述系統包括:流式加密模塊,通過流式加密算法使用密鑰對所述媒體數據中的至少一些數據位依次進行加密處理,包括每當遇到預設的媒體數據幀分組時,從所述密鑰的第一位開始對所述媒體數據幀分組的比特位依次進行所述加密處理。

在本發明的一實施例中,上述流式加密模塊還用於:如果所述密鑰的加密比特已經使用完最後一位、且所述媒體數據幀分組尚未加密結束,則從所述密鑰的第一位開始繼續對所述媒體數據幀分組進行加密處理。

在本發明的另一實施例中,上述媒體數據幀分組包括單個關鍵數據幀構成的分組或者多個數據幀構成的分組。

在本發明的又一實施例中,上述媒體數據幀分組為多個,多個媒體數據幀分組之間連續銜接或者有間隔。

在本發明的再一實施例中,上述媒體數據幀分組包括從當前i幀開始,到下一i幀的前一個p幀結束。

在本發明的再一實施例中,上述媒體數據幀分組從p幀開始,且所述p幀被特殊標記。

在本發明的再一實施例中,上述所述媒體文件包括分片格式的mp4媒體文件,所述分片格式的mp4媒體文件包括多個文件片段,每個文件片段包括所述媒體數據的至少一部分,所述媒體文件還包括至少一個第一元數據和分別與所述多個文件片段相對應的多個第二元數據,其中,所述第一元數據包括所述媒體文件的整體描述信息,每個所述第二元數據包括相應的文件片段的具體描述信息。

在本發明的再一實施例中,上述每個文件片段中的媒體數據包括至少一個所述媒體數據幀分組。

在本發明的再一實施例中,上述第二元數據包括頭信息,所述系統還包括:置位處理模塊,對所述第二元數據的頭信息中至少一個欄位進行置位處理,以表示是否對與所述第二元數據對應的媒體數據進行了所述加密處理。

在本發明的再一實施例中,上述對至少一部分所述媒體數據中的數據位依次進行加密處理,包括:對所述媒體數據的特定一個或多個數據位不做所述加密處理。

在本發明的再一實施例中,上述特定一個或多個數據位包括所述媒體數據的前十二個字節。

在本發明的再一實施例中,上述第一元數據包括用戶自定義欄位,所述系統還包括:自定義模塊,在所述用戶自定義欄位中寫入以下任意一項或多項:至少一種加密算法的描述信息,至少一個所述加密算法的版本號,至少一種密鑰校驗算法的描述信息,和/或至少一個所述密鑰檢驗算法的版本號的描述信息。

在本發明實施方式的第四方面中,提供了一種媒體文件的解密系統,所述媒體文件包括元數據和媒體數據,所述元數據包括所述媒體文件的描述信息,所述系統包括:流式解密模塊,根據接收到的加密媒體文件的元數據,利用所述加密媒體文件使用的流式加密算法對應的解密算法使用密鑰對所述媒體數據中的至少一些數據位依次進行解密處理,包括每當遇到預設的媒體數據幀分組時,從所述密鑰的第一位開始對所述媒體數據幀分組的比特位依次進行所述解密處理。

在本發明的一實施例中,上述流式解密模塊還用於:如果所述密鑰的加密比特已經使用完最後一位、且所述媒體數據幀分組尚未解密結束,則從所述密鑰的第一位開始繼續對所述媒體數據幀分組進行解密處理。

在本發明的另一實施例中,上述媒體數據幀分組包括單個關鍵數據幀構成的分組或者多個數據幀構成的分組。

在本發明的又一實施例中例,上述媒體數據幀分組為多個,多個媒體數據幀分組之間連續銜接或者有間隔。

在本發明的再一實施例中,上述媒體數據幀分組包括從當前i幀開始,到下一i幀的前一個p幀結束。

在本發明的再一實施例中,上述媒體數據幀分組從p幀開始,且所述p幀被特殊標記。

在本發明的再一實施例中,上述媒體文件包括分片格式的mp4媒體文件,所述分片格式的mp4媒體文件包括多個文件片段,每個文件片段包括所述媒體數據的至少一部分,所述媒體文件還包括至少一個第一元數據和分別與所述多個文件片段相對應的多個第二元數據,其中,所述第一元數據包括所述媒體文件的整體描述信息,每個所述第二元數據包括相應的文件片段的具體描述信息。

在本發明的再一實施例中,上述每個文件片段中的媒體數據包括至少一個所述媒體數據幀分組。

在本發明的再一實施例中,上述第二元數據包括頭信息,所述頭信息包括至少一個欄位的置位標識,以表示是否對與所述第二元數據對應的媒體數據進行了加密處理,所述系統還包括置位標識讀取模塊,用於讀取所述第二元數據的頭信息中至少一個欄位的所述置位標識,以及根據讀取的置位標識判斷所述第二元數據對應的媒體數據是否為加密的媒體數據。

在本發明的再一實施例中,上述對所述媒體數據中的至少一些數據位依次進行解密處理,包括:對所述媒體數據的特定一個或多個數據位不做所述解密處理。

在本發明的再一實施例中,上述特定一個或多個數據位包括所述媒體數據的前十二個字節。

在本發明的再一實施例中,上述第一元數據包括用戶自定義欄位,所述自定義欄位包括以下任意一項或多項:至少一種加密算法的描述信息,至少一個所述加密算法的版本號,至少一種密鑰校驗算法的描述信息,至少一個所述密鑰檢驗算法的版本號的描述信息,所述系統還包括:信息讀取模塊,用於讀取所述自定義欄位中設置的、加密所述加密媒體文件所使用的至少一種加密算法的描述信息,和/或至少一個所述加密算法的版本號,和/或至少一種密鑰校驗算法的描述信息,和/或至少一個所述密鑰檢驗算法的版本號的描述信息,以及根據所述讀取的信息,確定用於解密所述加密媒體文件的解密算法和/或密鑰校驗算法。

在本發明實施方式的第五方面中,提供了一種媒體文件加密設備,包括:一個或多個存儲器,存儲有可執行指令;以及一個或多個處理器,執行所述可執行指令,以實現上述實施例中任一項上述的媒體文件的加密方法。

在本發明實施方式的第六方面中,提供了一種媒體文件解密設備,包括:一個或多個存儲器,存儲有可執行指令;以及一個或多個處理器,執行所述可執行指令,以實現上述實施例中任一項上述的媒體文件的解密方法。

在本發明實施方式的第七方面中,提供了一種介質,其上存儲有可執行指令,所述指令在被處理器執行時實現上述實施例中任一項上述的媒體文件的加密方法。

在本發明實施方式的第八方面中,提供了一種介質,其上存儲有可執行指令,所述指令在被處理器執行時實現上述實施例中任一項上述的媒體文件的解密方法。

根據本發明實施方式的媒體文件的加解密方法及其系統,由於在加密過程中不改變源媒體文件的大小和格式,因此加密後的媒體文件中的關鍵幀位置偏移與源文件相同,從而無需針對加密媒體文件中的關鍵幀位置偏移進行相應的處理,簡化了解密媒體文件的操作處理流程,節約了解密媒體文件所需的處理資源,提高了解密端解密媒體文件的速度。

並且,根據本發明實施方式的媒體文件的加解密方法及其系統,由於在加密過程中,對數據幀分組從頭開始加密,從而在解密時可以不必從對整個媒體文件從頭開始解密,可以根據用戶需要,從某一數據幀分組開始進行解密,加快了解密的速度。

附圖說明

通過參考附圖閱讀下文的詳細描述,本發明示例性實施方式的上述以及其他目的、特徵和優點將變得易於理解。在附圖中,以示例性而非限制性的方式示出了本發明的若干實施方式,其中:

圖1示意性地示出了根據本發明實施方式的示例性應用場景;

圖2示意性地示出了根據本發明實施方式的媒體文件的加密方法的流程圖;

圖3示意性地示出了根據本發明實施方式的分片格式的mp4媒體文件的結構示意圖;

圖4示意性地示出了根據本發明實施方式的分片格式的mp4媒體文件的加密方法的流程圖;

圖5示意性地示出了根據本發明實施方式的媒體文件的解密方法的流程圖;

圖6示意性地示出了根據本發明實施方式的分片格式的mp4媒體文件的解密方法的流程圖;

圖7示意性地示出了根據本發明實施方式的媒體文件的加密系統的框圖;

圖8示意性地示出了根據本發明實施方式的分片格式的mp4媒體文件的加密系統的框圖;

圖9示意性地示出了根據本發明實施方式的媒體文件的解密系統的框圖;

圖10示意性地示出了根據本發明實施方式的分片格式的mp4媒體文件的解密系統的框圖。

圖11示意性地示出了根據本發明實施方式的計算機可讀存儲介質產品的示意圖;以及

圖12示意性地示出了根據本發明實施方式的計算設備的框圖。

在附圖中,相同或對應的標號表示相同或對應的部分。

具體實施方式

下面將參考若干示例性實施方式來描述本發明的原理和精神。應當理解,給出這些實施方式僅僅是為了使本領域技術人員能夠更好地理解進而實現本發明,而並非以任何方式限制本發明的範圍。相反,提供這些實施方式是為了使本公開更加透徹和完整,並且能夠將本公開的範圍完整地傳達給本領域的技術人員。

本領域技術人員知道,本發明的實施方式可以實現為一種系統、裝置、設備、方法或電腦程式產品。因此,本公開可以具體實現為以下形式,即:完全的硬體、完全的軟體(包括固件、駐留軟體、微代碼等),或者硬體和軟體結合的形式。

根據本發明的實施方式,提出了一種媒體文件加解密的方法、系統、設備和介質。

在本文中,附圖中的任何元素數量均用於示例而非限制,以及任何命名都僅用於區分,而不具有任何限制含義。

下面參考本發明的若干代表性實施方式,詳細闡釋本發明的原理和精神。

發明概述

在實現本公開構思的過程中,發明人發現相關技術中至少存在如下問題:現有的媒體文件加密方法由於改變了媒體文件結構或者媒體文件大小,這使得源媒體文件中的關鍵幀位置偏移發生變化,為了支持文件拖動等操作,加密端需要重新確定加密後的媒體文件中的關鍵幀位置偏移,這增加了加密端的加密媒體文件處理操作複雜度,浪費了加密端的處理資源,降低了媒體文件加密速度;相應的,在解密端,需要針對加密的媒體文件中關鍵幀位置偏移進行相應的處理,以準確識別媒體文件中的關鍵幀位置偏移,這增加了解密端的解密媒體文件的處理操作複雜度,一方面浪費了解密端的處理資源,另一方面,還會影響解密端解密媒體文件的速度。

並且,現有的媒體文件加密方法對媒體數據按順序使用密鑰依次進行加密,在解密的過程中,如果想要解密中間的某一幀,則需要對所述媒體數據從頭開始解密,一方面浪費了解密端的處理資源,另一方面,降低了解密速度,影響用戶體驗。

在介紹了本發明的基本原理之後,下面具體介紹本發明的各種非限制性實施方式。

應用場景總覽

首先參考圖1,圖1示意性地示出了根據本發明實施方式的可以應用本發明的媒體數據加解密方法或系統的示例性應用場景。

如圖1所示,應用場景可以包括終端設備101、102、103、104,網絡105和伺服器106。網絡104用以在終端設備101、102、103、104和伺服器106之間提供通信鏈路。網絡104可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。

用戶可以使用終端設備101、102、103、104通過網絡105與伺服器106交互,以接收或發送數據等。終端設備101、102、103、104上可以安裝有各種媒體文件瀏覽器、媒體文件播放器等應用。

終端設備101、102、103、104可以是具有顯示屏並且支持媒體文件播放的各種電子設備,包括但不限於智慧型手機、平板電腦、膝上型便攜計算機和臺式計算機等等。

根據本發明的實施方式,終端設備101、102、103、104中安裝有媒體文件播放客戶端,用戶通過終端設備中安裝的媒體文件播放客戶端向媒體文件播放伺服器106發送媒體文件獲取請求,媒體文件播放伺服器106對用戶請求的媒體文件進行加密後發送給終端設備,由終端設備中安裝的媒體文件播放客戶端對接收到的加密媒體文件進行解密後播放。

需要說明的是,本公開實施方式所提供的媒體文件的加密方法一般可以由伺服器106執行。相應地,本公開實施例方式所提供的媒體文件的加密系統一般可以設置於伺服器106中。本公開實施例所提供的媒體文件的加密方法也可以由不同於伺服器106且能夠與終端設備101、102、103、104和/或伺服器106通信的伺服器或伺服器集群執行。相應地,本公開實施例所提供的媒體文件的加密系統也可以設置於不同於伺服器106且能夠與終端設備101、102、103、104和/或伺服器106通信的伺服器或伺服器集群中。

本公開實施方式所提供的媒體文件的解密方法一般可以由終端設備101、102、103、104中的任意一個或多個執行。相應地,本公開實施例方式所提供的媒體文件的解密系統一般可以設置於終端設備101、102、103、104中的一個或多個中。

應該理解,圖1中的終端設備、網絡和伺服器的數目僅僅是示意性的。根據實現需要,可以具有任意數目的終端設備、網絡和伺服器。

示例性方法

下面結合圖1的應用場景,參考圖2來描述根據本發明示例性實施方式的媒體文件的加密方法。需要注意的是,上述應用場景僅是為了便於理解本發明的精神和原理而示出,本發明的實施方式在此方面不受任何限制。相反,本發明的實施方式可以應用於適用的任何場景。

本發明實施例提供了一種媒體文件的加密方法。

圖2示意性地示出了根據本發明實施方式的媒體文件的加密方法的流程圖。

如圖2所示,該方法可以包括如下操作:

在操作s201,獲取媒體文件,所述媒體文件包括媒體數據。其中,獲取媒體文件包括根據用戶請求獲取相應媒體文件。

根據本公開實施例,媒體文件包括元數據和媒體數據,元數據包括對媒體文件的宏觀描述信息,媒體數據包括實際要播放的音頻數據或者視頻數據。

在操作s202,通過流式加密算法使用密鑰對所述媒體數據中的至少一些數據位依次進行加密處理,包括每當遇到預設的媒體數據幀分組時,從所述密鑰的第一位開始對所述媒體數據幀分組的比特位依次進行所述加密處理。

其中,流式加密算法是用加密算法和密鑰一起產生一個隨機碼流,再和數據流進行異或操作,產生加密後的數據流,可以保證加密前後的數據長度不會發生變化。流式加密算法按照字節進行加密,不改變源媒體文件的結構和音/視頻數據大小。對於視頻文件,流式加密算法不改變視頻文件各個部分的位置,改變的只是相同位置的數值,這樣方便視頻的拖動操作。

通過流式加密算法對媒體數據的每一位依次進行加密操作時,每當遇到預設的媒體數據幀分組時,則從密鑰的第一位開始,對該媒體數據幀分組進行加密。在對該媒體數據幀分組進行加密時,如果所述密鑰的加密比特已經使用完最後一位、且該媒體數據幀分組尚未加密結束,則從密鑰的第一位開始繼續對該媒體數據幀分組進行加密處理。

例如,媒體數據的數據幀分組a包括30個比特位的一幀數據,數據幀分組b包括50個比特位的兩幀數據,數據幀分組b銜接在數據幀分組a之後,密鑰包括20個比特位的數據,則從密鑰的第1位開始對數據幀分組a的前20位數據依次進行加密計算,當密鑰的20位數據對數據幀分組a的前20位數據完成加密之後,繼續使用該密鑰,從該密鑰第1位開始對數據幀分組a的第21位數據至第30位數據依次進行加密計算,當數據幀分組a的30位數據完成加密計算後,剩餘的10位密鑰不對數據幀分組b進行加密,而是從密鑰的第1位開始,先對數據幀分組b的前20位數據進行加密處理。

本領域技術人員應當理解,上述舉例中的數據幀分組的數據位的數量以及密鑰的數據位的數量僅是為了幫助理解,本公開不限制數據幀分組的大小,也不限制密鑰的大小。

每個媒體數據幀分組可以包括單個關鍵數據幀構成的分組,例如數據幀分組a僅包括一個關鍵數據幀。每個媒體數據幀分組也可以包括多個數據幀構成的分組,例如數據幀分組b包括兩個數據幀,其中,多個數據幀可以都是關鍵幀,也可是都不是關鍵幀,還可以一部分是關鍵幀一部分不是關鍵幀。

作為一種可選的實施例,媒體數據幀分組可以包括從當前關鍵幀(i幀)開始,到下一關鍵幀(i幀)的前一個非關鍵幀(p幀)結束。也可以包括從p幀開始,其中,該p幀被特殊標記。

關於如何對數據幀進行分組,一個數據幀分組中包括多少幀數據,從哪一幀開始到哪一幀結束,可以根據媒體文件的內容、格式或者用戶的請求進行分組。本公開對此不做限定。

根據本公開實施例,可以將媒體文件的媒體數據分為多個媒體數據幀分組。

其中,多個媒體數據幀分組之間可以是連續銜接。例如,媒體數據包括50個數據幀,則第1幀至第10幀可以組成為一個媒體數據幀分組,第11幀至第20幀可以組成為一個數據幀分組。

多個媒體數據幀分組之間也可以有間隔。例如,媒體數據包括50個數據幀,則第1幀至第10幀可以組成為一個媒體數據幀分組,第15幀至第25幀可以組成一個媒體數據幀分組。在本公開實施例中,對於兩個媒體數據幀分組之間有間隔的情況下,間隔的多個數據幀(例如,第11幀至第14幀)可以不進行加密,也可以使用密鑰的第一位開始對間隔的多個數據幀進行加密,還可以銜接在之前的數據幀分組之後,繼續使用密鑰的相應數據位開始進行加密。

通過本公開實施例,可以將媒體數據分為多個數據幀分組,每個數據幀分組中包括至少一個數據幀,對每個數據幀分組,從密鑰的第一位開始使用流式加密算法依次進行加密處理。使用上述加密方法不會破壞媒體文件的大小和結構,可以正常響應用戶的拖動操作,並且,當用戶進行拖動操作時,不必從媒體數據的第一位開始使用密鑰依次進行解密處理,而是可以通過與拖動位置相應的數據幀分組開始進行解密,加快視頻的解密速度,提高用戶體驗感。

基於本發明提供的媒體文件加密方法,本發明還特別針對分片mp4格式的媒體文件,給出了具體的加密方法。

圖3示意性地示出了根據本發明實施方式的分片格式的mp4媒體文件300的結構示意圖。

如圖3所示,分片格式的mp4文件300包括第一元數據310和至少一個文件片段320,每個文件片段320包括第二元數據321以及媒體數據322。

第一元數據310包括媒體文件的整體描述信息。例如可以是mp4文件中的moov(moviemetadatabox),用來表徵此文件時mp4格式的封裝,同時也標示了該mp4文件是否存在音頻數據或者視頻數據等等描述信息。

根據本公開實施例,第一元數據310中還包括有用戶自定義欄位。例如可以是moov中的udtabox。

文件片段320包括媒體數據的至少一部分。例如可以是mp4文件中的fragmentbox。

文件片段320中包括第二元數據321,包括該文件片段的具體描述信息,例如可以是mp4文件中的moof(moviefragmentbox)。其中第二元數據包括頭信息,例如可以是mp4文件中的mfhd(moviefragmentheader)。

文件片段320中還包括媒體數據322,例如可以是mp4文件中的mdat(moviedatabox)。

一個文件片段中包含了音頻、視頻數據,並且包含足夠的第二元數據以保證該文件片段中的媒體數據可以單獨解碼。

根據本公開實施例,每個文件片段320中的媒體數據322包括至少一個媒體數據幀分組。即,一個文件片段即為一個媒體數據幀分組,或者一個文件片段中的媒體數據被分成多個媒體數據幀分組。

下面,結合分片格式的mp4媒體文件參考圖4介紹本公開另一實施例的媒體文件加密方法。

圖4示意性地示出了根據本發明實施方式的分片格式的mp4媒體文件的加密方法的流程圖。

如圖4所示,該方法包括操作s401~s403。

在操作s401中,對所述第二元數據的頭信息中至少一個欄位進行置位處理,以表示是否對與所述第二元數據對應的媒體數據進行了所述加密處理。

根據本公開實施例,第二元數據的頭信息中有一個flags欄位,代表了當前文件片段的特性,可以使用其中一個標識位來標示當前文件片段的媒體數據是否被加密。例如,可以將該標識位置為1,表示當前文件片段中的媒體數據被加密處理,將該標識位置為0,表示當前文件片段中的媒體數據沒有被加密處理。對此,可以便於解密端進行解密,解密端在讀到flags中的標識位被置為1時,則對該文件片段中的媒體數據進行解密處理,否則,不需要對該文件片段中的媒體數據進行解密處理。

在操作s402中,在第一元數據的用戶自定義欄位中寫入一下任意一項或多項:至少一種加密算法的描述信息;至少一個所述加密算法的版本號;至少一種密鑰校驗算法的描述信息;和/或至少一個所述密鑰檢驗算法的版本號的描述信息。

根據本公開實施例,可以在用戶自定義欄位中寫入幾種可能的加密算法的類型和/或版本號,以及密鑰校驗算法的類型和/或版本號。這樣,及時現有的加密算法被破解,在後續更新時,也可以做到無縫升級加密算法。

具體地,加密端需要通知解密端加密媒體文件所使用的流式加密算法和密鑰校驗算法。解密端在接收到加密媒體文件後,可以首先利用加密端通知的密鑰校驗算法對密鑰進行校驗,在對密鑰的校驗通過之後,解密端再利用加密端所使用的流式加密算法對應的解密算法和校驗通過的密鑰對媒體文件進行解密。其中,解密端可以在接收到加密媒體文件之後,向加密端請求加密媒體文件所使用的密鑰;或者加密端可以與解密端預先協商使用的密鑰,如果加密端與解密端協商的密鑰包含多個時,則加密端可以在加密媒體文件中指示解密端其使用的密鑰標識,加密端可以與解密端協商指示密鑰標識的欄位,具體實施時,該欄位可以為用戶自定義欄位。

本發明實施例中,加密端可以通過第一元數據通知解密端加密媒體文件所使用的流式加密算法和解密時校驗密鑰所需使用的密鑰校驗算法。具體實施時,可以在第一元數據中設置加密媒體文件所使用的流式加密算法的描述信息的欄位,或者在第一元數據中設置解密時校驗密鑰所需使用的密鑰校驗算法的描述信息的欄位,還可以同時設置加密媒體文件所使用的流式加密算法的描述信息的欄位和解密時校驗密鑰所需使用的密鑰校驗算法的描述信息的欄位。如果第一元數據中僅設置流式加密算法的描述信息的欄位或者僅設置解密時校驗密鑰所需使用的密鑰校驗算法的描述信息的欄位時,加密端可以通過其它方式通知解密端使用的流式加密算法或者校驗密鑰所需的密鑰校驗算法。加密端和解密端可以預先協商攜帶流式加密算法和密鑰校驗算法的欄位。

具體實施時,加密端和解密端可以預先協商多種流式加密算法,加密端在對媒體文件加密時,可以隨機使用其中任一種,並通過在第一元數據中使用自定義欄位指示所使用的流式加密算法的標識,解密端根據該標識確定加密端所使用的流式加密算法,以增強數據加密的安全性。當然,加密端和解密端也可以預先協商多個密鑰,用於對不同的媒體文件進行加密,加密端在對媒體文件加密時,可以隨機使用其中任一密鑰,並通過在第一元數據中使用自定義欄位指示所使用密鑰對應的密鑰校驗算法的標識,解密端根據該標識確定加密端所使用密鑰對應的密鑰校驗算法,並利用確定出的密鑰校驗算法對密鑰進行校驗。

在操作s403中,通過流式加密算法使用密鑰對所述媒體數據中的至少一些數據位依次進行加密處理。

根據本公開實施例,在對至少一部分的媒體數據中的至少一些數據位依次進行加密處理時,對該媒體數據的特定一個或多個數據位不做所述加密處理。例如,該媒體數據的前十二個字節。

具體地,在對每個文件片段的媒體數據進行加密處理時,前12個字節不做加密處理。在分片格式的mp4媒體文件中,每個文件片段的媒體數據的前四個字節表示mdat的起始偏移,中間四個字節表示mdat的大小,最後四個字節表示mdat的類型。在加密過程中,避開上述12個字節,可以避開關於文件片段的媒體數據的重要欄位,可以使解密端準確確定當前box的類型等信息。

根據本公開實施例,在對媒體文件進行加密時,不對媒體文件的第一元數據和第二元數據進行加密處理,僅對媒體數據部分進行加密處理,且,媒體數據的前12個字節不進行加密處理。

具體地,每個文件片段的媒體數據可以是一個數據幀分組,也可以是多個數據幀分組,具體加密方法可以參見上述參考圖2描述的方法,在此不再贅述。

本公開實施例的媒體文件加密方法不對元數據進行處理,僅對媒體數據進行加密處理,保留了媒體文件的重要描述信息,保持mp4的格式不變。在加密時使用流式加密算法,可以保持加密前後的文件大小不變。並且在自定義欄位中寫入了幾種可能的加密算法中選擇的加密算法的描述信息和/或版本號,以及密鑰校驗算法的描述信息和/或版本號,可以進行加密算法的無縫升級。

與上述的媒體文件加密方法相對應,本發明實施例還提供了一種媒體文件解密方法。

圖5示意性地示出了根據本發明實施方式的媒體文件的解密方法的流程圖。

如圖5所示,該方法可以包括如下操作:

在操作s501,接收媒體文件,所述媒體文件包括媒體數據。其中,接收媒體文件包括接收來自伺服器端的用戶請求的加密後的媒體文件。

根據本公開實施例,媒體文件包括元數據和媒體數據,元數據包括對媒體文件的宏觀描述信息,媒體數據包括實際要播放的音頻數據或者視頻數據。

在操作s502,根據接收到的加密媒體文件的元數據,利用所述加密媒體文件使用的流式加密算法對應的解密算法使用密鑰對所述媒體數據中的至少一些數據位依次進行解密處理,包括每當遇到預設的媒體數據幀分組時,從所述密鑰的第一位開始對所述媒體數據幀分組的比特位依次進行所述解密處理。

其中,流式加密算法是用加密算法和密鑰一起產生一個隨機碼流,再和數據流進行異或操作,產生加密後的數據流,可以保證加密前後的數據長度不會發生變化。流式加密算法按照字節進行加密,不改變源媒體文件的結構和音/視頻數據大小。對於視頻文件,流式加密算法不改變視頻文件各個部分的位置,改變的只是相同位置的數值,這樣方便視頻的拖動操作。

利用流式加密算法對應的解密算法使用密鑰對媒體數據的每一位依次進行解密操作時,每當遇到預設的媒體數據幀分組時,則從密鑰的第一位開始,對該媒體數據幀分組進行解密。在對該媒體數據幀分組進行解密時,如果所述密鑰的比特位已經使用完最後一位、且該媒體數據幀分組尚未解密結束,則從密鑰的第一位開始繼續對該媒體數據幀分組進行解密處理。

例如,媒體數據的數據幀分組a包括30個比特位的一幀數據,數據幀分組b包括50個比特位的兩幀數據,數據幀分組b銜接在數據幀分組a之後,密鑰包括20個比特位的數據,則從密鑰的第1位開始對數據幀分組a的前20位數據依次進行解密計算,當密鑰的20位數據對數據幀分組a的前20位數據完成解密之後,繼續使用該密鑰,從該密鑰第1位開始對數據幀分組a的第21位數據至第30位數據依次進行解密計算,當數據幀分組a的30位數據完成解密計算後,剩餘的10位密鑰不對數據幀分組b進行解密,而是從密鑰的第1位開始,先對數據幀分組b的前20位數據進行解密處理。

本領域技術人員應當理解,上述舉例中的數據幀分組的數據位的數量以及密鑰的數據位的數量僅是為了幫助理解,本公開不限制數據幀分組的大小,也不限制密鑰的大小。

根據本公開實施例,媒體數據可以分為多個媒體數據幀分組,多個媒體數據幀分組之間連續銜接或者有間隔。媒體數據幀分組可以包括單個關鍵數據幀構成的分組,也可以包括多個數據幀構成的分組。作為一種可選的實施例,媒體數據幀分組可以包括從當前關鍵幀(i幀)開始,到下一關鍵幀(i幀)的前一個非關鍵幀(p幀)結束。也可以包括從p幀開始,其中,該p幀被特殊標記。具體可參見上述參照圖2對關於數據幀分組的描述,在此不再贅述。

通過本公開實施例,可以將媒體數據分為多個數據幀分組,每個數據幀分組中包括至少一個數據幀,對每個數據幀分組,在加密過程中從密鑰的第一位開始使用流式加密算法依次進行加密處理。相應地,在解密過程中,也從密鑰的第一位開始使用流式加密算法對每個數據幀分組依次進行解密處理。使用上述加解密方法不會破壞媒體文件的大小和結構,可以正常響應用戶的拖動操作,並且,當用戶進行拖動操作時,不必從媒體數據的第一位開始使用密鑰依次進行解密處理,而是可以通過與拖動位置相應的數據幀分組開始進行解密,加快視頻的解密速度,提高用戶體驗感。

基於本發明提供的媒體文件解密方法,本發明還特別針對分片mp4格式的媒體文件,給出了具體的解密方法。

分片格式的mp4媒體文件的結構示意圖可以參見上述參考圖3的描述在此不再贅述。

下面,結合分片格式的mp4媒體文件參考圖6介紹本公開另一實施例的媒體文件解密方法。

圖6示意性地示出了根據本發明實施方式的分片格式的mp4媒體文件的解密方法的流程圖。

如圖6所示,該方法包括操作s601~s603。

在操作s601中,讀取所述第二元數據的頭信息中至少一個欄位的所述置位標識;根據讀取的置位標識判斷所述第二元數據對應的媒體數據是否為加密的媒體數據。

根據本公開實施例,第二元數據的頭信息中有一個flags欄位,代表了當前文件片段的特性,可以使用其中一個標識位來標示當前文件片段的媒體數據是否被加密。例如,可以將該標識位置為1,表示當前文件片段中的媒體數據被加密處理,將該標識位置為0,表示當前文件片段中的媒體數據沒有被加密處理。對此,可以便於解密端進行解密,解密端在讀到flags中的標識位被置為1時,則對該文件片段中的媒體數據進行解密處理,否則,不需要對該文件片段中的媒體數據進行解密處理。

在操作s602中,讀取所述自定義欄位中設置的、加密所述加密媒體文件所使用的至少一種加密算法的描述信息,和/或至少一個所述加密算法的版本號,和/或至少一種密鑰校驗算法的描述信息,和/或至少一個所述密鑰檢驗算法的版本號的描述信息;根據所述讀取的信息,確定用於解密所述加密媒體文件的解密算法和/或密鑰校驗算法。

根據本公開實施例,在加密過程中可以在用戶自定義欄位中寫入幾種可能的加密算法的類型和/或版本號,以及密鑰校驗算法的類型和/或版本號。具體地,加密端通知解密端加密媒體文件所使用的流式加密算法和密鑰校驗算法。解密端在接收到加密媒體文件後,可以首先利用加密端通知的密鑰校驗算法對密鑰進行校驗,在對密鑰的校驗通過之後,解密端再利用加密端所使用的流式加密算法對應的解密算法和校驗通過的密鑰對媒體文件進行解密。其中,解密端可以在接收到加密媒體文件之後,向加密端請求加密媒體文件所使用的密鑰;或者加密端可以與解密端預先協商使用的密鑰,如果加密端與解密端協商的密鑰包含多個時,則加密端可以在加密媒體文件中指示解密端其使用的密鑰標識,加密端可以與解密端協商指示密鑰標識的欄位,具體實施時,該欄位可以為用戶自定義欄位。

本發明實施例中,加密端可以通過第一元數據通知解密端加密媒體文件所使用的流式加密算法和解密時校驗密鑰所需使用的密鑰校驗算法。具體實施時,可以在第一元數據中設置加密媒體文件所使用的流式加密算法的描述信息的欄位,或者在第一元數據中設置解密時校驗密鑰所需使用的密鑰校驗算法的描述信息的欄位,還可以同時設置加密媒體文件所使用的流式加密算法的描述信息的欄位和解密時校驗密鑰所需使用的密鑰校驗算法的描述信息的欄位。如果第一元數據中僅設置流式加密算法的描述信息的欄位或者僅設置解密時校驗密鑰所需使用的密鑰校驗算法的描述信息的欄位時,加密端可以通過其它方式通知解密端使用的流式加密算法或者校驗密鑰所需的密鑰校驗算法。加密端和解密端可以預先協商攜帶流式加密算法和密鑰校驗算法的欄位。

具體實施時,加密端和解密端可以預先協商多種流式加密算法,加密端在對媒體文件加密時,可以隨機使用其中任一種,並通過在第一元數據中使用自定義欄位指示所使用的流式加密算法的標識,解密端根據該標識確定加密端所使用的流式加密算法,以增強數據加密的安全性。當然,加密端和解密端也可以預先協商多個密鑰,用於對不同的媒體文件進行加密,加密端在對媒體文件加密時,可以隨機使用其中任一密鑰,並通過在第一元數據中使用自定義欄位指示所使用密鑰對應的密鑰校驗算法的標識,解密端根據該標識確定加密端所使用密鑰對應的密鑰校驗算法,並利用確定出的密鑰校驗算法對密鑰進行校驗。

在操作s603中,利用加密媒體文件使用的流式加密算法對應的解密算法使用密鑰對媒體數據的至少一些數據位依次進行解密處理。

根據本公開實施例,在對至少一部分的媒體數據中的至少一些數據位依次進行解密處理時,對該媒體數據的特定一個或多個數據位不做所述解密處理。例如,該媒體數據的前十二個字節。

具體地,在對每個文件片段的媒體數據的加密過程中,前12個字節不做加密處理。在分片格式的mp4媒體文件中,每個文件片段的媒體數據的前四個字節表示mdat的起始偏移,中間四個字節表示mdat的大小,最後四個字節表示mdat的類型。在加密過程中,避開上述12個字節,可以避開關於文件片段的媒體數據的重要欄位,可以使解密端準確確定當前box的類型等信息。因此,相應地,在解密過程中,每個文件片段的媒體數據的前12個字節不做解密處理。

根據本公開實施例,在對媒體文件進行解密時,不對媒體文件的第一元數據和第二元數據進行解密,僅對媒體數據部分進行解密處理,且,媒體數據的前12個字節不進行解密。

具體地,每個文件片段的媒體數據可以是一個數據幀分組,也可以是多個數據幀分組,具體解密方法可以參見上述參考圖5描述的方法,在此不再贅述。

示例性裝置

在介紹了本發明示例性實施方式的介質之後,接下來,參考圖7對本發明示例性實施方式的、用於實現媒體文件的加密系統進行詳細闡述。

本發明實施例提供了一種媒體文件的加密系統。

圖7示意性地示出了根據本發明實施方式的媒體文件的加密系統700的框圖。

如圖7所示,媒體文件的加密系統700包括獲取模塊710和流式加密模塊720。

具體地,獲取模塊710,獲取媒體文件,所述媒體文件包括媒體數據。其中,獲取媒體文件包括根據用戶請求獲取相應媒體文件。根據本公開實施例,獲取模塊710例如可以執行上文參考圖2描述的操作s201,在此不再贅述。

流式加密模塊720,通過流式加密算法使用密鑰對所述媒體數據中的至少一些數據位依次進行加密處理,包括每當遇到預設的媒體數據幀分組時,從所述密鑰的第一位開始對所述媒體數據幀分組的比特位依次進行所述加密處理。

根據本公開實施例,流式加密模塊720還用於如果所述密鑰的加密比特已經使用完最後一位、且所述媒體數據幀分組尚未加密結束,則從所述密鑰的第一位開始繼續對所述媒體數據幀分組進行加密處理。

根據本公開實施例,流式加密模塊720例如可以執行上文參考圖2描述的操作s202,在此不再贅述。

通過本公開實施例,可以將媒體數據分為多個數據幀分組,每個數據幀分組中包括至少一個數據幀,對每個數據幀分組,從密鑰的第一位開始使用流式加密算法依次進行加密處理。使用上述加密系統不會破壞媒體文件的大小和結構,可以正常響應用戶的拖動操作,並且,當用戶進行拖動操作時,不必從媒體數據的第一位開始使用密鑰依次進行解密處理,而是可以通過與拖動位置相應的數據幀分組開始進行解密,加快視頻的解密速度,提高用戶體驗感。

雖然不同格式的媒體文件結構不同,但其對媒體文件進行加密的原理是相同的。為了便於描述,本發明實施例中以分片mp4格式的媒體文件為例對本發明實施例提供的媒體文件加密系統的具體系統結構繼續擰說明。應當理解,本發明實施例中以分片mp4文件為例對媒體文件加密系統的實施流程進行說明只是為了更好的理解本發明,其不構成對本發明的限定。

圖8示意性地示出了根據本發明實施方式的分片格式的mp4媒體文件的加密系統800的框圖。

如圖8所示,分片格式的mp4媒體文件的加密系統800包括置位處理模塊810、自定義模塊820以及流式加密模塊830。

置位處理模塊810,對所述第二元數據的頭信息中至少一個欄位進行置位處理,以表示是否對與所述第二元數據對應的媒體數據進行了所述加密處理。置位處理模塊810例如可以執行上文參考圖4描述的操作s401,在此不再贅述。

自定義模塊820,在第一元數據的用戶自定義欄位中寫入一下任意一項或多項:至少一種加密算法的描述信息;至少一個所述加密算法的版本號;至少一種密鑰校驗算法的描述信息;和/或至少一個所述密鑰檢驗算法的版本號的描述信息。自定義模塊820例如可以執行上文參考圖4描述的操作s402,在此不再贅述。

流式加密模塊830,通過流式加密算法使用密鑰對所述媒體數據中的至少一些數據位依次進行加密處理。流式加密模塊830例如可以執行上文參考圖4描述的操作s403,在此不再贅述。

本公開實施例的媒體文件加密系統不對元數據進行處理,僅對媒體數據進行加密處理,保留了媒體文件的重要描述信息,保持mp4的格式不變。在加密時使用流式加密算法,可以保持加密前後的文件大小不變。並且在自定義欄位中寫入了幾種可能的加密算法中選擇的加密算法的描述信息和/或版本號,以及密鑰校驗算法的描述信息和/或版本號,可以進行加密算法的無縫升級。

與上述的媒體文件加密系統相對應,本發明實施例還提供了一種媒體文件解密系統。

圖9示意性地示出了根據本發明實施方式的媒體文件的解密系統900的框圖。

如圖9所示,媒體文件的解密系統900包括接收模塊910和流式解密模塊920。

接收模塊910,接收媒體文件,所述媒體文件包括媒體數據。其中,接收媒體文件包括接收來自伺服器端的用戶請求的加密後的媒體文件。根據本公開實施例,接收模塊910例如可以執行上文參考圖5描述的操作s501,在此不再贅述。

流式解密模塊920,根據接收到的加密媒體文件的元數據,利用所述加密媒體文件使用的流式加密算法對應的解密算法使用密鑰對所述媒體數據中的至少一些數據位依次進行解密處理,包括每當遇到預設的媒體數據幀分組時,從所述密鑰的第一位開始對所述媒體數據幀分組的比特位依次進行所述解密處理。

根據本公開實施例,流式解密模塊920還用於如果所述密鑰的比特位已經使用完最後一位、且該媒體數據幀分組尚未解密結束,則從密鑰的第一位開始繼續對該媒體數據幀分組進行解密處理。

根據本公開實施例,流式解密模塊920例如可以執行上文參考圖5描述的操作s502,在此不再贅述。

通過本公開實施例,可以將媒體數據分為多個數據幀分組,每個數據幀分組中包括至少一個數據幀,對每個數據幀分組,在加密過程中從密鑰的第一位開始使用流式加密算法依次進行加密處理。相應地,在解密過程中,也從密鑰的第一位開始使用流式加密算法對每個數據幀分組依次進行解密處理。使用上述加解密系統不會破壞媒體文件的大小和結構,可以正常響應用戶的拖動操作,並且,當用戶進行拖動操作時,不必從媒體數據的第一位開始使用密鑰依次進行解密處理,而是可以通過與拖動位置相應的數據幀分組開始進行解密,加快視頻的解密速度,提高用戶體驗感。

雖然不同格式的媒體文件結構不同,但其對媒體文件進行加密的原理是相同的。為了便於描述,本發明實施例中以分片mp4格式的媒體文件為例對本發明實施例提供的媒體文件解密方法的具體實施過程進行說明。應當理解,本發明實施例中以分片mp4文件為例對媒體文件解密方法的實施流程進行說明只是為了更好的理解本發明,其不構成對本發明的限定。

分片格式的mp4媒體文件的結構示意圖可以參見上述參考圖3的描述在此不再贅述。

下面,結合分片格式的mp4媒體文件參考圖10介紹本公開另一實施例的媒體文件解密系統。

圖10示意性地示出了根據本發明實施方式的分片格式的mp4媒體文件的解密系統1000的框圖。

如圖10所示,分片格式的mp4媒體文件的解密系統1000包括置位標識讀取模塊1010、信息讀取模塊1020以及流式解密模塊1030。

置位標識讀取模塊1010,讀取所述第二元數據的頭信息中至少一個欄位的所述置位標識,以及根據讀取的置位標識判斷所述第二元數據對應的媒體數據是否為加密的媒體數據。根據本公開實施例,置位標識讀取模塊1010例如可以執行上文參考圖6描述的操作s601,在此不再贅述。

信息讀取模塊1020,讀取所述自定義欄位中設置的、加密所述加密媒體文件所使用的至少一種加密算法的描述信息,和/或至少一個所述加密算法的版本號,和/或至少一種密鑰校驗算法的描述信息,和/或至少一個所述密鑰檢驗算法的版本號的描述信息,以及根據所述讀取的信息,確定用於解密所述加密媒體文件的解密算法和/或密鑰校驗算法。根據本公開實施例,信息讀取模塊1020例如可以執行上文參考圖6描述的操作s602,在此不再贅述。

流式解密模塊1030,利用加密媒體文件使用的流式加密算法對應的解密算法使用密鑰對媒體數據的至少一些數據位依次進行解密處理。根據本公開實施例,流式解密模塊1030例如可以執行上文參考圖6描述的操作s603,在此不再贅述。

示例性介質

在介紹了本發明示例性實施方式的方法之後,接下來,參考圖11對本發明示例性實施方式的、用於實現媒體文件的加密方法的介質進行詳細闡述。

本發明實施例提供了一種介質,存儲有可執行指令,上述指令在被處理單元執行時用於實現上述方法實施例中任一項上述的媒體文件的加密方法和解密方法。

在一些可能的實施方式中,本發明的各個方面還可以實現為一種程序產品的形式,其包括程序代碼,當所述程序產品在終端設備上運行時,所述程序代碼用於使所述終端設備執行本說明書上述「示例性方法」部分中描述的根據本發明各種示例性實施方式的用於圖表的數據處理方法中的步驟,例如,所述終端設備可以執行如圖5~6中所示的步驟。當所述程序產品在伺服器上運行時,所述程序代碼用於使所述伺服器執行本說明書上述「示例性方法」部分中描述的根據本發明各種示例性實施方式的用於圖表的數據處理方法中的步驟,例如,所述伺服器可以執行如圖2~4中所示的步驟。

所述程序產品可以採用一個或多個可讀介質的任意組合。可讀介質可以是可讀信號介質或者可讀存儲介質。可讀存儲介質例如可以是——但不限於——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者任意以上的組合。可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、可攜式盤、硬碟、隨機存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或快閃記憶體)、光纖、可攜式緊湊盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。

如圖11所示,描述了根據本發明的實施方式的用於圖表的數據處理的程序產品40,其可以採用可攜式緊湊盤只讀存儲器(cd-rom)並包括程序代碼,並可以在終端設備,例如個人電腦上運行。然而,本發明的程序產品不限於此,在本文件中,可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執行系統、裝置或者器件使用或者與其結合使用。

可讀信號介質可以包括在基帶中或者作為載波一部分傳播的數據信號,其中承載了可讀程序代碼。這種傳播的數據信號可以採用多種形式,包括——但不限於——電磁信號、光信號或上述的任意合適的組合。可讀信號介質還可以是可讀存儲介質以外的任何可讀介質,該可讀介質可以發送、傳播或者傳輸用於由指令執行系統、裝置或者器件使用或者與其結合使用的程序。

可讀介質上包含的程序代碼可以用任何適當的介質傳輸,包括——但不限於——無線、有線、光纜,rf等等,或者上述的任意合適的組合。

可以以一種或多種程序設計語言的任意組合來編寫用於執行本發明操作的程序代碼,所述程序設計語言包括面向對象的程序設計語言——諸如java,c++等,還包括常規的過程式程序設計語言——諸如「c」,語言或類似的程序設計語言。程序代碼可以完全地在用戶計算設備上執行、部分地在用戶設備上執行、作為一個獨立的軟體包執行、部分在用戶計算設備上部分在遠程計算設備上執行、或者完全在遠程計算設備或伺服器上執行。在涉及遠程計算設備的情形中,遠程計算設備可以通過任意種類的網絡——包括區域網(lan)或廣域網(wan)一連接到用戶計算設備,或者,可以連接到外部計算設備(例如利用網際網路服務提供商來通過網際網路連接)。

示例性計算設備

在介紹了本發明示例性實施方式的方法、介質和裝置之後,接下來,參考圖12對本發明示例性實施方式的、用於實現媒體文件的加密設備和解密設備。

本發明實施例還提供了一種媒體文件的加密設備和一種媒體文件的解密設備。所屬技術領域的技術人員能夠理解,本發明的各個方面可以實現為系統、方法或程序產品。因此,本發明的各個方面可以具體實現為以下形式,即:完全的硬體實施方式、完全的軟體實施方式(包括固件、微代碼等),或硬體和軟體方面結合的實施方式,這裡可以統稱為「電路」、「模塊」或「系統」。

在一些可能的實施方式中,根據本發明的媒體文件的加密設備和解密設備可以至少包括至少一個處理單元、以及至少一個存儲單元。其中,所述存儲單元存儲有程序代碼,當所述程序代碼被所述處理單元執行時,使得所述處理單元執行本說明書上述「示例性方法」部分中描述的根據本發明各種示例性實施方式的信息呈現方法中的步驟。例如,所述處理單元可以執行如圖2~4中所示的步驟以實現對媒體文件的加密。又例如,所述處理單元還可以執行如圖5~6中所示的步驟以實現對媒體文件的解密。

下面參照圖12來描述根據本發明的這種實施方式的媒體文件的加密設備或者解密設備的計算設備50。如圖12所示的計算設備50僅僅是一個示例,不應對本發明實施例的功能和使用範圍帶來任何限制。

如圖12所示,計算設備50以通用計算設備的形式表現。計算設備50的組件可以包括但不限於:上述至少一個處理單元501、上述至少一個存儲單元502、連接不同系統組件(包括存儲單元502和處理單元501)的總線503。

總線503表示幾類總線結構中的一種或多種,包括存儲器總線或者存儲器控制器、外圍總線、圖形加速埠、處理器或者使用多種總線結構中的任意總線結構的局域總線。

存儲單元502可以包括易失性存儲器形式的可讀介質,例如隨機存取存儲器(ram)5021和/或高速緩存存儲器5022,還可以進一步包括只讀存儲器(rom)5023。

存儲單元502還可以包括具有一組(至少一個)程序模塊5024的程序/實用工具5025,這樣的程序模塊5024包括但不限於:作業系統、一個或者多個應用程式、其它程序模塊以及程序數據,這些示例中的每一個或某種組合中可能包括網絡環境的實現。

計算設備50也可以與一個或多個外部設備504(例如鍵盤、指向設備、藍牙設備等)通信,還可與一個或者多個使得用戶能與計算設備50交互的設備通信,和/或與使得計算設備50能與一個或多個其它計算設備進行通信的任何設備(例如路由器、數據機等等)通信。這種通信可以通過輸入/輸出(i/o)接口505進行。並且,計算設備50還可以通過網絡適配器506與一個或者多個網絡(例如區域網(lan),廣域網(wan)和/或公共網絡,例如網際網路)通信。如圖所示,網絡適配器506通過總線503與計算設備50的其它模塊通信。應當明白,儘管圖中未示出,可以結合計算設備50使用其它硬體和/或軟體模塊,包括但不限於:微代碼、設備驅動器、冗餘處理單元、外部磁碟驅動陣列、raid系統、磁帶驅動器以及數據備份存儲系統等。

應當注意,儘管在上文詳細描述中提及了媒體文件的加密系統或者媒體文件的解密系統的若干單元/模塊或子單元/模塊,但是這種劃分僅僅是示例性的並非強制性的。實際上,根據本發明的實施方式,上文描述的兩個或更多單元/模塊的特徵和功能可以在一個單元/模塊中具體化。反之,上文描述的一個單元/模塊的特徵和功能可以進一步劃分為由多個單元/模塊來具體化。

此外,儘管在附圖中以特定順序描述了本發明方法的操作,但是,這並非要求或者暗示必須按照該特定順序來執行這些操作,或是必須執行全部所示的操作才能實現期望的結果。附加地或備選地,可以省略某些步驟,將多個步驟合併為一個步驟執行,和/或將一個步驟分解為多個步驟執行。

雖然已經參考若干具體實施方式描述了本發明的精神和原理,但是應該理解,本發明並不限於所公開的具體實施方式,對各方面的劃分也不意味著這些方面中的特徵不能組合以進行受益,這種劃分僅是為了表述的方便。本發明旨在涵蓋所附權利要求的精神和範圍內所包括的各種修改和等同布置。

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀