使用 ffmpeg 下载 DASH 视频

getvy 为 DASH 流生成了开箱即用的 ffmpeg 命令。以下是安装和使用 ffmpeg 的方法。

什么是 ffmpeg?

ffmpeg 是一个免费、开源的命令行工具,可以对几乎任何音频或视频格式进行解码、编码、转码、混流、分流、流式传输、过滤和播放。它被广泛认为是现存功能最强大的多媒体处理工具,受到全球专业人士和爱好者的喜爱。getvy 在浏览器中使用 WebAssembly 版本 (ffmpeg.wasm) 进行 HLS 转换,并为 DASH 流生成原生 ffmpeg 命令,您可以在终端中运行该命令以获得最快的速度和最佳的兼容性。

安装 ffmpeg

Windows

最简单的方法是通过 Winget(Windows 11 内置):

winget install ffmpeg

或者,从 ffmpeg.org/download.html 下载预编译的二进制文件,将其解压,并将 bin 文件夹添加到系统环境变量 PATH 中。

macOS
brew install ffmpeg

需要 Homebrew (brew.sh)。如果您还没有安装 Homebrew,请先进行安装。

Ubuntu / Debian Linux
sudo apt update && sudo apt install ffmpeg

使用 getvy 生成的命令

当 getvy 检测到 DASH (.mpd) 流时,下载页面会显示 复制 ffmpeg 命令 按钮,而不是浏览器内下载。生成的命令类似于:

ffmpeg -i "https://example.com/stream.mpd" -c copy output.mp4
  1. 点击 getvy 中的 复制 ffmpeg 命令 按钮。
  2. 打开终端(Windows 上的命令提示符或 PowerShell,Mac/Linux 上的终端)。
  3. 粘贴命令并按回车键。ffmpeg 将下载该流并将其混流为当前目录下的 output.mp4。
  4. 若要保存到特定位置,请将 output.mp4 更改为完整路径,例如 C:\Users\YourName\Videos\video.mp4

为什么 DASH 选用 ffmpeg 而不是浏览器内转换?

DASH 流通常将视频和音频轨道分离到不同的流中,并使用分片 MP4 (fragmented MP4) 容器。在浏览器的沙箱环境中正确合并这些内容非常复杂且缓慢。您电脑上的原生 ffmpeg 使用优化的 C 代码直接处理此项工作,对于长视频或高码率视频,速度明显更快、更可靠。

常用 ffmpeg 选项

参数含义
-i输入文件或 URL
-c copy复制流而不重新编码(快速)
-c:v libx264使用 H.264 重新编码视频
-ss 00:01:30从 1 分 30 秒开始
-t 00:05:00限制输出时长为 5 分钟
免费安装 getvy