Youtube 视频下载
获取油管链接以及下载
获取视频链接,比如这样: https://www.youtube.com/watch?v=LrqsaO9Cf2M
下载则使用 yt-dlp 工具,Github 链接在 这里。这个工具支持 Linux、macOS 和 Windows,我直接下载 yt-dlp_win.zip 进行解压缩,后面 cd 到解压缩后的路径去使用。
同时需要安装 python,并确保已经设置好环境变量。
另外科学上网需要配置好系统代理。
yt-dlp 快速上手
打开命令行窗口或者 powershell,cd 到解压缩后的路径。
也可以在解压缩目录中右击空白处-在终端中打开,这样更方便。
yt-dlp 支持下载不同规格的指定视频,比如不同的格式、帧率、分辨率等。首先需要查看这个视频有哪些规格,使用 -F 选项。
.\yt-dlp.exe -F https://www.youtube.com/watch?v=LrqsaO9Cf2M

然后按 ID 进行下载,注意只有部分 ID 的资源同时包含音频和视频。如果单独下载视频和音频,则下载完成后需要再使用 ffmpeg 进行[[FFmpeg#音视频合并|音视频合并]]。
比如我需要下载 ID 为 308 的视频资源,和 ID 为 251 的音频资源,则分别执行下面的命令
.\yt-dlp.exe -f308 https://www.youtube.com/watch?v=LrqsaO9Cf2M
.\yt-dlp.exe -f251 https://www.youtube.com/watch?v=LrqsaO9Cf2M
这会把这两个文件下载到 yt-dlp 的所在目录,如果需要指定下载到其他目录,则使用 -o 选项,带上路径和文件命名规则。
注意即使是 Windows 系统,路径分隔符也应该使用正斜杠 / 而不是反斜杠 \,我把文件下载到 C:\Users\ryuud\Downloads
.\yt-dlp.exe -f308 -o "C:/Users/ryuud/Downloads/%(title)s.%(ext)s" https://www.youtube.com/watch?v=LrqsaO9Cf2M
.\yt-dlp.exe -f251 -o "C:/Users/ryuud/Downloads/%(title)s.%(ext)s" https://www.youtube.com/watch?v=LrqsaO9Cf2M
音视频合并
yt-dlp 好像有自带的合并功能,没看明白。索性单独使用 ffmpeg 进行处理,这样可能还更不容易出问题。
下载、解压并 cd 到 ffmpeg 目录后,对音频和视频进行合并,命令语法是 .\ffmpeg.exe -i 视频文件路径 -i 音频文件路径 -c copy 合并后的文件路径
.\ffmpeg.exe -i "C:\Users\ryuud\Downloads\GENSHIN CONCERT 2022 "Melodies of an Endless Journey"|Genshin Impact [LrqsaO9Cf2M].webm" -i "C:\Users\ryuud\Downloads\GENSHIN CONCERT 2022 "Melodies of an Endless Journey"|Genshin Impact [LrqsaO9Cf2M] audio.webm" -c copy "C:\Users\ryuud\Downloads\GENSHIN CONCERT 2022 "Melodies of an Endless Journey".webm"
-c copy 选项表示仅对视频和音频进行拷贝操作,避免了重新编码,这样既快速也高质量。
这是最简单的音视频合并指令,需要确保音频和视频文件的编码方式是兼容的。这里的 webm 格式的音频和视频是兼容的。
顺利执行完之后,去合并后的文件路径就能看到刚刚合并出来的完整文件了。