论如何下载任意网站视频
视频已然成为当今互联网上信息传播的一个重要载体,有时会需要下载一些网上某个站点的视频插入PPT,或者用做视频素材,无论是自己用抑或单纯是给朋友帮个忙,掌握一些使用的下载视频的小技巧总是不会错的,这里分享一些自用的小技巧,包括热门站点下载工具,以及应对冷门网站视频下载的技巧,应该可以覆盖99.9%的视频下载场景
热门网站电影/电视剧下载
这种其实建议直接找对应资源而不是从源站点下载,百度云,阿里云盘等找资源的方式我就不再赘述了,网上教程多的是。如果是电影资源或者是欧美、日韩的剧,可以搜索BT资源自行下载。
这里安利一个油猴脚本:豆瓣资源下载大师,可以在豆瓣的影视详情页右侧显示有资源的站点,非常方便
分享下个人常用的下载站点:
个人推荐的下载工具:
- qBittorrent:强推,老牌专业BT工具,有图形化界面,支持Docker部署且带Web界面
- aria2:强大的命令行下载工具,灵活但上手成本略高,可自行部署Web GUI界面,也可使用公开版本demo
- Motrix:高颜值跨平台的下载工具,有漂亮的GUI界面,底层基于aria2
Tracker列表:
- 一个独立的收集trackerlist的页面:https://trackerslist.com/#/zh
- 通用tracker list:ngosang/trackerslist
- 动漫资源tracker list:animeTrackerList (๑•̀ㅂ•́)و✧
热门站点普通视频资源下载
如果是UGC内容,比如B站用户上传的视频,那么BT通常是没有资源的,需要单独从源网站下载。不过既然是热门站点,都有很多人造过轮子了,这里推荐几个
一款强大的命令行视频下载工具,别看人家名字只写了youtube,但其实国内爱优腾都是支持的。命令行调用也非常简洁,知乎也有教程需要的话可以瞅瞅。
YT-DLP(YouTube DownLoader Plus)
YouTube-DL的一个分支,包括一些bug修复和增强的特性
Golang编写的一个视频下载工具,同样支持国内站点
很早之前就出的一款免费视频下载合并工具,主要针对国内视频网站,但是像腾讯视频这种之前发过律师函,人家就迫不得已取消了支持。Windows版,有界面,对于不是那么热门但是稍微又有点名气的网站支持较好
冷门站点普通视频资源下载
冷门站点的资源得我们自己动手了,不过利用浏览器的开发人员工具还是很容易获取的资源的。右键找到开发人员选项打开开发人员工具,可以点击左上角的按钮选择网页元素,找到<video>
标签,里面一般会有一个链接地址,复制地址打开即可。
这种简单的视频嵌入很容易下载,浏览器工具也很容易嗅探到。比如可以使用专业视频下载工具
插件,你可以访问360插件中心下载。这种工具很多,这里不再赘述
链接后缀为mp4
的一般来说都是说明该网页上面的视频只是从那一个文件加载的,没有经过分片和其他处理。如果没有后缀名,或者是flv
、ts
或者链接含有m3u8
字样的,说明该网页的资源是经过分片的,需要我们动点手段。
冷门站点m3u8动态分片视频资源下载
以中国庭审网的庭审录像视频为例,打开开发者工具定位到视频的部分发现video标签里面的url很奇怪,访问该链接也并不能访问到有效的视频。这种网页一般都是通过m3u8来下发分片文件的信息
打开开发者工具的网络选项卡,监听网络活动,点击播放视频,会多出来很多条目分别代表每一个网络请求。在搜索框输入m3u8来进行过滤。定位到该请求后可以在新标签页打开,保存这个m3u8文件。
之后我们可以利用ffmpeg载入这个m3u8文件并进行合并,如有需要可一并进行转码操作
ffmpeg -i xxxx.m3u8 -c xxxx.mp4
如果报错提示不支持的protocol,那么需要再加个参数让ffmpeg使用http下载
ffmpeg -protocol_whitelist concat,file,http,https,tcp,tls,crypto -i xxxx.m3u8 -c copy xxxx.mp4
接下来等待命令跑完,我们就可以得到需要的视频文件了。
其他常用处理命令
使用-i
参数读取文件,查看详细参数
ffmpeg -i xxxx.mp4
使用ffmepg提取视频中的音频部分,方便后续处理。比如要生成字幕或是转写为文本,省的上传几百兆的视频文件。网易见外工作台做这些很方便,而且免费额度也很足,安利一波
ffmpeg -i xxxx.mp4 -vn -codec copy xxxx.aac
解析并下载m3u8视频的其他方案
- 使用硕鼠解析:https://www.flvcd.com/index.htm
- 使用Chrome插件:CoCoCut,
- 使用油猴脚本:m3u8-downloader,配套工具地址
- 使用软件:NeatDownloadManager
以上