V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ChatGPTPRO
V2EX  ›  程序员

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

  •  
  •   ChatGPTPRO · 194 天前 · 870 次点击
    这是一个创建于 194 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以下是我的代码。


    <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>


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

    8 条回复    2023-10-16 20:00:49 +08:00
    liangtao927190
        1
    liangtao927190  
       194 天前   ❤️ 1
    没理解错的话。。。可以在 beforeRead 这个函数里去异步的执行裁剪相关的操作。裁剪完毕后,赋值新的视频给 fileList ,返回 resolve()即可。
    codeself
        2
    codeself  
       194 天前   ❤️ 1
    思路是这个,找 gpt 给你写具体的实现就行了

    1. van-uploader 只用于文件选择
    2. 到 npm 找个可以截取视频的包
    3. 把截取视频的结果转成 blob
    4. 通过 new FormData 的形式把你的 blob 传给后端即可
    1156909789
        3
    1156909789  
       194 天前
    那得塞个 ffmpeg 进去吧
    ChatGPTPRO
        4
    ChatGPTPRO  
    OP
       194 天前
    @codeself
    @liangtao927190 非常感谢两位大哥!
    ChatGPTPRO
        5
    ChatGPTPRO  
    OP
       194 天前
    大佬,像我上面发的图片中,这种进度选择条然后截取的,请问您知都不知道是不什么框架的啊?
    找了一圈发现,vedio.js 只支持播放,videojs-record 只支持干录制,不能选取的
    NikoXu
        6
    NikoXu  
       194 天前
    前端还能干这种事情 ?
    webszy
        7
    webszy  
       194 天前
    抖音上有个渡一前端好像讲过
    webszy
        8
    webszy  
       194 天前
    还是需要 ffmpeg ,浏览器端需要 wasm ,要不然就是后端
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   858 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:42 · PVG 04:42 · LAX 13:42 · JFK 16:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.