yt-dlp 和 ffmpeg 下载和处理视频的基本命令

1. 使用 yt-dlp 查看可用分辨率和格式

.\yt-dlp.exe -F --cookies .\www.youtube.com_cookies.txt --proxy http://127.0.0.1:10809 https://www.youtube.com/watch?v=Oa_RSwwpPaA
  • -F: 显示可用格式。
  • --cookies: 使用指定的 cookie 文件,为了绕过限制/人机验证。
  • --proxy: 通过指定的代理连接到网络。

命令返回了视频的不同格式和分辨率的列表,包含了每种格式的 ID、扩展名(如 mp4、webm)、分辨率、帧率等信息。

2. 下载你选择的 mp4 格式视频,使用 -f 参数,后面跟上格式 ID,例如:

.\yt-dlp.exe -f400 --cookies .\www.youtube.com_cookies.txt --proxy http://127.0.0.1:10809 https://www.youtube.com/watch?v=Oa_RSwwpPaA

这里的 400 是你选择的格式 ID。

3. 同时下载视频和音频并进行格式转换,你可以使用类似下面的命令:

.\yt-dlp.exe -f400+140 --cookies .\www.youtube.com_cookies.txt --proxy http://127.0.0.1:10809 
  • -S codec:h264:m4a https://www.youtube.com/watch?v=8dJyRm2jJ-U
  • -f400+140: 选择视频 ID 400 和音频 ID 140。
  • -S codec:h264:m4a: 指定视频编码为 h264,音频编码为 m4a。

4. 使用以下命令下载最佳的 mp4 视频和 m4a 音频格式并合成成一个 mp4 文件:

yt-dlp -f 'bv[ext=mp4]+ba[ext=m4a]' -S codec:h264:m4a --embed-metadata --merge-output-format mp4 https://youtu.be/sKrT6mBrosc
  • -f 'bv[ext=mp4]+ba[ext=m4a]': 选择最佳的视频(bv)和音频(ba)格式。
  • --embed-metadata: 将元数据嵌入到文件中。
  • --merge-output-format mp4: 合并输出为 mp4 格式。

5. 使用 ffmpeg 进行音视频处理,一些基本 ffmpeg 使用方法:

提取音频:

ffmpeg -i input.mp4 -acodec copy -vn out.aac
  • -vn 表示不处理视频,只提取音频。

提取无音视频:

ffmpeg -i input.mp4 -vcodec copy -an out.mp4
  • -an 表示不处理音频,只提取视频。

音视频合并:

ffmpeg -i out.mp4 -i out.aac -vcodec copy -acodec copy new.mp4

将音频和视频合并成新文件。

将 av1 编码的视频转换为 h264:

ffmpeg -i input.mp4 -vcodec libx264 -acodec aac output.mp4

这些命令展示了如何灵活使用 yt-dlp 下载视频和音频,并使用 ffmpeg 进行后期处理。
你可以根据需要选择不同的格式和编码方式,实现你想要的输出效果。

### 使用 `yt-dlp` 下载视频 #### 安装 `yt-dlp` 为了使用 `yt-dlp`,需确保已安装 Python 版本不低于 3.7。可以通过 pip 来安装此库: ```bash pip install yt-dlp ``` 对于更稳定的体验,建议同时安装 FFmpeg ffprobe 工具用于视频文件的合并与转码操作[^2]。 #### 基础命令结构 基本命令格式如下所示: ```bash yt-dlp [选项] URL ``` 其中 `[选项]` 表示可选参数列表,而 `URL` 则是要下载媒体资源的位置链接。 #### 实际应用案例 ##### 单纯下载视频 最简单的例子是从 YouTube 上直接拉取一段视频而不做任何额外设置: ```bash yt-dlp https://www.youtube.com/watch?v=example_video_id ``` 这条指令会自动检测并选择最佳质量进行保存到当前目录下。 ##### 自定义输出路径及命名规则 如果希望指定存储位置或是按照一定模式重命名所获文件,则可以利用 `-o` 参数配合模板字符串完成这一需求: ```bash yt-dlp -o '~/Downloads/%(title)s-%(id)s.%(ext)s' VIDEO_URL ``` 上述命令中的 `%()` 部分代表变量占位符,具体含义可以在源代码 YoutubeDL.py 中找到更多细节说明[^1]。 ##### 提取音频流单独保存 有时只需要提取音轨部分而非整个多媒体文件,在这种情况下添加 `--extract-audio` 可以达到目的;还可以通过附加 `--audio-format mp3` 或其他支持格式来转换最终输出形式: ```bash yt-dlp --extract-audio --audio-format mp3 VIDEO_URL ``` #### 进阶功能探索 除了以上基础用法之外,`yt-dlp` 支持大量高级特性,比如批量处理多条链接、设定断点续传机制等复杂场景的操作方式都可以查阅官方 GitHub 页面获取更多信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cici_ovo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值