请教前端大佬: Vue 项目 demo,用了 Vant 组件,使用的是 van-uploader,我想实现:选择好视频后,想截取视频,然后再进行上传,应该怎么写呢?

2023-10-16 11:15:52 +08:00
 ChatGPTPRO
以下是我的代码。


<van-uploader :preview-full-image="false" result-type="file" accept="video/*" :max-count="1" v-model="videoCovers"
:after-read="afterRead" @delete="onDeleteFile">
<template #preview-cover="{ file }">
<van-uploader class="preview-cover" :after-read="onUploadCover" style="display: flex;justify-content: center;">
<div>选封面</div>
</van-uploader>
</template>
</van-uploader>


大佬们,就像这样,选了视频后,能够截取视频,然后上传

1131 次点击
所在节点    程序员
8 条回复
liangtao927190
2023-10-16 11:23:03 +08:00
没理解错的话。。。可以在 beforeRead 这个函数里去异步的执行裁剪相关的操作。裁剪完毕后,赋值新的视频给 fileList ,返回 resolve()即可。
codeself
2023-10-16 11:24:08 +08:00
思路是这个,找 gpt 给你写具体的实现就行了

1. van-uploader 只用于文件选择
2. 到 npm 找个可以截取视频的包
3. 把截取视频的结果转成 blob
4. 通过 new FormData 的形式把你的 blob 传给后端即可
1156909789
2023-10-16 11:24:36 +08:00
那得塞个 ffmpeg 进去吧
ChatGPTPRO
2023-10-16 11:40:12 +08:00
@codeself
@liangtao927190 非常感谢两位大哥!
ChatGPTPRO
2023-10-16 13:49:06 +08:00
大佬,像我上面发的图片中,这种进度选择条然后截取的,请问您知都不知道是不什么框架的啊?
找了一圈发现,vedio.js 只支持播放,videojs-record 只支持干录制,不能选取的
NikoXu
2023-10-16 16:40:00 +08:00
前端还能干这种事情 ?
webszy
2023-10-16 19:58:23 +08:00
抖音上有个渡一前端好像讲过
webszy
2023-10-16 20:00:49 +08:00
还是需要 ffmpeg ,浏览器端需要 wasm ,要不然就是后端

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/982352

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX