# videoDownload **Repository Path**: bs1111/videoDownload ## Basic Information - **Project Name**: videoDownload - **Description**: 基于youtube-dl和you-get的视频下载程序(原项目:youtube-downloads) - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2019-08-03 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 视频下载软件 视频下载软件 #### 目录结构 |- code 源码 |- batch 批处理 |- python-code python脚本 |- python-gui-code python Gui |- gui 打包完成的gui |- support 一些支持 |- ffmpeg 视屏处理 |- aria2c 多线程下载 #### 提示 为了一劳永逸,可以将ffmpeg和aria2c添加到环境变量 #### 下面是两种下载工具的参数 ##### you-get简单演示(科学上网环境下) * 查看视频信息 `you-get -s 127.0.0.1:1080 --debug -i 'https://www.youtube.com/watch?v=jNQXAC9IVRw'` * 下载默认视频并将其存到指定盘(比如D盘) `you-get -s 127.0.0.1:1080 --debug -o D:/ 'https://www.youtube.com/watch?v=jNQXAC9IVRw'` * 下载指定格式视频并将其存到指定盘(比如D盘) `you-get -s 127.0.0.1:1080 --debug --itag=313 -o D:/ 'https://www.youtube.com/watch?v=jNQXAC9IVRw'` * 下载播放列表视频并将其存到指定盘(比如D盘) `you-get -s 127.0.0.1:1080 --debug -l -o D:/ 'https://www.youtube.com/watch?v=zN8LEfrY8Cc&list=PLontPmXVXyNKijBk5dxXKFPjbok_TlO6_'` * 更多用法参照[官网](https://you-get.org/),或参照 github [这里](https://github.com/soimort/you-get) ##### you-get参数列表(文档简略翻译,具体请以官方文档为准) ###### 可选参数: -V, --version 打印版本并退出 -h, --help 打印帮助信息并退出 ###### 查看视频信息:(不会下载) -i, --info 打印视频信息 -u, --url 使用URL打印提取的信息 --json 以JSON格式打印提取的URL ###### 下载参数: -n, --no-merge 不要合并视频部分 --no-caption 不要下载字幕(字幕,歌词,danmaku) -f, --force 强制覆盖现有文件 -F STREAM_ID,--format 将视频格式设置为STREAM_ID -O FILE,--output-filename 设置输出文件名 -o DIR, --output-dir 设置输出文件夹(保存目录) -p PLAYER,--player 将提取的URL流式传输到播放器 -c COOKIES_FILE,--cookies 加载cookies.txt或cookies.sqlite -t SECONDS,--timeout 设置sock链接超时时间 -d, --debug 显示debug信息 -I FILE,--input-file 从FILE中读取非播放列表网址 -P PASSWORD, --password 将视频访问密码设置为PASSWORD -l, --playlist 下载播放列表 -a, --auto-rename 自动重命名相同名称的不同文件 ###### 代理参数: -x HOST:PORT,--http-proxy 使用HTTP代理进行下载 -y HOST:PORT,--extractor-proxy 使用HTTP代理仅提取 --no-proxy 永远不要使用代理 -s HOST:PORT, --socks-proxy 你们科学上网是需要这个参数,除非开全局 ### youtube-dl参数列表(文档简略翻译,具体请以官方文档为准) ###### 通用选项: -h, --help 打印帮助文档 --version 打印版本信息 -U, --update 更新到最新版(需要权限) -i, --ignore-errors 遇到下载错误时跳过 --abort-on-error 遇到下载错误时终止 --dump-user-agent 显示当前使用的浏览器(User-agent) --list-extractors 列出所有的提取器(支持的网站) --extractor-descriptions 同上 --force-generic-extractor 强制使用通用提取器下载 --default-search PREFIX 使用此前缀补充不完整的URLs,例如:"ytsearch2 yt-dl" 从youtube搜索并下载两个关于yt-dl视频. 使用"auto"youtube-dl就会猜一个,一般效果等价于"ytsearch"("auto_warning"猜测时加入警告).我已知支持的PREFIX:ytsearch (youtube), ytsearchdate (youtube), yvsearch (yahoo videos), gvsearch (google videos) --ignore-config 不读取配置文件,当时用了全局配置文件/etc/youtube-dl.conf:不再读取 ~/.config/youtube-dl/config (%APPDATA%/youtube-dl/config.txt on Windows) --config-location PATH 使用指定路径下的配置文件 --flat-playlist 列出列表视频但不下载 --mark-watched 标记看过此视频 (YouTube only) --no-mark-watched 不标记看过此视频 (YouTube only) --no-color 打印到屏幕上的代码不带色 ###### 网络选项: --proxy URL 使用HTTP/HTTPS/SOCKS协议的代理.如:socks5://127.0.0.1:1080/. --socket-timeout SECONDS 放弃连接前等待时间 --source-address IP 绑定的客户端IP地址 -4, --force-ipv4 所有连接通过IPv4 -6, --force-ipv6 所有连接通过IPv6 ###### 地理限制: --geo-verification-proxy URL 使用此代理地址测试一些有地理限制的地址 --geo-bypass 绕过地理限制通过伪装X-Forwarded-For HTTP头部的客户端ip (实验) --no-geo-bypass 不 绕过地理限制通过伪装X-Forwarded-For HTTP头部的客户端ip (实验) --geo-bypass-country CODE 强制绕过地理限制通过提供准确的ISO 3166-2标准的国别代码(实验) 注:以上三个实验参数实测未成功 ###### 视频选择: --playlist-start NUMBER 指定列表中开始下载的视频(默认为1) --playlist-end NUMBER 指定列表中结束的视频(默认为last) --playlist-items ITEM_SPEC 指定列表中要下载的视频项目编号.如:"--playlist-items 1,2,5,8"或"--playlist-items 1-3,7,10-13" --match-title REGEX 下载标题匹配的视频(正则表达式或区分大小写的字符串) --reject-title REGEX 跳过下载标题匹配的视频(正则表达式或区分大小写的字符串) --max-downloads NUMBER 下载NUMBER个视频后停止 --min-filesize SIZE 不下载小于SIZE的视频(e.g. 50k or 44.6m) --max-filesize SIZE 不下载大于SIZE的视频(e.g. 50k or 44.6m) --date DATE 仅下载上传日期在指定日期的视频 --datebefore DATE 仅下载上传日期在指定日期或之前的视频 (i.e. inclusive) --dateafter DATE 仅下载上传日期在指定日期或之后的视频 (i.e. inclusive) --min-views COUNT 不下载观影数小于指定值的视频 --max-views COUNT 不下载观影数大于指定值的视频 --match-filter FILTER 通用视频过滤器. Specify any key (see help for -o for a list of available keys) to match if the key is present, !key to check if the key is not present, key > NUMBER (like "comment_count > 12", also works with >=, <, <=, !=, =) to compare against a number,key = 'LITERAL' (like "uploader = 'Mike Smith'", also works with !=) to match against a string literal and & to require multiple matches. Values which are not known are excluded unless you put a question mark (?) after the operator. For example, to only match videos that have been liked more than 100 times and disliked less than 50 times (or the dislike functionality is not available at the given service), but who also have a description, use --match-filter "like_count > 100 & dislike_count .+?) - (?P.+)" --xattrs 将元数据写入视频文件的xattrs(使用dublin core 和 xdg标准) --fixup POLICY 自动更正文件的已知故障。never(不做警告), warn(只发出警告), detect_or_warn (默认;如果可以的话修复文件,否则警告) --prefer-avconv 后处理时相较ffmpeg偏向于avconv --prefer-ffmpeg 后处理优先使用ffmpeg --ffmpeg-location PATH ffmpeg/avconv程序位置;PATH为二进制所在文件夹或者目录. --exec CMD 在下载后对文件执行命令,类似于find -exec语法.示例:--exec'adb push {} /sdcard/Music/ && rm {}' --convert-subs FORMAT 转换字幕格式(当前支持: srt|ass|vtt)