2014-02-25 111 views
2

在我的servlet應用程序(服務於android應用程序)中,我允許上傳mp4文件。現在我很偏執,我想通過查看內容來驗證上傳的視頻,不僅僅是通過檢查內容類型和擴展名:內容類型可以很容易被欺騙,如果有人在標準的Android播放器中發現一些錯誤,它也可以上傳.mp4惡意軟件可以利用我的用戶應用程序。有沒有簡單的方法來檢查一個mp4文件是否有效?

所以即時通訊只是尋找一種簡單的方法來檢查上傳的文件是否至少有一個有效的mp4結構。 我對性能也非常感興趣,所以我也不喜歡解析整個文件,就像我想要播放時一樣。

有沒有辦法做到這一點?
謝謝

+2

http://jaadec.sourceforge.net/javadoc/net/sourceforge/jaad/mp4/MP4Container.html – zod

回答

3

簡單的答案是:不,沒有一個簡單的方法來做到這一點。你可以使用第三方java庫,它知道如何解碼/解釋一個有效的.mp4文件,例如上面提到的一個zod文件,但是(在我的腦海裏)不屬於'簡單類別'。

另一種選擇是檢查文件中是否存在有效的.mp4元數據,但由於元數據不是必需的,所以這不是一個好的解決方案。

+0

感謝您的回覆! 無論如何,因爲我將有一些「官方」應用程序將加載這些文件,我可以強制他們添加元數據。所以這兩個新問題是:元數據檢查是否足夠?換句話說,成功訪問元數據意味着一個格式良好的mp4? 第二個問題是:元數據訪問是否簡單快捷? (簡單而快速,我的意思是,這並不會增加大約1-5MB的文件拷貝的相當大的開銷) – LJSilver

+1

是的,我相信它足夠快以滿足您的需求(我還沒有在一段時間內處理音頻文件)儘管有效的元數據並不意味着有效的.mp4,但如果您添加了自己的具有預定格式(或標誌!)的元數據,那麼使用惡意軟件和複製的人的機率就會顯着下降。 (我認爲人們天生懶惰)。這將是我的建議。 – WillBD

+0

好的,非常感謝! – LJSilver

相關問題