前端检测视频文件|编码视频分片|视频转音频

35 阅读1分钟

引入

<script type="module" src="dist/ffmpeg.js"></script>
<script>
   window.addEventListener('load', () => {
       window.createFFMPEG({
            coreURL: '/ffmpeg/ffmpeg-core.js',
            wasmURL: '/ffmpeg/ffmpeg-core.wasm',
            workerURL: '/ffmpeg/worker.js',
            classWorkerURL: '/ffmpeg/worker.js'
        }); //自定义ffmepg目录
   }) //方法会全部挂载到window上
</script>

检测视频编码

<input type="file" onchange="checkType(this.files[0])">
<script>
    async function checkType(e){
       const fileType = await checkFileType(e);
       //h264或hevc等等
    }
</script>

视频分片

<input type="file" onchange="split(this.files[0])">
<script>
    async function split(e) {
       const result = await splitFile(e, {
            size: 60 //分片大小 单位MB 默认60MB
       });
       //格式为[{file,size}]
    } //有浏览器内存限制 以Chrome为例 最大处理约2G的视频,还得考虑页面自身占用,因为相当于把视频扔到jsworker里去处理了
</script>

视频转音频

<input type="file" onchange="convertFile(this.files[0],'mp3')"> //结果会返回音频File对象