vue3获取视频时长、码率、格式等视频详细信息

发布日期:2026-07-01 20:48:44 分类:bet28365365官网 浏览:7836

前言:

我们在上传视频需要视频的帧数等信息的时候,上传组件无法直接读取帧数等信息

方法:通过mediainfo.js来获取视频的帧率、总帧数和视频的总时长

mediainfo.js地址,想详细了解的可以去看看

git地址:https://github.com/buzz/mediainfo.js

预览地址:mediainfo.js

解决方案:

1、通过npm:

1.1、运行以下命令:

javascript

复制代码

npm install mediainfo.js

官网没有关于vue的示例,但是有react+vite的示例,这里我是用vite配置

1.2、npm安装好插件后,在vite.config.ts 文件中配置下方代码

这里需要安装一个vite-plugin-static-copy 的vite插件

javascript

复制代码

npm install vite-plugin-static-copy --save

1.3、拷贝MediaInfoModule.wasm的静态文件,mediaInfo是需要依赖这个文件执行的

javascript

复制代码

import * as path from 'path'

import { defineConfig } from 'vite'

import vue from '@vitejs/plugin-vue'

import { viteStaticCopy } from 'vite-plugin-static-copy'

export default defineConfig({

plugins: [

vue(),

viteStaticCopy({

targets: [

{

src: ''node_modules/mediainfo.js/dist/MediaInfoModule.wasm')',

dest: 'dist',

},

],

}),

],

})

++问题来了,在项目中我是用npm方式引入,运行提示MediaInfoModule.wasm文件找不到,添加的配置也没有效果,目前npm方式我没有配置成功,如果大家什么好的方法,还请指导一下,感谢++

2、使用CDN的方式:

1、在项目index.html文件 标签**下,通过CDN的方式加入mediaInfo.js,如下**

javascript

复制代码

2、使用**mediaInfo.js**

在需要获取视频信息的vue文件下使用,示例如下

javascript

复制代码

3、运行效果如下: