本申請涉及視頻文件檢測,具體涉及一種視頻文件檢測方法、裝置、電子設備、以及計算機可讀存儲介質。
背景技術:
1、隨著技術的發展,車載中控娛樂系統中,usb媒體文件瀏覽查看是一個常見的多媒體娛樂功能。因為本地視頻的來源各不相同,以及在各種媒體介質轉移過程中因為操作失誤等原因會不同程度導致視頻文件的損壞,在顯示列表或者播放時可能會產生各種奇怪的問題,所以需要盡可能的提前檢測到視頻文件是否損壞。
2、相關技術中,大多數通過使用ffmpeg命令行檢測的方式,但是此種方式需要先在系統中集成ffmpeg應用,支持ffmpeg命令行,再在應用中使用runtime將字符串命令寫入到系統中執行,等待完成,讀取字符串結果,再去解析字符串,通過返回的字符串中特定的信息,判斷是否有錯誤。但是此種方式的可移植性差,對于單獨的應用來說不具備可移植性,且在其他的第三方應用程序上無法實現,因此目前亟待一種適應性強的視頻文件檢測方法。
技術實現思路
1、為解決上述技術問題,本申請的實施例提供了一種視頻文件檢測方法及裝置、電子設備、計算機可讀存儲介質以及計算機程序產品。
2、根據本申請實施例的一個方面,提供了一種視頻文件檢測方法,包括:獲取待檢測視頻文件的多模態信息,所述多模態信息包括所述待檢測視頻文件的數據大小以及視頻流信息;若所述數據大小大于預設數據大小閾值,則對所述視頻流信息進行解析,得到解析后的多幀數據包;基于所述多幀數據包確定所述待檢測視頻文件的幀率信息,以基于所述幀率信息確定所述待檢測視頻文件對應的每一幀的時長;獲取所述待檢測視頻文件中的任一連續兩幀之間的時間差,并基于所述時間差與所述每一幀的時長確定所述待檢測視頻文件的檢測結果。
3、根據本申請實施例的一個方面,所述對所述視頻流信息進行解析,得到解析后的多幀數據包,包括:獲取所述視頻流的基本信息,所述基本信息包括所述待檢測視頻文件的持續時長;若所述持續時長大于預設時長閾值,則獲取所述視頻流信息中視頻的畫面尺寸;若所述畫面尺寸大于預設尺寸閾值,則對所述視頻流信息進行解析,得到解析后的多幀數據包。
4、根據本申請實施例的一個方面,所述對所述視頻流信息進行解析,得到解析后的多幀數據包,包括:獲取所述視頻流信息對應的目標解碼器,以基于所述目標解碼器對視頻流進行解碼,得到解碼后的視頻流;從所述解碼后的視頻流中得到多幀數據包,所述多幀數據包中包括組成所述視頻流的多幀數據。
5、根據本申請是實施例的一個方面,所述基于所述多幀數據包確定所述待檢測視頻文件的幀率信息,以基于所述幀率信息確定所述待檢測視頻文件對應的每一幀的時長,包括:獲取所述多幀數據包中的幀率信息;若所述幀率信息與所述待檢測視頻文件的實際播放速度相符,則確定所述幀率信息為有效幀率信息;基于所述有效幀率信息確實所述待檢測視頻文件對應的每一幀的時長。
6、根據本申請實施例的一個方面,在所述基于所述多幀數據包確定所述待檢測視頻文件的幀率信息,以基于所述幀率信息確定所述待檢測視頻文件對應的每一幀的時長之后,所述方法還包括:若所述待檢測視頻文件中的任一幀的時長小于或等于零,則得到所述待檢測視頻文件有損壞的檢測結果;若所述待檢測視頻文件中的任一幀的時長均大于零,則獲取所述待檢測視頻文件中每一幀的時間戳。
7、根據本申請實施例的一個方面,所述獲取所述待檢測視頻文件中的任一連續兩幀之間的時間差,并基于所述時間差與所述每一幀的時長確定所述待檢測視頻文件的檢測結果,包括:獲取所述待檢測視頻文件中任一連續兩幀各自對應的時間戳;基于所述各自對應的時間戳計算所述任一連續兩幀之間的時間差;若所述時間差小于或等于零或所述時間差大于所述每一幀的時長,則得到所述待檢測視頻文件損壞的檢測結果。
8、根據本申請實施例的一個方面,所述基于所述時間差與所述每一幀的時長確定所述待檢測視頻文件的檢測結果,包括:若所述時間差大于零且所述時間差小于所述每一幀的時長,則獲取所述待檢測視頻文件中每一幀的時間戳;若所述每一幀的時間戳在時間關系上呈現遞增關系,則得到所述待檢測視頻文件正常的檢測結果。
9、根據本申請實施例的一個方面,提供了一種視頻文件檢測裝置,所述裝置包括:獲取模塊,獲取待檢測視頻文件的多模態信息,所述多模態信息包括所述待檢測視頻文件的數據大小以及視頻流信息;解析模塊,若所述數據大小大于預設數據大小閾值,則對所述視頻流信息進行解析,得到解析后的多幀數據包;確定模塊,基于所述多幀數據包確定所述待檢測視頻文件的幀率信息,以基于所述幀率信息確定所述待檢測視頻文件對應的每一幀的時長;檢測模塊,獲取所述待檢測視頻文件中的連續兩幀之間的時間差,并基于所述時間差與所述每一幀的時長確定所述待檢測視頻文件的檢測結果。
10、根據本申請實施例的一個方面,提供了一種電子設備,包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序,當所述一個或多個程序被所述一個或多個處理器執行時,使得所述電子設備實現如前所述的視頻文件檢測方法。
11、根據本申請實施例的一個方面,提供了一種計算機可讀存儲介質,其上存儲有計算機可讀指令,當所述計算機可讀指令被計算機的處理器執行時,使計算機執行如上所述的視頻文件檢測方法。
12、根據本申請實施例的一個方面,還提供了一種計算機程序產品,包括計算機程序,該計算機程序被處理器執行時實現如上所述的視頻文件檢測方法中的步驟。
13、在本申請的實施例所提供的技術方案中,通過首先檢查視頻文件的數據大小,可以避免對過大或不符合要求的文件進行不必要的處理,從而節省計算資源和時間,通過比較連續兩幀之間的時間差與每幀的時長,可以檢測視頻文件中的異常幀或幀率變化,這對于視頻監控、內容審核等應用場景尤為重要,異常檢測能夠揭示視頻文件中的潛在問題,如丟幀、卡頓或編輯痕跡,從而確保視頻內容的完整性和真實性。另一方面,本方案能夠處理不同大小和格式的視頻文件,增強了系統的靈活性和適應性,本方案可以作為獨立的應用程序運行,也可以作為其他視頻處理系統的一部分進行集成,這使得它能夠在不同的應用場景中輕松部署,并與其他組件無縫協作。
14、應當理解的是,以上的一般描述和后文的細節描述僅是示例性和解釋性的,并不能限制本申請。
1.一種視頻文件檢測方法,其特征在于,包括:
2.如權利要求1所述的方法,其特征在于,所述對所述視頻流信息進行解析,得到解析后的多幀數據包,包括:
3.如權利要求2所述的方法,其特征在于,所述對所述視頻流信息進行解析,得到解析后的多幀數據包,包括:
4.如權利要求3所述的方法,其特征在于,所述基于所述多幀數據包確定所述待檢測視頻文件的幀率信息,以基于所述幀率信息確定所述待檢測視頻文件對應的每一幀的時長,包括:
5.如權利要求1所述的方法,其特征在于,在所述基于所述多幀數據包確定所述待檢測視頻文件的幀率信息,以基于所述幀率信息確定所述待檢測視頻文件對應的每一幀的時長之后,所述方法還包括:
6.如權利要求5所述的方法,其特征在于,所述獲取所述待檢測視頻文件中的任一連續兩幀之間的時間差,并基于所述時間差與所述每一幀的時長確定所述待檢測視頻文件的檢測結果,包括:
7.如權利要求1所述的方法,其特征在于,所述基于所述時間差與所述每一幀的時長確定所述待檢測視頻文件的檢測結果,包括:
8.一種視頻文件檢測裝置,其特征在于,所述裝置包括:
9.一種電子設備,其特征在于,包括:
10.一種計算機可讀存儲介質,其特征在于,其上存儲有計算機可讀指令,當所述計算機可讀指令被計算機的處理器執行時,使計算機執行權利要求1至7中任一項所述的視頻文件檢測方法。