使用 yt-dlp 下载油管视频

下载到指定的默认文件夹,这样 macOS 打开 Videos 就能自动添加 Apple TV 了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/bash

# 输入参数 - 视频 URL
VIDEO_URL="$1"

# 固定目标文件夹路径
TARGET_DIR="$HOME/Downloads/youtube/Automatically Add to Videos.localized"

# 临时下载目录
TEMP_DIR="/tmp/yt-dlp-downloads"

# 确保目标目录和临时目录存在
mkdir -p "$TARGET_DIR"
mkdir -p "$TEMP_DIR"


# 定义格式列表,始终优先下载 720p + 140 音频
FORMAT_LIST=(
"bestvideo[height<=720][vcodec~=avc1]+140/bestvideo[height<=1080][vcodec~=avc1]+140"
"bestvideo[height<=720]+140"
"bestvideo[height<=1080]+140"
"best"
)

# 下载视频和音频,并输出为MP4格式
for format in "${FORMAT_LIST[@]}"; do
yt-dlp -f "$format" "$VIDEO_URL" -o "$TEMP_DIR/%(title)s.%(ext)s"
if [ $? -eq 0 ]; then
break
fi
done

# 检查下载是否成功
if [ $? -eq 0 ]; then
# 移动下载的视频到目标文件夹
mv "$TEMP_DIR"/*.mp4 "$TARGET_DIR"

# 清理临时目录
rm -rf "$TEMP_DIR"

echo "下载并移动完成。"
else
echo "下载失败。请检查视频 URL 或网络连接。"
fi