Files
Colinx-Blog/content/posts/论如何下载任意网站视频.md
2023-06-06 06:13:34 +00:00

124 lines
7.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 论如何下载任意网站视频
date: 2022-05-09
lastmod: 2022-10-25T04:26:12.121Z
description: 视频已然成为当今互联网上信息传播的一个重要载体,有时会需要下载一些网上某个站点的视频插入 PPT或用作视频素材无论是自己用或是给朋友帮忙掌握一些使用的下载视频的小技巧总是不会错的这里分享一些自用的小技巧包括热门站点下载工具以及应对冷门网站视频下载的技巧应该可以覆盖 99.9% 的视频下载场景
draft: false
categories:
- 技术
- 指南
tags:
- 视频
- Linux
- 前端
- FFMPEG
---
<!-- # 论如何下载任意网站视频 -->
视频已然成为当今互联网上信息传播的一个重要载体,有时会需要下载一些网上某个站点的视频插入 PPT或者视频素材无论是自己用抑或单纯是给朋友帮个忙掌握一些使用的下载视频的小技巧总是不会错的这里分享一些自用的小技巧包括热门站点下载工具以及应对冷门网站视频下载的技巧应该可以覆盖 99.9% 的视频下载场景
## 热门网站电影/电视剧下载
这种其实建议直接找对应资源而不是从源站点下载,百度云,阿里云盘等找资源的方式我就不再赘述了,网上教程多的是。如果是电影资源或者是欧美、日韩的剧,可以搜索 BT 资源自行下载。
这里安利一个油猴脚本:[豆瓣资源下载大师](https://greasyfork.org/zh-CN/scripts/329484-%E8%B1%86%E7%93%A3%E8%B5%84%E6%BA%90%E4%B8%8B%E8%BD%BD%E5%A4%A7%E5%B8%88-1%E7%A7%92%E6%90%9E%E5%AE%9A%E8%B1%86%E7%93%A3%E7%94%B5%E5%BD%B1-%E9%9F%B3%E4%B9%90-%E5%9B%BE%E4%B9%A6%E4%B8%8B%E8%BD%BD),可以在豆瓣的影视详情页右侧显示有资源的站点,非常方便
![image-20220509144533549](https://blog-1301127393.file.myqcloud.com/BlogImgs/202205091548956.png)
分享下个人常用的下载站点:
* 欧美资源下载:[1337X](https://www.1337x.to/)
* 欧美资源下载:[海盗湾](https://piratebay.live/)
* 动漫资源下载:[ACG RIP](https://acg.rip/?term=JOJO%E7%9A%84%E5%A5%87%E5%A6%99%E5%86%92%E9%99%A9)
* 中文字幕下载:[字幕库](http://zimuku.org)
个人推荐的下载工具:
* [qBittorrent](https://www.qbittorrent.org):强推,老牌专业 BT 工具,有图形化界面,[支持 Docker 部署](https://hub.docker.com/r/linuxserver/qbittorrent)且带 Web 界面
* [aria2](http://aria2.github.io):强大的命令行下载工具,灵活但上手成本略高,可[自行部署 Web GUI 界面](https://ariang.mayswind.net/zh_Hans/),也可使用[公开版本 demo](http://ariang.mayswind.net/latest)
* [Motrix](https://motrix.app):高颜值跨平台的下载工具,有漂亮的 GUI 界面,底层基于 aria2
Tracker 列表:
* 一个独立的收集 trackerlist 的页面:<https://trackerslist.com/#/zh>
* 通用 tracker list[ngosang/trackerslist](https://github.com/ngosang/trackerslist)
* 动漫资源 tracker list[animeTrackerList](https://github.com/DeSireFire/animeTrackerList) (๑•̀ㅂ•́)و✧
## 热门站点普通视频资源下载
如果是 UGC 内容,比如 B 站用户上传的视频,那么 BT 通常是没有资源的,需要单独从源网站下载。不过既然是热门站点,都有很多人造过轮子了,这里推荐几个
**[YouTube-DL](https://github.com/ytdl-org/youtube-dl)**
一款强大的命令行视频下载工具,别看人家名字只写了 youtube但其实国内爱优腾都是支持的。命令行调用也非常简洁[知乎也有教程](https://github.com/ytdl-org/youtube-dl)需要的话可以瞅瞅。
**[YT-DLPYouTube DownLoader Plus](https://github.com/yt-dlp/yt-dlp)**
YouTube-DL 的一个分支,包括一些 bug 修复和增强的特性
**[Lux原名 Annie](https://github.com/iawia002/lux)**
Golang 编写的一个视频下载工具,同样支持国内站点
**[硕鼠](https://www.flvcd.com/index.htm)**
很早之前就出的一款免费视频下载合并工具主要针对国内视频网站但是像腾讯视频这种之前发过律师函人家就迫不得已取消了支持。Windows 版,有界面,对于不是那么热门但是稍微又有点名气的网站支持较好
## 冷门站点普通视频资源下载
冷门站点的资源得我们自己动手了,不过利用浏览器的开发人员工具还是很容易获取的资源的。右键找到开发人员选项打开开发人员工具,可以点击左上角的按钮选择网页元素,找到`<video>`标签,里面一般会有一个链接地址,复制地址打开即可。
这种简单的视频嵌入很容易下载,浏览器工具也很容易嗅探到。比如可以使用`专业视频下载工具`插件,你可以[访问 360 插件中心下载](https://ext.chrome.360.cn/webstore/detail/noaehhegaeigebicejggjdecdkfphced)。这种工具很多,这里不再赘述
链接后缀为`mp4`的一般来说都是说明该网页上面的视频只是从那一个文件加载的,没有经过分片和其他处理。如果没有后缀名,或者是`flv``ts`或者链接含有`m3u8`字样的,说明该网页的资源是经过分片的,需要我们动点手段。
## 冷门站点 m3u8 动态分片视频资源下载
以中国庭审网的庭审录像视频为例,打开开发者工具定位到视频的部分发现 video 标签里面的 url 很奇怪,访问该链接也并不能访问到有效的视频。这种网页一般都是通过 m3u8 来下发分片文件的信息
![image-20220509151813071](https://blog-1301127393.file.myqcloud.com/BlogImgs/202205091548957.png)
打开开发者工具的网络选项卡,监听网络活动,点击播放视频,会多出来很多条目分别代表每一个网络请求。在搜索框输入 m3u8 来进行过滤。定位到该请求后可以在新标签页打开,保存这个 m3u8 文件。
![image-20220509144410278](https://blog-1301127393.file.myqcloud.com/BlogImgs/202205091548958.png)
之后我们可以利用 ffmpeg 载入这个 m3u8 文件并进行合并,如有需要可一并进行转码操作
```shell
ffmpeg -i xxxx.m3u8 -c xxxx.mp4
```
如果报错提示不支持的 protocol那么需要再加个参数让 ffmpeg 使用 http 下载
```shell
ffmpeg -protocol_whitelist concat,file,http,https,tcp,tls,crypto -i xxxx.m3u8 -c copy xxxx.mp4
```
接下来等待命令跑完,我们就可以得到需要的视频文件了。
其他常用处理命令
使用`-i`参数读取文件,查看详细参数
```shell
ffmpeg -i xxxx.mp4
```
使用 ffmepg 提取视频中的音频部分,方便后续处理。比如要生成字幕或是转写为文本,省的上传几百兆的视频文件。[网易见外工作台](https://jianwai.youdao.com/)做这些很方便,而且免费额度也很足,安利一波
```shell
ffmpeg -i xxxx.mp4 -vn -codec copy xxxx.aac
```
![image-20220509153021601](https://blog-1301127393.file.myqcloud.com/BlogImgs/202205091548959.png)
解析并下载 m3u8 视频的其他方案
* 使用硕鼠解析https://www.flvcd.com/index.htm
* 使用 Chrome 插件:[CoCoCut](https://chrome.google.com/webstore/detail/video-downloader-cococut/gddbgllpilhpnjpkdbopahnpealaklle)[猫抓 (cat-catch)](https://github.com/xifangczy/cat-catch)
* 使用油猴脚本:[m3u8-downloader](https://greasyfork.org/zh-CN/scripts/440577-m3u8-%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD-vip%E8%A7%A3%E6%9E%90%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD-%E7%BD%91%E7%AB%99%E8%A7%86%E9%A2%91%E4%B8%8B%E8%BD%BD),配套工具[地址](https://github.com/Momo707577045/m3u8-downloader)
* 使用软件:[NeatDownloadManager](http://www.neatdownloadmanager.com/index.php/en/)
- - -
以上