热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

视频下载powershell

首先,现在的视频网站为保护版权,视频加密技术日新月异。无论是那款视频下载工具,绝不敢自称通杀所有视频网站。所以,选择视频下载工具,我的关注点不仅在工具本身,更重要的是其作者更新维护

首先,现在的视频网站为保护版权,视频加密技术日新月异。无论是那款视频下载工具,绝不敢自称通杀所有视频网站。所以,选择视频下载工具,我的关注点不仅在工具本身,更重要的是其作者更新维护频率如何,能否根据视频网站的规则维护工薪。

鉴于以上两点,阿刚挑选出四款视频下载工具。注意,以下四款工具全部都是命令行工具,没有gui图形界面,适合喜欢折腾的同学玩耍。另外,四款工具下载的视频全部都是无水印视频~~


youtube-dl

Youtube-dl是谷歌github上的一个开源项目,它是一款轻量级的命令行 下载实用工具,阿刚曾在乐软博客里文章<不仅仅是youtube>一文章,详细介绍过Youtube-dl。

youtube-dl

作为一款命令行视频下载神器,Youtube-dl功能强大,可解析下载包括youtube、youku、腾讯视频、爱奇艺等国内外上百个视频网站,它甚至还支持XXX网站的视频解析与下载,比如阿刚经常用它下载XXX片子~~

youtube-dl支持Winodws ,linux和mac平台。安装配置简单,在Windows平台上,你只需下载youtube-dl.exe并为其创建系统变量,就可以通过CMD输入youtube-dl命令来下载视频了。

youtube-dl支持的命令众多,在Github项目主页上大家可以查阅命令,或者直接键入Youtube-dl -h查看帮助说明。

youtube-dl --list-extractors #查看支持网站列表
youtube-dl -U #程序升级
youtube-dl --get-format URL #获取视频格式
youtube-dl -F URL #获取所有格式
​youtube-dl -o 输出路径

如果你要下载视频,只需键入命令”youtube-dl +视频地址

默认情况下,youtube-dl会自动选择下载最高画质。

youtube-dl下载视频

需要说明的是,一般在线视频网站视频都是被分割成多个小段,youtube-dl下载之后会自动调用ffmpeg来合并视频。如果你没有安装ffmpeg,那么你必须自己合并视频。


FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec ─这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。


不管是在线流媒体,视频播放/录制,视频转码一般都有ffmpeg的身影,只是由于ffmpeg是命令行工具,有一定学习成本,不被大部分人所知,我们更耳熟能详的是诸如格式工厂之类的音视频转换软件,但实际上格式工厂使用的就是ffmpeg编码技术。


you-get

you-get是一款开源在线视频下载工具,与youtubedl相同,同样是一款轻量级多平台命令行工具,you-get支持众多视频网站,包含 41 家国内主流视频、音乐网站,如 优酷土豆、爱奇艺、腾讯视频、芒果TV 、网易云音乐等等。

you-get有三种安装方式,如果你电脑安装了Python,可以通过pip3 install you-get命令一键安装。Windows平台还可通过Chocolatey来一键安装。当然还有最简单直接的exe文件(需创建变量)

you-get支持的命令非常丰富,使用最简单的命令you-get +视频网址,即可解析下载视频~~

you-get下载视频

默认情况下,you-get自动解析下载最佳画质的视频。同样在下载完成后,you-get会自动调用ffmpeg合并视频。


Video Download Manager

如果你实在不喜欢命令行工具,那么这款使用youtube-dl+you-get为核心的工具一定可以满足你的需求。

Video Download Manager

你无需理会那些让人抓狂的命令,只需复制粘贴视频地址即可解析下载。

其实之前在乐软博客文章中,阿刚有介绍过这款工具,,当时工具的名称还是GUI-YouGet,且运行需要配置java环境,对于小白同学来说确实有些麻烦,此工具是作者目前开发的最新版。在windows系统上可完美运行。


ykdl-专注于优酷视频

由于视频网站规则不断变换,无论是神器youtube-dl,you-get,经常莫名其妙无法解析视频,尤其是you-get,优酷某些特殊视频,在解析时经常出现”客户端无权播放-201″

这种情况下,我们可以试试ykdl。

ykdl——顾名思义,一款专注于国内优酷视频的命令行下载工具。阿刚这些天试用下来,在优酷视频解析下载方面ykdl的表现更为强大,至少在写这篇文章时,某些优酷视频,youtube-dl和you-get要么只能解析下载前几分钟,要么直接无法解析。

-h, --help show this help message and exit
显示本帮助信息并退出
-l, --playlist Download as a playlist.
将所给的视频 URL 作为播放列表进行下载
-i, --info Display the information of videos without downloading.
只显示视频信息而不进行下载
-J, --json Display info in json format.
以 json 格式显示视频信息
-F FORMAT, --format FORMAT
Video format code.
指定视频的格式代号。参数通常是 TD, HD, SD, LD。默认最高清晰度。具体请看 -i 的输出。
-o OUTPUT_DIR, --output-dir OUTPUT_DIR
Set the output directory for downloaded videos.
指定下载视频的保存目录
-O OUTPUT_NAME, --output-name OUTPUT_NAME
downloaded videos with the NAME you want
指定下载视频的文件名
-p PLAYER, --player PLAYER
Directly play the video with PLAYER like mpv
直接使用播放器播放而不是下载,推荐使用[mpv](https://mpv.io)
--proxy PROXY set proxy HOST:PORT for http(s) transfer. default: use
system proxy settings
为下载指定代理 HOST:PORT(主机名:端口号),默认使用系统的代理设置
-t TIMEOUT, --timeout TIMEOUT
set socket timeout seconds, default 60s
设置网络传输超时时长,单位秒。默认为60秒
--no-merge do not merge video slides
不合并视频分片
-s START, --start START
start from INDEX to play/download playlist
配合 -l 使用,从播放列表的第 X 项开始播放。
-j JOBS, --jobs JOBS number of jobs for multiprocess download
指定并行下载的视频分片数
--debug print debug messages from ykdl
打印调试信息

相比较而言,ykdl的命令并不太多,但足够我们使用,最简单的命令ykdl+视频网址,可一键解析下载视频

 

当然,除了优酷视频,ykdl也支持爱奇艺、腾讯视频的解析下载。值得一说的是,通过ykdl -p命令我们还可以直接加载在线视频到mpv播放器上播放。

ykdl

如果你不堪忍受视频网站广告,使用此方法直接本地播放视频是个不错的办法。


annie

annie是GitHub上一个开源项目,是一款专注于在线视频下载的轻量级命令行工具。annie支持解析下载包括youtube、优酷、爱奇艺、腾讯视频、抖音等国内外17个在线视频网站。

annie

annie支持的命令相当多,下面阿刚简单的介绍几个常用的命令。

【下载视频】

通过 annie +视频网址,即可快速解析下载视频。默认情况下,annie会自动下载最高画质,并且经阿刚测试,annie是四款工具中唯一一款不需要登陆账号就可解析下载优酷1080P视频的工具。

并且值得一提的是,最新版的annie中添加了对bilibili短网址的支持,也就是直接输入bilibili视频的短地址就行比如:annie  av26191654

annie下载B站视频

【查看视频信息】

如果你想知道视频的基本信息,可以通过annie -i命令查看视频信息

annie

【下载播放列表】

如果你想下载某个播放列表,批量下载视频

可以使用annie -p 命令

annie

更多命令大家可以查阅Github项目主页,或者输入”annie -h”命令查询帮助信息。


如何下载VIP视频

首先,四款工具除了ykdl无法下载VIP视频之外,youtube-dl,you-get和annie本身就支持VIP视频解析和下载。本来今次的专题总结,阿刚是想给大家着重介绍一下收费视频的下载方式。

但遗憾的是写这篇文章时,youtube-dl、you-get,偏偏无法解析下载VIP视频,尤其是you-get,优酷某些普通的视频都无法正常解析,直接”客户端无权播放201″,但是这并不代表他们不支持VIP视频的解析和下载。

事实上他们的下载原理基本相同,都是通过加载COOKIEs获取播放权限,实现视频解析和下载。也就是说,首先你必须要有个VIP账户,才可以通过这三款工具下载高清晰视频。

大前提已经讲完,下面阿刚简单说明一下如果通过annie来下载B站大会员视频。

【一】获取COOKIEs

首先登陆会员账号,快捷键F12,打开开发者工具。选择”Network”,F5快捷键重新加载页面,选择视频播放页面,将Headers里的COOKIEs信息全部复制,保存为txt文件,比如COOKIEs.txt

获取COOKIEs

【二】加载COOKIEs

通过annie -c命令加载已保存的COOKIEs.txt文件。即可成功解析B站大会员视频,如图中

(B站登陆账户最高可观看1080P视频,大会员视频可看1080P+)

加载COOKIEs

三款工具加载COOKIEs文件的命令大同小异。目前,只有annie可以正常解析VIP会员视频。至于youtube-dl、you-get只能等作者更新维护了,或许下个版本可以修复问题。


最后总结

视频下载是个老生常谈的话题,如果你有视频下载的需求,这四款神器相信是必装工具。

最后,视频下载工具,没有一劳永逸,永恒不变的方法。视频网站不断在变,工具也在不断变。即便是youtube-dl这样的神器,也会经常出现无法解析下载的情况,此时,尝试切换不同的工具或许可以解决你的问题。

阿刚认为,只有不断的探索,不断的学习,才会学有所成,而这才是玩软件真正有趣的地方~~

相关文件下载

youtube-dl Github项目地址

ykdl Github地址

You-get Github 地址

Video Download Manager  Github地址

annie Github 地址



推荐阅读
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 标题: ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
author-avatar
凡惜弟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有