检测本地视频是否可以在html5中播放?

检测本地视频是否可以在html5中播放?,html,audio,video,blob,Html,Audio,Video,Blob,我正在尝试检测我不知道类型的本地文件(或blob)是否可以由浏览器播放 我可以做到这一点: 通过使用setTimeout和onload,但我们现在永远不会在何时启动onload函数 通过使用file.type,但它仅使用文件名 通过使用readArrayBuffer,无法处理大文件 有没有办法检测“输入文件”按钮中的文件是否可以播放?您可以对文件进行某种分析,模拟ffprove提供的功能类型,然后将推导出的视频特征与每种浏览器类型的已知视频特征图进行比较 正如您所指出的,文件类型只是一个粗略

我正在尝试检测我不知道类型的本地文件(或blob)是否可以由浏览器播放

我可以做到这一点:

  • 通过使用setTimeout和onload,但我们现在永远不会在何时启动onload函数
  • 通过使用file.type,但它仅使用文件名
  • 通过使用readArrayBuffer,无法处理大文件

有没有办法检测“输入文件”按钮中的文件是否可以播放?

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

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

但是,这将是一个复杂的实现过程,随着时间的推移,您将不得不不断更新视频类型支持到浏览器类型的映射

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

可能重复的