跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 文件下载的问题
未分類
26 11 月 2020

文件下载的问题

文件下载的问题

資深大佬 : zhaoxj58 0

迫生,老板分配了这样一个任务。

给前台提供 http 接口,提供 mp4 视频下载功能。 后台需要从对象存储服务中去获取多个 mp4 源文件片段,然后重新编码成一个完整 mp4 文件返回给前端。

现在的实现方式,先从对象服务中读取所需的源文件片段,然后编成 mp4,再临时存在本地磁盘,然后再读取全部到内存,再通过 http 接口返回给前台,然后删除磁盘文件。

问题是现在每次请求都有磁盘的读写,然后也是将整个编好的文件读到内存,最后再删除磁盘文件,感觉不是特别好。

哪位大哥有更好的方案吗,救救孩子

大佬有話說 (9)

  • 資深大佬 : pabupa

    302 到 oss 不就行了吗

  • 資深大佬 : jifengg

    有碎片的话,建议要么提供 m3u8 给前端(参考爱奇艺),要么给列表给前端(参考腾讯视频)。这种实时合成的太耗 CPU 和 IO 了。
    另外是流量,对象存储直接给到前端( 302 过去),流量不用走服务器,不然服务器的带宽是瓶颈。
    前端没法改的话,只能存的时候合成大文件存了。

  • 資深大佬 : wangkun025

    只能这样吧。
    前端先提交任务,你这边合成好之后,让他们下载,下载完可以直接删除,也可以手工删除。

  • 主 資深大佬 : zhaoxj58

    @jifengg 嗯,要求提供两种可选格式的,一种是 m3u8,一种是 mp4

  • 主 資深大佬 : zhaoxj58

    @pabupa 直接 302 过去,没法做视频合成了

  • 資深大佬 : jifengg

    @zhaoxj58 那就实际问题实际解决。总之,虽然实时合成是可以做到的,但实在是不推荐的。

  • 資深大佬 : VHacker1989

    为什么要写回磁盘呢,直接返回不就行了。而且 http 协议本身支持 range,从 oss 取到后算好 range 直接返回前端就行了,合并都不用

  • 資深大佬 : nikandaoleshenme

    初次下载完后,将生成的新文件上传到 OSS,下次碰到相同的请求重定向到 OSS 上去

  • 資深大佬 : kuro1

    OSS 流量+服务器流量 费用成本有点高

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具