如何累加YouTube播放列表单文件大小以得到MB/GB为单位的总容量
YouTube播放列表总大小计算方法(Linux/Ubuntu环境)
实现思路
你已经可以通过现有命令得到每个视频的估算字节数,只需对所有字节数求和后做单位转换即可,用awk做累加运算最简便。
直接可用的完整命令
仅输出总大小
youtube-dl --get-filename -o "File size for %(id)s (%(format_id)s): %(filesize)s = 125*%(duration)s*%(tbr)s" -f "22/best" --ignore-config "替换为你的YouTube播放列表链接" | (IFS='='; while read -r a b; do echo "$(echo "$b" | bc)"; done) | awk '{sum += $1} END {printf "总大小:%.2f MB / %.2f GB\n", sum/1024/1024, sum/1024/1024/1024}'
同时输出单文件明细+总大小
youtube-dl --get-filename -o "File size for %(id)s (%(format_id)s): %(filesize)s = 125*%(duration)s*%(tbr)s" -f "22/best" --ignore-config "替换为你的YouTube播放列表链接" | (IFS='='; while read -r a b; do size=$(echo "$b" | bc); echo "$a = $size 字节 / $(printf "%.2f MB" $size/1024/1024)"; echo $size; done) | awk '{sum += $1} END {printf "\n----------------------------------------\n全部文件总大小:%.2f MB / %.2f GB\n", sum/1024/1024, sum/1024/1024/1024}'
说明
- 计算逻辑为码率×时长得到估算大小,和实际下载文件的真实大小可能存在微小误差,属于正常情况
- 如果你使用的是yt-dlp替代youtube-dl,直接把命令开头的
youtube-dl替换为yt-dlp即可正常使用 - 单位换算采用二进制标准:1GB=1024MB,1MB=1024KB
内容的提问来源于stack exchange,提问作者Rick T
相关产品推荐
相关产品推荐

