несколько дней назад я думал, что тот же вопрос, что и у вас
, теперь у меня есть идея:
сначала нарежьте видео на несколько маленьких кусочков, имеющих одинаковый размер (<4 МБ), в то же время создайте манифест дляфрагменты и отправьте манифест на сервер. <br>манифест, подобный следующему:
{
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 означает, что файлУспешная загрузка файла
когда начнется загрузка, переберите куски listlist.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
Я думаю, что это делает загрузкуболее быстрый, но также может обновлять точки останова