如何加速视频上传vuejs

时间:2018-12-18 11:09:24

标签: vue.js file-upload vuejs2 dropzone.js vue2-dropzone

我和我的队友正在研究pwa,您可以在此处看到它们:link to our pwa

该应用已于上周启动。但是,一些用户告诉我们,他们在上传视频时遇到问题。即使是小型视频(长度为50秒),上传时间也太长。

我们在vuejs上使用vue2Dropzone。您有什么想法可以加快流程吗? 我们尝试了这种使用压缩的方法,以使其运行更快:link to the compression approach

即使您没有使用此用例并找到解决方案,即使它没有使用vue2Dropzone,也很好。

感谢大家度过美好的一天,

1 个答案:

答案 0 :(得分:0)

几天前,我曾想到过与您的问题相同的问题
现在我有了主意:
首先将视频切成几小块,大小相同(<4MB),同时为这些片断创建清单,并将清单发布到服务器。
清单如下:

{
    piecescount: 100,
    fileHASH: 'a1c2c3xxxxx',
    pieceslist:[
        {id: 1, piecesname: 'video_1.temp', status: 0}
        {id: 2, piecesname: 'video_2.temp', status: 0}
        ...
        {id: 100, piecesname: 'video_100.temp', status: 0}
    ]
}

状态0表示文件尚未上传
1表示正在上传文件
2表示文件上传成功
开始上传时,循环浏览pieceslist.status

these are not code,just thinking process

for i in manitest.pieceslist
    if i.status==0
        set i.status=1
        upload the piece name=i.piecesname
        if upload sucess,set i.status=2
    elif i.status==1
        delete the piece named i.piecesname and reupload
        (because if client offline during upload,the piece maybe broken)
    elif i.status==2
        pass

所有片段上传后,将它们整理到一个文件中,并检查HASH
我认为它可以加快上传速度,但也可以更新断点