Youtube-DLP 使用记录,配合 emby
📖简介
yt-dlp 是 Youtube-DL 的增强版,更新维护很积极。相比起原版更为稳定,功能更完善。
- 主页:https://github.com/yt-dlp/yt-dlp
Win 系统直接下载 exe 即可运行,其他系统下还需要系统安装有 Python3.6+ 环境。
Linux, macOS, BSD 系统均为同一个提供可执行文件
🤺高级功能需要调用 ffmpeg
没有 ffmpeg 情况下,能下载的文件格式有限封面图转换之类的功能也不能工作
还有一些平常用不到的功能需要依赖另外的软件,具体看项目主页
⚙️配置文件
于主程序目录或者用户HOME目录下建立 yt-dlp.conf
文件,即会调用。
用来设置输出文件名,下载代理服务器,下载封面,下载视频简介等非常方便
注意配置文件内不能有中文字符,否则会报错
#filename
-o '%(title)s[%(resolution)s][%(upload_date)s].%(ext)s'
# best HDR or best SDR
#-f 'bestvideo[vcodec=vp9.2]+bestaudio/bestvideo[vcodec=vp9]+bestaudio'
#only m4a
#-f 'ba[ext=m4a]'
#-f wa
#thumbnail to jpg
--write-thumbnail
--convert-thumbnails jpg
#--embed-thumbnail
#proxy
--proxy 127.0.0.1:7890
#other
--write-description
--write-subs
--compat-options no-live-chat
--remux-video mkv
#playlist
#--playlist-items 1-2,11-20
#--skip-download
--exec 'sh /Users/fejich/Movies/Youtube/nfo.sh'
📝视频简介转换为 emby 能识别的 nfo 文件
用于把视频简介(description文件)转换成 emby 能识别的格式,
可保存为 sh 脚本使用 --exec
参数调用。
适用于 Linux 与 Mac 系统
#!/bin/bash
# 生成临时文件
tee nfo1.temp <<-'EOF'
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<movie>
<plot><![CDATA[
EOF
tee nfo2.temp <<-'EOF'
]]></plot>
</movie>
EOF
# 生成 emby 可识别的 nfo 文件并添加换行符号
file=$1
filename=${file%.*}
nfo=${filename}.nfo
description=${filename}.description
touch "${nfo}";
cat nfo1.temp > "${nfo}";
sed 's#$#&<br/>#g' "${description}" >> "${nfo}";
cat nfo2.temp >> "${nfo}";
# 删除临时文件
rm nfo1.temp nfo2.temp
🖥Win 系统下简单可交互 bat 脚本
保存为 bat 脚本,与主程序放同一个目录即可
@ECHO OFF&PUSHD %~DP0 &TITLE Youtube-DLP 下载脚本
@ echo.
@ echo.
@ echo.
@ echo.
set /p ID= 输入 视频/播放列表网址 按回车:
@ echo.
@ echo.
@ echo.
@ echo.
ECHO 分析下载地址......
yt-dlp %ID%
@ echo.
@ echo.
@ echo.
@ echo.
ECHO 下载完成,任意键退出......
pause>NUL