如何用JS来识别视频文件的编码格式?

上传视频的一个功能,希望在文件传输之前完成视频文件的规格验证,在本地就判断出视频的编码格式是否是H264的编码,如果不是就直接禁止上传了,避免浪费用户流量

现在我能实现的是,视频大小、分辨率的识别
但是却不知道如何判断编码格式

在网上搜了一圈,未果
有没有了解这方面知识的大牛帮忙介绍一下
或者提供点相关文献

阅读 13.7k
5 个回答

编码格式还是拿不到

   var files=document.getElementById("file");
  var file=files.files;//每一个file对象对应一个文件。
  file.name//获取本地文件系统的文件名。
  file.size//文件的字节大小。
  file.type//字符串类型,文件的MIME类型。

从两个方面回答这个问题吧:

上面有回答文件的 mimetype ,从广义的角度上讲,它也算编码格式中的一份子,所谓 formats ,也即是文件类型,比如 mkv, mp4, quicktime 这些。

另外一方面是文件压缩相关的编解码 Codec 的值,这个需要第三方库 mp4box.js 或者 ffmpeg.js 的帮助,如果你有兴趣,你需要对 mpeg-4 part 10 有足够的了解,才能确定文件里面的 moov box 信息,可以阅读 https://www.jackpu.com/shi-yo...

给一个 codepen 的代码辅助解析 mp4 box 内容 https://codepen.io/Jack_Pu/pe...

event.target.files[0].type

借助mpvbox插件可以获取视频的编码格式,但是2g的视频处理速度就很慢。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题