fluxdown 中文文档 下载 App

FluxDown DASH 下载音视频分成两个文件 — 装 ffmpeg 自动合并

现象

用浏览器扩展嗅探到 DASH .mpd 清单后送入 FluxDown,下载完成时目录里有两个文件:

video.mp4
video.audio.m4a

而不是一个合并好的完整视频文件。

原因

DASH 流媒体的 MPD 清单里通常把音频和视频分成不同的 Representation——两个独立的分片流。FluxDown 引擎会分别下载它们,然后在最后一步用 ffmpeg 做 stream copy(不重编码,秒级完成)合并成一个文件。

如果系统里找不到 ffmpeg 二进制,合并这一步就跳过了——音视频各留一个文件。

解决办法

方案一:装 FluxDown 受管组件(推荐)

「设置 → 扩展 → 受管组件 → 安装 ffmpeg」——FluxDown 自动下载官方 ffmpeg 到自己管理的目录、校验哈希、配置好 jail 化调用。装好后:

方案二:手动装系统 ffmpeg

系统安装方式
Windows下载 ffmpeg-release-essentials.zip → 解压 → 把 bin/ 目录加到系统 PATH
macOSbrew install ffmpeg
Linux (deb)sudo apt install ffmpeg
Linux (Arch)sudo pacman -S ffmpeg
Docker Server镜像里自带了 ffmpeg(FluxDown Server 依赖 ffmpeg),应该不会遇到这个问题

FluxDown 引擎会在启动时自动发现系统 PATH 里的 ffmpeg。

方案三:手动合并已下载的文件

ffmpeg -i video.mp4 -i video.audio.m4a -c copy output.mp4

-c copy 表示 stream copy 不重编码——几秒钟完成,音视频质量零损失。

合并后文件大小变化

stream copy 只是把两个流的容器拼在一起,不重编码。输出文件大小 = 原来两个文件大小之和,几乎没有额外开销。

为什么 HLS 不会遇到这个问题

HLS 流媒体的每个 m3u8 分片已经是音视频合成好的(除非 HLS master playlist 明确分了音视频流),所以 HLS 下载后天然就是一个文件。DASH 明确区分音视频轨是它的设计特点。

受管组件 vs 系统 ffmpeg

维度受管组件 ffmpeg系统 ffmpeg
安装FluxDown 里一键装手动命令行
版本FluxDown 锁死一个测试过的版本系统包管理器决定
路径FluxDown 自己目录里系统 PATH 里
污染 PATH不是
Docker/NAS 上可能需要手动装FluxDown Server 镜像自带