常见问题解答

FlowPick 使用过程中的高频问题与解答,涵盖安装、下载、格式转换、故障处理等场景。

本文档收集了 FlowPick 使用过程中最常被问到的问题。如果你遇到的问题不在列表中,请参考 常见问题排查 或通过 GitHub Issues 反馈。


快速导航

分类问题数跳转
安装与设置4安装与设置
媒体检测3媒体检测
下载相关5下载相关
格式转换3格式转换
隐私与安全3隐私与安全
技术问题3技术问题
其他问题4其他问题

安装与设置

FlowPick 是免费的吗?

是的,FlowPick 完全免费,无任何付费功能或订阅计划。项目代码在 GitHub 上开源。

关于开源协议和贡献方式,请参阅 贡献指南

为什么扩展需要"读取和更改网站数据"权限?

FlowPick 需要监控网络请求以检测页面上的媒体资源。这个权限仅用于:

  • 监听浏览器发出的网络请求,识别视频、音频和图片 URL
  • 在用户主动点击下载时,发起下载请求

FlowPick 不会收集、上传或分享你的浏览数据。

关于扩展请求的所有权限及其具体用途,请参阅 隐私与安全 — 权限说明。关于扩展的安装步骤,请参阅 安装指南

可以在 Firefox 上使用吗?

Firefox 扩展版本正在开发中。目前可以在 Firefox 上使用在线工具(/m3u8-downloader/dash-downloader),但功能受限于 Firefox 对 File System Access API 和 SharedArrayBuffer 的支持情况。

关于各浏览器的完整功能支持矩阵,请参阅 浏览器兼容性 — 功能支持矩阵。关于在线工具的使用方式,请参阅 在线工具

如何更新到最新版本?

Chrome/Edge 扩展会自动更新。你也可以手动检查更新:

  1. 打开 chrome://extensions(Edge: edge://extensions
  2. 开启右上角的"开发者模式"
  3. 点击"更新"按钮


媒体检测

为什么检测不到页面上的视频?

最常见的原因和解决方法:

  1. 页面尚未加载媒体:先播放视频几秒钟,然后刷新页面再打开 FlowPick
  2. 扩展在页面加载后才激活:刷新页面让扩展重新监控网络请求
  3. 网站使用 MSE 动态加载:部分网站通过 Media Source Extensions 动态推送数据,可能无法通过常规网络请求检测到
  4. 媒体在 iframe 中:跨域 iframe 中的媒体可能无法被检测
关于媒体检测的完整排查流程(含诊断步骤和常见原因表),请参阅 常见问题排查 — 媒体检测问题。关于 HLS/DASH 检测的技术原理,请参阅 视频嗅探

检测到的文件太多,如何筛选?

使用 FlowPick 弹出窗口中的过滤功能:

  • 类型过滤:切换视频/音频/图片标签
  • 大小过滤:设置最小文件大小,排除缩略图和小图标
  • 格式过滤:按文件扩展名筛选(如只显示 .mp4

关于过滤配置的详细说明,请参阅 配置参考 — 过滤设置。关于图片下载的筛选技巧,请参阅 图片下载

为什么同一个视频出现多个条目?

流媒体通常包含多个画质版本(如 720p、1080p、4K),每个版本会作为独立条目显示。选择你需要的画质下载即可。如果使用 Master Playlist 的 M3U8 流,FlowPick 会先展示画质列表让你选择。

关于 Master Playlist 和 Media Playlist 的区别,请参阅 视频嗅探 — HLS 流。关于画质选择的实际场景,请参阅 在线课程下载

下载相关

下载速度慢怎么办?

影响下载速度的因素及优化建议:

因素优化方法
并发线程数过低在设置中增加到 4-6
CDN 限速降低并发数避免触发限流
网络带宽不足关闭其他占用带宽的应用
分片服务器距离远无法优化,取决于流媒体服务商
关于下载速度慢的完整诊断流程(含决策树),请参阅 常见问题排查 — 下载速度慢。关于并发数与性能的关系分析,请参阅 下载引擎架构 — 并发数与性能的关系

下载的文件无法播放?

按以下步骤排查:

  1. 检查文件大小:如果文件明显偏小(如只有几 KB),说明下载不完整
  2. 检查格式:确认播放器支持该格式(TS 格式需要 VLC 或 PotPlayer)
  3. 检查加密:加密流如果密钥获取失败,文件将无法解密
  4. 尝试转封装:将 TS 转为 MP4 后再播放
关于文件无法播放的完整诊断步骤(含 VLC 修复功能),请参阅 常见问题排查 — 下载的文件无法播放。关于 TS 和 MP4 格式的播放器兼容性,请参阅 格式转换 — 输出格式选择

可以同时下载多个文件吗?

可以。在弹出窗口中勾选多个资源后点击"下载所选",它们会按顺序逐个下载。

关于批量下载的队列管理、并发控制和状态管理,请参阅 批量下载。关于批量下载图片的场景,请参阅 图库批量保存

下载中断后可以续传吗?

当前版本不支持断点续传。如果下载中断:

  • 已下载的分片数据会丢失
  • 需要重新开始下载
  • 建议使用稳定的网络环境下载大文件

为什么不支持断点续传?

断点续传需要持久化已下载的分片数据到磁盘,并在恢复时从断点继续。这在浏览器环境中面临两个主要挑战:

  1. 存储限制:浏览器存储(IndexedDB)有配额限制,无法可靠存储 GB 级别的分片数据
  2. 分片 URL 过期:流媒体的分片 URL 通常包含时效性令牌,中断时间稍长令牌就会过期,即使续传也无法下载剩余分片
关于分片 URL 过期的典型时间窗口,请参阅 已知限制 — 分片 URL 过期。关于下载引擎的重试机制,请参阅 下载引擎架构 — 重试机制

下载的文件保存在哪里?

取决于你的浏览器设置和选择的保存方式:

  • Chrome 默认:浏览器的默认下载目录(通常是"下载"文件夹)
  • 选择目录模式:你通过目录选择器指定的文件夹
  • 每次询问:每次下载时弹出保存对话框
关于 File System Access API 的目录选择功能和权限持久化,请参阅 下载引擎架构 — 文件写入模块。关于各浏览器的保存方式支持情况,请参阅 浏览器兼容性 — 功能支持矩阵

格式转换

TS 和 MP4 有什么区别?

特性TSMP4
全称MPEG Transport StreamMPEG-4 Part 14
设计用途流媒体传输本地存储和播放
播放兼容性需要 VLC/PotPlayer 等专业播放器几乎所有播放器都支持
文件大小略大(含传输开销)略小
下载速度快(无需转封装)慢(需要 FFmpeg 处理)

建议:如果播放器支持 TS 格式,选择 TS 输出可以跳过转封装步骤,下载更快。

关于容器与编解码器的概念区分,请参阅 格式转换 — 容器与编解码器。关于转封装与转码的区别,请参阅 已知限制 — 不支持的转换

为什么转封装需要很长时间?

FFmpeg 在浏览器中以 WebAssembly 运行,性能约为原生版本的 10-20%。影响因素:

  • 文件大小:越大的文件转封装越慢
  • SharedArrayBuffer:不可用时只能单线程运行
  • CPU 性能:WASM 执行速度取决于设备 CPU
关于 FFmpeg WASM 与原生版本的性能对比数据,请参阅 已知限制 — FFmpeg WASM 性能。关于 SharedArrayBuffer 的配置要求,请参阅 浏览器兼容性 — 高级 API

转封装失败怎么办?

常见原因和解决方法:

  1. FFmpeg 加载失败:刷新页面重试,检查网络连接
  2. 内存不足:关闭其他标签页,降低并发数
  3. 源文件损坏:部分分片下载不完整,尝试重新下载
  4. 不支持的编码:FlowPick 仅做容器转换,不支持的编码格式无法处理
关于 FFmpeg WASM 的加载流程和首次加载时间分解,请参阅 已知限制 — FFmpeg 首次加载较慢。关于合并过程卡住的排查,请参阅 常见问题排查 — 合并过程卡住

隐私与安全

FlowPick 会收集我的数据吗?

不会。FlowPick 的所有处理都在你的浏览器本地完成:

  • 媒体检测在扩展内部进行,不上传任何数据
  • 文件下载直接从源服务器到你的磁盘
  • 没有后端服务器,没有用户账户系统
  • 使用 Google Analytics 仅统计匿名访问数据(可被广告拦截器阻止)
关于隐私保护的完整说明(含权限用途、数据处理流程、安全架构),请参阅 隐私与安全。关于隐私政策的完整文本,请参阅 隐私政策

下载的内容有版权问题吗?

FlowPick 是一个工具,不判断也不限制你下载的内容。请遵守以下原则:

  • 仅下载你有权访问和使用的内容
  • 遵守网站的服务条款
  • 下载的内容仅用于个人合理使用
  • 不得将下载的内容用于商业用途或再分发

在线工具安全吗?

在线工具(/m3u8-downloader/dash-downloader)的所有处理同样在浏览器本地完成:

  • 你粘贴的 URL 不会发送到任何服务器
  • 下载的数据直接从源服务器传输到你的磁盘
  • FFmpeg 在浏览器中运行,不上传文件
关于在线工具与扩展的功能差异和安全模型,请参阅 在线工具

技术问题

什么是 SharedArrayBuffer,为什么需要它?

SharedArrayBuffer 是一种允许多个线程共享内存的 JavaScript 对象。FFmpeg WASM 使用它来实现多线程并行处理,显著提升转封装速度。

由于安全原因(Spectre 漏洞缓解),浏览器要求网站设置特定的 HTTP 响应头才能使用 SharedArrayBuffer。如果这些头未设置,FFmpeg 会自动降级为单线程模式。

关于 SharedArrayBuffer 的浏览器支持详情和自部署时的服务端配置,请参阅 浏览器兼容性 — 高级 API。关于单线程与多线程的性能差异,请参阅 格式转换 — 多线程模式

为什么在线工具需要粘贴 URL 而不是自动检测?

浏览器扩展可以监控网络请求,但普通网页受同源策略限制,无法访问其他标签页的网络请求数据。在线工具作为普通网页运行,需要你手动提供流媒体 URL。

如何获取流媒体 URL?

  1. F12 打开开发者工具
  2. 切换到 Network(网络)面板
  3. 在过滤框中输入 m3u8mpd
  4. 播放视频,观察出现的请求
  5. 右键点击 M3U8/MPD 请求 → Copy → Copy link address

关于在线工具的完整使用流程,请参阅 在线工具。关于 CORS 跨域限制的技术原理,请参阅 已知限制 — CORS 跨域限制

扩展版本和在线工具有什么区别?

特性扩展版本在线工具
自动检测媒体支持不支持
CORS 限制不受限受限
安装要求需要安装扩展无需安装
使用便捷性一键检测下载需要手动获取 URL
适用场景日常使用临时使用、无法安装扩展的环境
关于扩展与在线工具的详细功能差异和选择建议,请参阅 在线工具 — 与扩展的对比。关于扩展的安装步骤,请参阅 安装指南

其他问题

项目是开源的吗?

是的,FlowPick 在 GitHub 上开源。你可以查看源代码、提交 Issue 或贡献代码。

关于如何参与项目贡献,请参阅 贡献指南

如何报告 Bug?

通过 GitHub Issues 提交 Bug 报告,请包含以下信息:

  • 浏览器类型和版本
  • 操作系统
  • 问题描述和复现步骤
  • 控制台错误日志(F12 → Console)
  • 相关的流媒体 URL(如果可公开访问)
关于如何生成诊断报告(含一键复制脚本),请参阅 常见问题排查 — 生成诊断报告。提交 Issue 前建议先查阅 已知问题 确认是否为已记录的已知限制。

如何请求新功能?

通过 GitHub Issues 提交功能请求,请描述:

  • 你想要实现的功能
  • 使用场景
  • 期望的行为

可以自行部署在线工具吗?

可以。FlowPick 是一个 Nuxt 应用,你可以克隆仓库后自行构建部署。需要注意:

  • 部署环境必须配置 COEP/COOP 响应头以启用 FFmpeg 多线程
  • StreamSaver.js 的 mitm.html 和 Service Worker 需要正确部署
  • 建议使用 Cloudflare Pages 或 Vercel 等支持自定义响应头的平台
关于自部署的完整步骤和服务端配置要求,请参阅 安装指南 — 自部署。关于 SharedArrayBuffer 所需的 HTTP 响应头配置,请参阅 浏览器兼容性 — 高级 API

相关文档