小白项目求助,大文件如何直传第三方 API,不经过自己中转站服务器,同时保留自有账号计费且不泄露上游密钥?

Dean 2026-08-19 17:47 1

各位佬,想请教一个桌面软件的视频直传架构问题。做了一个 Windows 桌面软件会分析电影。客户端先把电影压缩成多个约2 FPS、480p片段,当前链路是:

客户端 → 自有 Business API → Redis → Worker → 第三方 API → AI模型

这样视频会先经过自有服务器,用户量增加后,服务器成本会很高。

我目前是自建了一个小中转站,有上游api中转站

请问各位佬如何才能让视频不走自己的中转站服务器?直接传给→ 第三方 API → AI模型。

困扰好久了,虚心请教一下各位佬

最新回复 (19)
  • sunfly 08-19 17:49
    1

    实不相瞒,完全没有看懂是要干嘛 ^-^

  • Re-bo-t 08-19 17:50
    2

    这个,可能必须有服务器中转(鉴权,用户登录,速率限制)然后转发到对应ai服务器或中转才可以吧

    你总不能客户端写key吧

    所以是必须的


    如果直接写客户端里直接给你刷爆了



    不经过自己中转站服务器,同时保留自有账号计费且不泄露上游密钥



    ?你在想什么,这可能吗,必须经过你的服务器才可以哈,这个成本省不了

  • Dean 楼主 08-19 17:53
    3

    那有点难搞了 ^-^,再请教一下佬,这种服务器一般需要什么配置?感觉对带宽的要求会很高,我的服务承接的全部都是压缩的视频,几十到几百m的视频这样

  • Dean 楼主 08-19 17:54
    4

    白话就是,我自建了一个api中转站,但是接的别人的上游,我的客户用途都是分析视频、上传视频,我不想让视频经过自己的服务器

  • Dean 楼主 08-19 17:56
    5

    主要是我的客户全部都是上传视频。这个带宽和流量我简直没法估算了

  • Re-bo-t 08-19 17:57
    6

    如果可以,客户端把视频转换为图片,比如1s一帧,压缩好传给服务器可能能节省一些算力。然后服务器透传给api?然后一步一步的总结?如果是这样就可以分步做,先总结15个图片(15s)把结果保存下来成为文本,然后再继续总结,最后把所有文本总结好。这样就不用存视频了


    然后最后发给用户,这样应该没有问题吧


    别的我想不到了

  • superychen 08-19 17:57
    7

    买个oss呢,客户端走oss直传,不知道ai能不能直接从oss下载

  • Dean 楼主 08-19 17:58
    8

    这也是个好办法 感谢佬 可以研究研究

  • sunfly 08-19 17:58
    9

    理解了一些类似 302 重定向这种吧,openlist 这种项目挂网盘时候有类似方法,扒一下源码去找找灵感

  • hanelalo 08-19 17:58
    10

    cloudflare的R2了解一下

  • Re-bo-t 08-19 18:00
    11

    网页端也是可以对视频进行处理和抽帧和压缩的,但是如果移动端就可能性能不好,容易卡死,但是pc端没有问题



    买个oss呢,客户端走oss直传,不知道ai能不能直接从oss下载



    对,客户端性能足够的话,可以考虑(如果我说的那个抽帧发图片不行)就降低帧率和码率再发送?比如把60fps降低到15fps也能降低带宽

  • Dean 楼主 08-19 18:01
    12

    现在是压缩到 约2 FPS、480p 我是把整部电影丢进去分析。。。这样仍然压力很大

  • 长夜 08-19 18:02
    13

    理论上,你想要让用户点对点传给第三方,需要第三方的api支持。


    原理上就是你的控制平面跟第三方要一个临时key,然后把临时key下发给客户端,客户端拿着临时key去找第三方进行上传——某些第三方支持,但第三方不支持的话,这条路是肯定走不通的。




    如果在第三方不支持的情况下,退而求其次,就是通过比较廉价的云对象存储服务做中转。


    比如Cloudflare R2 / AWS S3 / 阿里云 OSS,用户上传到对此存储之后,触发你的处理逻辑,转发到第三方API。


    或者,来点 Cloudflare Workers / 阿里云函数计算 为代表的轻量代理。

  • Anemon_ZY 08-19 18:03
    14

    上游可以生成临时的key吗,客户端根据文件预估一个预算发给你的服务,然后你生成一个带限额的临时key下发,客户端使用这个临时的key执行调用,并把结果回报给你。问题在于一是暴露了上游接口,二是怎么对账,不能完全信任客户端,还是得上游支持

  • Dean 楼主 08-19 18:04
    15

    是的佬 第三方确实支持临时key 但是没给计费功能,用这个临时key用量详情和计费没法统计

  • Anemon_ZY 08-19 18:04
    16

    楼上那个佬友讲的就是我想说的,要么给个用户个临时链接;要么用户直接上传oss,obs可以直接授信用户一个临时的上传链接,然后把下载链接作为url给模型

  • Dean 楼主 08-19 18:06
    17

    佬分析的太详细了。非常感谢。我按这个研究下

  • gpl 08-19 18:09
    18

    我们公司是,



    1. s3上传 url签名,

    2. 前端上传(分片上传也行),

    3. 前端发送上传完成的 API

    4. 服务端存储 s3 不签名的 link

    5. 将 get签名好的 link 发送给 AI

  • 杜甫 08-19 18:12
    19

    对生成一个对象存储预签名URL,返回给客户端然后直传到R2,提交任务时把URL扔过去

* 帖子来源Linux.do
返回