vue中将avi格式的文件转换为mp4
时间: 2023-12-17 15:03:14 浏览: 182
vue前端解析word,pdf,exl,图片,视频等文件预览,支持base64格式文件 预览
5星 · 资源好评率100%
在 Vue 中,你可以使用 `ffmpeg` 库将 AVI 格式的文件转换为 MP4 格式。下面是一个简单的示例代码:
1. 安装 `ffmpeg` 库:
```bash
npm install --save @ffmpeg/ffmpeg
```
2. 在 Vue 组件中引入 `ffmpeg` 库:
```javascript
import { createFFmpeg } from "@ffmpeg/ffmpeg";
const ffmpeg = createFFmpeg({ log: true });
```
3. 创建一个异步函数来转换 AVI 文件为 MP4 文件:
```javascript
async function convertAviToMp4(inputFile, outputFile) {
// 初始化 ffmpeg 库
await ffmpeg.load();
// 读取输入文件
ffmpeg.FS("readFile", inputFile.name);
// 转换文件格式
await ffmpeg.run("-i", inputFile.name, "-c:v", "libx264", "-preset", "slow", "-crf", "22", "-c:a", "aac", "-b:a", "128k", outputFile);
// 读取输出文件
const data = ffmpeg.FS("readFile", outputFile);
// 返回转换后的文件数据
return new Blob([data.buffer], { type: "video/mp4" });
}
```
4. 在 Vue 组件中使用该函数:
```javascript
// 获取输入文件和输出文件
const inputFile = document.querySelector("#inputFile").files[0];
const outputFile = "output.mp4";
// 调用转换函数
const convertedFile = await convertAviToMp4(inputFile, outputFile);
// 将转换后的文件保存到本地
const downloadLink = document.createElement("a");
downloadLink.href = URL.createObjectURL(convertedFile);
downloadLink.download = outputFile;
downloadLink.click();
```
注意:上述示例代码仅供参考,具体实现可能需要根据项目需求进行修改。同时,由于 `ffmpeg` 库需要大量的计算资源,因此在处理大型文件时可能会导致性能问题。
阅读全文