2015-02-17 27 views
0

設置:我正在製作視頻上傳工具。我使用第三方JavaScript庫加載用戶各種存儲位置(硬盤,Dropbox,Facebook等)的內容從S3獲取視頻文件元數據

庫將視頻壓入我們的S3存儲桶並返回上傳文件的URL。

目標:我想獲得有關視頻的元數據(高度/寬度/持續時間/等等),而無需加載整個視頻二進制文件。

上下文:我使用處理視頻轉碼的服務,並最終將轉碼後的元數據發佈到我們的後端服務器之一。轉碼可能需要幾分鐘時間。

我需要獲取上傳文件的臨時元數據,但我不想加載完整的視頻。

回答

0

在HTML視頻標籤上設置preload =「metadata」意味着瀏覽器應該獲取元數據,但不是整個流。這只是一個暗示,也就是說,瀏覽器不需要遵循它,但是你可以嘗試一下,看看它是否適用於你需要支持的瀏覽器。我相信,它應該做的只是獲取視頻文件的第一部分,因此它可以讀取標題。

如果這不起作用,您可能需要實施單獨的Ajax調用來獲取元數據。希望您的代碼轉換服務以您可以訪問服務器端的方式爲您提供元數據。否則,您可能需要在服務器上自行提取它。例如,您可以使用ffmpeg庫(或者產生一個ffmpeg命令行進程)來解析出元數據。