常见问题解答
本文档收集了 FlowPick 使用过程中最常被问到的问题。如果你遇到的问题不在列表中,请参考 常见问题排查 或通过 GitHub Issues 反馈。
快速导航
安装与设置
FlowPick 是免费的吗?
是的,FlowPick 完全免费,无任何付费功能或订阅计划。项目代码在 GitHub 上开源。
为什么扩展需要"读取和更改网站数据"权限?
FlowPick 需要监控网络请求以检测页面上的媒体资源。这个权限仅用于:
- 监听浏览器发出的网络请求,识别视频、音频和图片 URL
- 在用户主动点击下载时,发起下载请求
FlowPick 不会收集、上传或分享你的浏览数据。
可以在 Firefox 上使用吗?
Firefox 扩展版本正在开发中。目前可以在 Firefox 上使用在线工具(/m3u8-downloader、/dash-downloader),但功能受限于 Firefox 对 File System Access API 和 SharedArrayBuffer 的支持情况。
如何更新到最新版本?
Chrome/Edge 扩展会自动更新。你也可以手动检查更新:
- 打开
chrome://extensions(Edge:edge://extensions) - 开启右上角的"开发者模式"
- 点击"更新"按钮

媒体检测
为什么检测不到页面上的视频?
最常见的原因和解决方法:
- 页面尚未加载媒体:先播放视频几秒钟,然后刷新页面再打开 FlowPick
- 扩展在页面加载后才激活:刷新页面让扩展重新监控网络请求
- 网站使用 MSE 动态加载:部分网站通过 Media Source Extensions 动态推送数据,可能无法通过常规网络请求检测到
- 媒体在 iframe 中:跨域 iframe 中的媒体可能无法被检测
检测到的文件太多,如何筛选?
使用 FlowPick 弹出窗口中的过滤功能:
- 类型过滤:切换视频/音频/图片标签
- 大小过滤:设置最小文件大小,排除缩略图和小图标
- 格式过滤:按文件扩展名筛选(如只显示
.mp4)

为什么同一个视频出现多个条目?
流媒体通常包含多个画质版本(如 720p、1080p、4K),每个版本会作为独立条目显示。选择你需要的画质下载即可。如果使用 Master Playlist 的 M3U8 流,FlowPick 会先展示画质列表让你选择。
下载相关
下载速度慢怎么办?
影响下载速度的因素及优化建议:
| 因素 | 优化方法 |
|---|---|
| 并发线程数过低 | 在设置中增加到 4-6 |
| CDN 限速 | 降低并发数避免触发限流 |
| 网络带宽不足 | 关闭其他占用带宽的应用 |
| 分片服务器距离远 | 无法优化,取决于流媒体服务商 |
下载的文件无法播放?
按以下步骤排查:
- 检查文件大小:如果文件明显偏小(如只有几 KB),说明下载不完整
- 检查格式:确认播放器支持该格式(TS 格式需要 VLC 或 PotPlayer)
- 检查加密:加密流如果密钥获取失败,文件将无法解密
- 尝试转封装:将 TS 转为 MP4 后再播放
可以同时下载多个文件吗?
可以。在弹出窗口中勾选多个资源后点击"下载所选",它们会按顺序逐个下载。
下载中断后可以续传吗?
当前版本不支持断点续传。如果下载中断:
- 已下载的分片数据会丢失
- 需要重新开始下载
- 建议使用稳定的网络环境下载大文件
为什么不支持断点续传?
断点续传需要持久化已下载的分片数据到磁盘,并在恢复时从断点继续。这在浏览器环境中面临两个主要挑战:
- 存储限制:浏览器存储(IndexedDB)有配额限制,无法可靠存储 GB 级别的分片数据
- 分片 URL 过期:流媒体的分片 URL 通常包含时效性令牌,中断时间稍长令牌就会过期,即使续传也无法下载剩余分片
下载的文件保存在哪里?
取决于你的浏览器设置和选择的保存方式:
- Chrome 默认:浏览器的默认下载目录(通常是"下载"文件夹)
- 选择目录模式:你通过目录选择器指定的文件夹
- 每次询问:每次下载时弹出保存对话框
格式转换
TS 和 MP4 有什么区别?
| 特性 | TS | MP4 |
|---|---|---|
| 全称 | MPEG Transport Stream | MPEG-4 Part 14 |
| 设计用途 | 流媒体传输 | 本地存储和播放 |
| 播放兼容性 | 需要 VLC/PotPlayer 等专业播放器 | 几乎所有播放器都支持 |
| 文件大小 | 略大(含传输开销) | 略小 |
| 下载速度 | 快(无需转封装) | 慢(需要 FFmpeg 处理) |
建议:如果播放器支持 TS 格式,选择 TS 输出可以跳过转封装步骤,下载更快。
为什么转封装需要很长时间?
FFmpeg 在浏览器中以 WebAssembly 运行,性能约为原生版本的 10-20%。影响因素:
- 文件大小:越大的文件转封装越慢
- SharedArrayBuffer:不可用时只能单线程运行
- CPU 性能:WASM 执行速度取决于设备 CPU
转封装失败怎么办?
常见原因和解决方法:
- FFmpeg 加载失败:刷新页面重试,检查网络连接
- 内存不足:关闭其他标签页,降低并发数
- 源文件损坏:部分分片下载不完整,尝试重新下载
- 不支持的编码:FlowPick 仅做容器转换,不支持的编码格式无法处理
隐私与安全
FlowPick 会收集我的数据吗?
不会。FlowPick 的所有处理都在你的浏览器本地完成:
- 媒体检测在扩展内部进行,不上传任何数据
- 文件下载直接从源服务器到你的磁盘
- 没有后端服务器,没有用户账户系统
- 使用 Google Analytics 仅统计匿名访问数据(可被广告拦截器阻止)
下载的内容有版权问题吗?
FlowPick 是一个工具,不判断也不限制你下载的内容。请遵守以下原则:
- 仅下载你有权访问和使用的内容
- 遵守网站的服务条款
- 下载的内容仅用于个人合理使用
- 不得将下载的内容用于商业用途或再分发
在线工具安全吗?
在线工具(/m3u8-downloader、/dash-downloader)的所有处理同样在浏览器本地完成:
- 你粘贴的 URL 不会发送到任何服务器
- 下载的数据直接从源服务器传输到你的磁盘
- FFmpeg 在浏览器中运行,不上传文件
技术问题
什么是 SharedArrayBuffer,为什么需要它?
SharedArrayBuffer 是一种允许多个线程共享内存的 JavaScript 对象。FFmpeg WASM 使用它来实现多线程并行处理,显著提升转封装速度。
由于安全原因(Spectre 漏洞缓解),浏览器要求网站设置特定的 HTTP 响应头才能使用 SharedArrayBuffer。如果这些头未设置,FFmpeg 会自动降级为单线程模式。
为什么在线工具需要粘贴 URL 而不是自动检测?
浏览器扩展可以监控网络请求,但普通网页受同源策略限制,无法访问其他标签页的网络请求数据。在线工具作为普通网页运行,需要你手动提供流媒体 URL。
如何获取流媒体 URL?
- 按
F12打开开发者工具 - 切换到 Network(网络)面板
- 在过滤框中输入
m3u8或mpd - 播放视频,观察出现的请求
- 右键点击 M3U8/MPD 请求 → Copy → Copy link address

扩展版本和在线工具有什么区别?
| 特性 | 扩展版本 | 在线工具 |
|---|---|---|
| 自动检测媒体 | 支持 | 不支持 |
| CORS 限制 | 不受限 | 受限 |
| 安装要求 | 需要安装扩展 | 无需安装 |
| 使用便捷性 | 一键检测下载 | 需要手动获取 URL |
| 适用场景 | 日常使用 | 临时使用、无法安装扩展的环境 |
其他问题
项目是开源的吗?
是的,FlowPick 在 GitHub 上开源。你可以查看源代码、提交 Issue 或贡献代码。
如何报告 Bug?
通过 GitHub Issues 提交 Bug 报告,请包含以下信息:
- 浏览器类型和版本
- 操作系统
- 问题描述和复现步骤
- 控制台错误日志(F12 → Console)
- 相关的流媒体 URL(如果可公开访问)
如何请求新功能?
通过 GitHub Issues 提交功能请求,请描述:
- 你想要实现的功能
- 使用场景
- 期望的行为
可以自行部署在线工具吗?
可以。FlowPick 是一个 Nuxt 应用,你可以克隆仓库后自行构建部署。需要注意:
- 部署环境必须配置 COEP/COOP 响应头以启用 FFmpeg 多线程
- StreamSaver.js 的
mitm.html和 Service Worker 需要正确部署 - 建议使用 Cloudflare Pages 或 Vercel 等支持自定义响应头的平台