2015-11-13 120 views
0

我试图检测一个本地文件(或BLOB),我不知道是什么类型,都可以通过浏览器玩...检测本地视频是否可以在html5中播放?

我能真正做到这一点:

  • 通过使用setTimeout和onload事件,但我们从来没有现在时的onload funtion将被解雇...
  • 通过使用file.type但它仅使用文件名...
  • 通过使用readArrayBuffer,没有用大文件的方式...

有什么办法可以检测到输入文件按钮中的文件是否可以播放?

+0

[使用HTML5视频标签播放本地(硬盘驱动器)视频文件的可能的副本?](http://stackoverflow.com/questions/8885701/play-local-hard-drive-video-file-with-html5 - 视频标签) –

回答

0

您可以对文件进行某种分析,模仿ffprove提供的功能类型,然后将推导出的视频特征与每个浏览器类型的视频特征的已知映射进行比较。

你指出的文件类型只是一个粗略的指导 - 例如mp4文件可能有许多不同的“特征”,如编码格式等,其中一些将在某些平台上支持,而在其他平台上则不支持。

但是,实现起来会很复杂,随着时间的推移,您将不断需要更新视频类型支持到浏览器类型的映射。

最简单也是最可靠的方式,就像我想你在问题中所说的那样,尝试播放视频,然后捕获生成的任何错误。