B站视频下载通过命令行工具(如FFmpeg)下载B站视频的步骤是什么?
通过命令行工具(如FFmpeg)下载B站视频需要结合视频的真实地址获取和下载工具的使用。由于B站对视频流进行了加密和动态处理,直接使用FFmpeg下载可能较复杂,通常需要先获取视频的真实播放地址(如`.m4s`分片或`.flv`流)。以下是详细步骤:
---
方法1:使用浏览器开发者工具 1. 打开B站视频页面,按 `F12` 打开开发者工具。 2. 切换到 Network(网络) 选项卡,勾选 XHR 或 Media 过滤请求。 3. 播放视频,找到类似 `player.bilibili.com/bv...` 或 `api.bilibili.com/pgc/player/web/playurl` 的请求。 4. 在响应中查找 `dash.url`(分片视频)或 `url`(直播流),复制 `.m4s` 或 `.flv` 地址。
方法2:使用第三方工具 [you-get](https://github.com/soimort/you-get):支持B站视频下载(自动解析地址)。 ```bash you-get https://www.bilibili.com/video/BV1xxxxx ``` [annie](https://github.com/iawia002/annie):轻量级下载工具。 ```bash annie -i https://www.bilibili.com/video/BV1xxxxx ``` [BBDown](https://github.com/nilaoda/BBDown):专门针对B站的下载工具。 ```bash BBDown.exe https://www.bilibili.com/video/BV1xxxxx ```
---
下载单个分片(.m4s) ```bash ffmpeg -i "https://example.com/video.m4s" -c copy output.mp4 ```
合并音频和视频分片 B站视频通常分为音频(`audio.m4s`)和视频(`video.m4s`)两个分片,需合并: ```bash ffmpeg -i "https://example.com/video.m4s" -i "https://example.com/audio.m4s" \ -c:v copy -c:a aac output.mp4 ```
下载直播流(.flv) ```bash ffmpeg -i "https://example.com/live.flv" -c copy output.flv ```
---
video_url = "https://example.com/video.m4s" audio_url = "https://example.com/audio.m4s" output = "output.mp4"
subprocess.run([ "ffmpeg", "-i", video_url, "-i", audio_url, "-c:v", "copy", "-c:a", "aac", output ]) ```
---
---
如有其他问题,可进一步探讨!
END
云服务器活动(最新)

扫码添加站长好友
文章投稿、业务合作、咨询等
技术交流、问题反馈等