我想检索最终用户在我的站点中上传的视频文件的分辨率和持续时间,然后再将其上传到我的服务器。这样,我想检查分辨率和持续时间是否符合我的要求。经过许多 API,它们都只有在视频上传到服务器后才提供此元数据信息。我的服务器在 Linux 上运行,并且正在使用 Java、Struts。在上传视频文件之前,是否有任何 API 可以提供此信息?
问问题
5760 次
3 回答
1
您可以(现在)使用 HTML5 在客户端检查大小(和其他一些东西,但没有持续时间和分辨率,AFAIK):
http://www.html5rocks.com/en/tutorials/file/dndfiles/
和
于 2012-11-23T13:47:19.777 回答
1
在支持 HTML5 的浏览器上,您可以使用 MP4 解析器(例如mp4.js)来解析文件头。
- 要获取文件持续时间,您需要找到
moov
文件的原子,并在其中找到mvhd
原子。持续时间(以秒为单位)可以通过将mvhd
的 Duration 字段除以 TimeScale 字段来计算。 - 要获得分辨率,您需要在
moov
原子内部找到trak
视频轨道的原子(忽略音轨或其他轨道,如果您遇到它们;通常文件只有一个视频轨道),并在其中找到tkhd
原子,它具有宽度和高度字段。
于 2012-11-24T20:24:12.070 回答