利用ffmpeg实现纯前端视频剪切

注意:在新版本Chrome浏览器中由于安全性问题,只能在https或localhost当中才能正常使用

1. 下载ffmpeg

npm install @ffmpeg/ffmpeg @ffmpeg/core

2. 文件引入及初始化

import { createFFmpeg, fetchFile } from '@ffmpeg/ffmpeg';const ffmpeg = createFFmpeg();// vue生命周期
created(): void {if(!ffmpeg.isLoaded()) {ffmpeg.load().catch((err) => {console.log(err);});}
}
// 在代理中加入:
headers: {"Cross-Origin-Opener-Policy": "same-origin","Cross-Origin-Embedder-Policy": "require-corp",
}

2. 上传文件

html

<el-uploadclass="el-upload__video"drag:show-file-list="false":before-upload="uploadVideo"accept="video/mp4,video/mkv"
><h1>视频在线剪切</h1>
</el-upload>

js

  /** 上传*/public async uploadVideo (file: File) {this.videoName = file.namethis.orgFileBuffer = await file.arrayBuffer() // 获取文件数据ffmpeg.FS('writeFile', this.videoName, await fetchFile(new Blob([this.orgFileBuffer]))); // 将视频数据写入内存this.videoUrl = URL.createObjectURL(new Blob([this.orgFileBuffer])); // 将视频数据转为urlreturn false}

3. 播放

  <video><source :src="videoUrl" type="video/mp4"></video>

4. 剪切

// startCutTime开始剪切的时间
// endCutTime结束剪切的时间
// videoName要剪切的视频名
// TEM_FILE_NAME剪切完成后保存到内存的视频名称await ffmpeg.run('-ss', `${this.startCutTime}`,'-t', `${this.endCutTime - this.startCutTime}`,'-i', this.videoName,'-vcodec', 'copy','-acodec', 'copy', this.TEM_FILE_NAME)let arrayBuffer = ffmpeg.FS('readFile', this.TEM_FILE_NAME).buffer // 读取缓存this.videoUrl = URL.createObjectURL(new Blob([arrayBuffer]) // 转为Blob URL

前端ffmpeg实现视频剪切相关推荐

  1. android端采用FFmpeg进行视频剪切、转码与添加水印

    前两篇文章介绍过FFmpeg进行音频处理.音视频处理:android端采用FFmpeg进行音频混合与拼接剪切, android端采用FFmpeg进行音视频合成与分离.关于FFmpeg涉及文件导入以及c ...

  2. 使用FFMpeg实现视频剪切功能

    首先致敬雷神提供的资源,使用雷神的代码实现视频剪切功能 雷神实现的ffmpeg代码文章 说明一下,这里转载首先是记录一下实现方法,其次就是解决代码无法正常运行问题(avformat_write_hea ...

  3. Java使用ffmpeg实现视频剪切、mp3剪切

    直接运行代码即可: import java.io.IOException;public class FfmpegDemo {// 剪切命令static String command = "$ ...

  4. FFmpeg优化 苏宁PP体育视频剪切效率提升技巧

    FFmpeg功能强大,社区活跃,在多媒体处理业务中扮演着不可或缺的角色.但没有优化过的FFmpeg在生产环境下有很多性能瓶颈,因此对其进行优化势在必行.苏宁旗下PP体育音视频技术负责人田钊撰文分享了团 ...

  5. android 混音 源码,FFmpegAndroid android 端基于 FFmpeg 实现音频剪切、拼接、转码、混音、编解码;视频剪切、水印、截图、转码、编 @codeKK c开源站...

    android 端基于 FFmpeg 库的使用 添加编译 ffmpeg.shine.mp3lame.x264 源码的参考脚本 目前音视频相关处理: 音频剪切.拼接 音频混音 音频转码 音视频合成 音频 ...

  6. ffmpeg视频剪切与拼接

    文章目录 ffmpeg工具进行视频剪切与合并 剪切视频 拼接视频 ts格式拼接 将ts格式文件转为mp4格式 mp4格式拼接 ffmpeg工具常用命令 ffmpeg的安装及基本使用可以看上一篇博客 F ...

  7. 【ffmpeg】最全简单实用教程|安装音频视频剪切融合拼接抽帧等

    ffmpeg 实用教程(非常全) FFmpeg Download(Mac) brew ffmpeg 常用操作(最全最简单) 音频 音频转换格式 多个音频混音 改变音量大小 音频淡入淡出 调整音频速率 ...

  8. FFmpeg视频剪切

    视频剪切 ffmpeg -i input.ogv -ss 00:00:30.0 -c copy -t 00:00:10.0 output.mp4 ffmpeg -i input.wmv -ss 30 ...

  9. java ffmpeg 合并视频_android ffmpeg视频剪切与合并

    android-ffmpeg-java-demo 说明 以前一直希望可以做一个播放器,所以当时就接触了ffmpeg这个库,当时打算使用JNI的方式进行底层的调用,无奈整个逻辑比较麻烦,因此进度一再搁浅 ...

最新文章

  1. Android--Otto事件总线 -- 组件之间通讯框架使用 --模式解析
  2. 求两个集合的差集代码_求求你了,不要再写循环求两个列表的交集,并集和差集了 | pythonic 小技巧...
  3. HRESULT 的判断
  4. VTK修炼之道69:体绘制讨论_颜色传输函数
  5. Taro+react开发(3)--tora官网
  6. 宁德技校学计算机报名,你知道现在宁德市师范学校计算机报2012年的考试开始报名了吗,怎样报名啊...
  7. 《超级女声》新增 9月4日 娱乐无极限 回顾超女专辑(都是超女) [共39G的精品]
  8. python 比较文件不同,在python中逐行比较两个不同的文件
  9. 洛谷P1690 贪婪的Copy 题解
  10. java vk减号_Vue入门经常使用指令
  11. 如何实现大批量UKEY远程连接管控?
  12. 基于matlab的gmsk,基于MATLAB的GMSK仿真分析-移动通信系统三级项目报告
  13. 【深度学习6】对比学习(Contrastive Learning)入门
  14. c语言列宽作用,c语言|格式化输入输出详解
  15. (web前端网页制作课作业)使用HTML+CSS制作非物质文化遗产专题网页设计与实现
  16. 求解一元高次多项式方程的所有实数根的算法
  17. 小熊个人资料_TOP打野Xx小熊是谁 Xx小熊个人资料背景曝光实力超群
  18. python 将小图放入较大的白色或黑色背景图片
  19. 解密云原生数据库|Data Infra 研究社第一期
  20. centos离线、在线安装

热门文章

  1. 【PSO三维路径规划】基于matlab粒子群算法融合鸡群算法多无人机三维路径规划【含Matlab源码 1792期】
  2. 网络技术——路由器原理与测试
  3. 全球与中国带灯轻触开关市场现状及未来发展趋势
  4. 离线安装docker,docker安装MySQL,Redis,ES,Kibana,mongoDB,RocketMQ
  5. 选股绝招[如何抓住狂涨的黑马]
  6. 一只能看懂表格图片的数据助手
  7. python 列表 循环 实现简易的电子商城
  8. 纽约大学研究生 计算机科学 申请,纽约大学计算机科学理学硕士理学硕士研究生申请要求及申请材料要求清单...
  9. Form表单提交成功,但是后台并没有处理数据且debug无效
  10. Bloom Filter 和 Count-Min Sketch 介绍