JavaScript - 读取视频文件的元数据

4
我已经尝试了好几个小时,现在需要您的帮助。我想在JavaScript/HTML中在视频加载时知道其帧率,而且我不想使用VLC插件或ffmpeg。浏览器会读取视频元数据以检查预期帧率,那么我该如何做呢?我在网上阅读了很多文章,但没有找到有用的信息,我不敢相信这是不可行的。我正在寻找类似此问题的答案,但是针对视频。应该很简单,对吧?注意:我正在使用Electron构建桌面应用程序,因此文件访问不是问题。

这里的任何答案有帮助吗?看起来是一个相关和/或相同的问题:https://dev59.com/zV4c5IYBdhLWcg3wAWPv - SamA
不,我都试过了。谢谢你提供的链接。 - João Pereira
请参阅 https://webrtchacks.com/mirror-framerate/。 - guest271314
不幸的是,那并没有给我正确的帧率。 - João Pereira
1
为什么要踩我?有时候我真的不理解这个社区。@踩我的人,如果这个问题如此微不足道,请你来分享一下你的知识好吗? - João Pereira
请参考此答案:https://dev59.com/jXE95IYBdhLWcg3wp_gg#2602558 - Gabriel Arghire
1个回答

9
您可以创建一个带有指向链接或本地文件/ Blob 的 src 属性的视频元素。
let video = document.createElement('video')
video.setAttribute('src', window.URL.createObjectURL(file))

将onloadeddata事件监听器添加到元素中,在回调函数中,您将可以访问视频元数据。

video.onloadeddata = function(event) {
  const {
    videoHeight,
    videoWidth,
    duration
  } = event.srcElement
  console.log(videoHeight)
})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接