把 FFmpeg 搬进浏览器?我体验了开源流媒体下载器 FlowPick,聊聊真实感受

0 阅读4分钟

把 FFmpeg 搬进浏览器?我体验了开源流媒体下载器 FlowPick,聊聊真实感受

1280x768.png

一、为什么关注它

相信不少人都有过这种需求:B 站视频想缓存下来通勤看、付费网课想留一份备份、播客想转成音频随身听。但真要去下,往往绕不开两类方案——

  • 各种「在线解析」网站:你得把视频链接粘贴到别人的服务器上,等于把「我在看什么」交了出去,还经常限速弹广告;
  • 桌面客户端:功能强,但动辄要注册、要上传,隐私账算不清。

所以当我看到 FlowPick 这个项目时,眼前一亮:它是一个隐私优先的流媒体下载工具,同时提供浏览器扩展和在线网页两种形态,核心卖点是所有处理都在你浏览器里完成,文件不落任何第三方服务器。而且代码开源(github.com/ezwebtools/…

这篇就从开发者视角,聊聊我实际体验下来的感受,以及它的适用边界。


二、上手:两种方式都能用

FlowPick 给了一条「零门槛」路径和一条「高频」路径:

  1. 在线工具:直接打开 /m3u8-downloader/dash-downloader,粘贴流地址就能下,不用装任何东西。适合临时用、或者在装不了扩展的环境里用。
  2. 浏览器扩展:从 Chrome / Edge 应用店装一个,工具栏点开就能自动嗅探当前页面的媒体。适合每天高频用。

我自己的习惯是平时用扩展,临时在别人机器上就用在线工具。两种方式共用同一套核心下载引擎(Nuxt 的 composable),所以行为一致。


三、功能实测:它到底能干什么

按官方流程走下来,这几个能力是实打实能用的:

  • 媒体嗅探 + 自动分类:扩展会监听浏览器网络请求,把资源分成媒体流(M3U8 / MPD)、视频、音频、图片四类,不用你手动分辨。

  • 画质选择:自适应流(HLS / DASH)会列出所有可用清晰度,只下对应分辨率的切片,省时省空间。

  • 批量下载:勾选多个资源一次性进队列,支持暂停 / 继续 / 取消。

  • 格式转换:TS → MP4 是「换容器(remux)」而不是重新编码,不损画质、速度很快。底层就是这条命令在浏览器里跑:

    ffmpeg -i input.ts -c copy output.mp4
    
  • 大文件下载:Chrome / Edge 走 File System Access API 流式写入,没有文件大小上限,内存占用也不随文件变大而膨胀。

  • 隐私:零数据收集、本地处理、开源可审计——这一点下面单独说。


四、开发者视角:为什么觉得它「稳」

抛开功能,单看技术选型,它有几个让我比较放心的点:

1. FFmpeg 真的搬进了浏览器

合并、转码全用 @ffmpeg/ffmpeg(WASM 版)在客户端完成,文件不经过服务器。代价是首载约 8MB 的 WASM,但后续有缓存,且彻底免去了「上传排队 + 服务端转码」的链路。

2. 三层写入降级,工程上很务实

大文件写入按 FSA → StreamSaver → Blob 的顺序自动降级:

  • FSA(Chrome / Edge 86+):流式写,任意大小,内存恒定;
  • StreamSaver:Service Worker 代理,兼容更广;
  • Blob:兜底,但受内存限制,超大文件会被拒绝并提示换浏览器。

设计文档里连「估计文件大小超过 1.5GB 就强制走流式写入」的阈值都写清楚了,不是拍脑袋。

3. 开源 + 权限克制

代码公开可审计,无混淆、无远程加载脚本。webRequest 权限只读作响应头(Content-Type 等),不读页面内容、不拿 cookie 明文。对一个要「碰你浏览器请求」的扩展来说,这种克制很重要。


五、客观说说不足

种草归种草,边界得讲清楚:

  • DRM 内容解不了(如 Widevine),这是设计边界,不是 bug,也别指望它能破。
  • 在线工具受 CORS 限制:如果流服务器没配跨域头,直接下可能失败,这种情况得换扩展版。
  • FFmpeg WASM 首载有体积,弱网第一次会慢一点。
  • 大文件体验依赖浏览器:Chrome / Edge 最稳,Safari 走 Blob 模式,体验会弱一截。

六、谁适合用,谁先等等

比较适合:想做个人/合规用途的离线归档(网课、直播回放、播客音频)、图片批量采集、以及一切「不想把数据交给云端工具」的隐私敏感场景。

可以先等等:你要下的是带 DRM 的付费内容(它解不了);或者你只用 Safari 且经常下几个 GB 的大文件(写入策略会退化);再或者你只是偶尔下一次、嫌装扩展麻烦——那直接用它的在线工具就行,不必折腾。