js如何在浏览器中分割和裁剪音视频文件保存下载?
网友回复
使用ffmpeg.js实现
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>音视频分割与裁剪</title> <style> body { font-family: Arial, sans-serif; padding: 20px; } button { margin: 5px; padding: 8px 16px; } #output { margin-top: 20px; } </style> </head> <body> <h1>音视频分割与裁剪</h1> <input type="file" id="fileInput" accept="audio/*,video/*" /> <br /> <h3>裁剪</h3> <label>开始时间 (秒): <input type="number" id="startTime" value="10" min="0" /></label> <label>持续时间 (秒): <input type="number" id="duration" value="20" min="1" /></label> <button onclick="trimFile()">裁剪文件</button> <h3>分割</h3> <label>分割间隔 (秒): <input type="number" id="segmentTime" value="10" min="1" /></label> <button onclick="splitFile()">分割文件</button> <div id="output"></div> <!-- 通过 CDN 加载 ffmpeg.wasm --> <script src="https://unpkg.com/@ffmpeg/ffmpeg@0.10.1/dist/ffmpeg.min.js"></script> <script> const { createFFmpeg, fetchFile } = FFmpeg; const ffmpeg = createFFmpeg({ log: true }); // 初始化 ffmpeg 实例 let fileData = null; // 存储上传的文件数据 // 文件选择事件 document.getElementById('fileInput').addEventListener('change', async (e) => { const file = e.target.files[0]; if (file) { fileData = await file.arrayBuffer(); // 读取文件为 ArrayBuffer alert('文件已加载,请选择裁剪或分割操作'); } }); // 加载 ffmpeg async function loadFFmpeg() { if (!ffmpeg.isLoaded()) { await ffmpeg.load(); console.log('ffmpeg.wasm 已加载'); } } // 裁剪文件 async function trimFile() { const startTime = document.get...
点击查看剩余70%
js如何流式输出ai的回答并折叠代码块,点击代码块右侧可预览代码?
ai大模型如何将文章转换成可视化一目了然的图片流程图图表?
大模型生成html版本的ui原型图和ppt演示文档的系统提示词怎么写?
rtsp视频直播流如何转换成websocket流在h5页面上观看?
为啥coze会开源工作流agent coze studio?
如何检测网页是通过收藏夹打开的?
python如何实现类似php的http动态脚本请求处理响应代码?
js如何实现类似php的http动态脚本请求处理响应代码?
trae与solo有啥区别不同?
vue如何让ai动态生成问卷调查多步骤表单式收集基础信息自动规划执行任务?