logo NodeSeekbeta

[优化版]基于yt-dlp的视频一键脚本

  • @aRNoLD #37 大佬需求比较着急的话,可以先自己尝试改动一下,反正都是些bash脚本,AI应该也能帮助解决

  • @8oo1tq #41 发布于5/11/2025, 12:02:15 AM

    @aRNoLD #37 大佬需求比较着急的话,可以先自己尝试改动一下,反正都是些bash脚本,AI应该也能帮助解决

    不急,我很少下视频,一般就是在命令行里直接加参数。

  • 我的脚本在你的引导下 也写好了 也可以体验下 哈哈
    https://blog.kejilion.pro/yt-dlp/
    image

    
    yt_menu_pro() {
    
    	local VIDEO_DIR="/home/yt-dlp"
    	local URL_FILE="$VIDEO_DIR/urls.txt"
    	local ARCHIVE_FILE="$VIDEO_DIR/archive.txt"
    
    	mkdir -p "$VIDEO_DIR"
    
    	while true; do
    
    		if [ -x "/usr/local/bin/yt-dlp" ]; then
    		   local YTDLP_STATUS="${gl_lv}已安装${gl_bai}"
    		else
    		   local YTDLP_STATUS="${gl_hui}未安装${gl_bai}"
    		fi
    
    		clear
    		send_stats "yt-dlp 下载工具"
    		echo -e "yt-dlp $YTDLP_STATUS"
    		echo -e "yt-dlp 是一个功能强大的视频下载工具,支持 YouTube、Bilibili、Twitter 等数千站点。"
    		echo -e "官网地址:https://github.com/yt-dlp/yt-dlp"
    		echo "-------------------------"		
    		echo "已下载视频列表:"
    		ls -td "$VIDEO_DIR"/*/ 2>/dev/null || echo "(暂无)"
    		echo "-------------------------"
    		echo "1.  安装               2.  更新               3.  卸载"
    		echo "-------------------------"
    		echo "5.  单个视频下载       6.  批量视频下载       7.  自定义参数下载"
    		echo "8.  下载为MP3音频      9.  删除视频目录       10. Cookie管理(开发中)"
    		echo "-------------------------"
    		echo "0. 返回上一级选单"
    		echo "-------------------------"
    		read -e -p "请输入选项编号: " choice
    
    		case $choice in
    			1)
    				send_stats "正在安装 yt-dlp..."
    				echo "正在安装 yt-dlp..."
    				install ffmpeg
    				sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
    				sudo chmod a+rx /usr/local/bin/yt-dlp
    				echo "安装完成。按任意键继续..."
    				read ;;
    			2)
    				send_stats "正在更新 yt-dlp..."
    				echo "正在更新 yt-dlp..."
    				sudo yt-dlp -U
    				echo "更新完成。按任意键继续..."
    				read ;;
    			3)
    				send_stats "正在卸载 yt-dlp..."
    				echo "正在卸载 yt-dlp..."
    				sudo rm -f /usr/local/bin/yt-dlp
    				echo "卸载完成。按任意键继续..."
    				read ;;
    			5)
    				send_stats "单个视频下载"
    				read -e -p "请输入视频链接: " url
    				yt-dlp -P "$VIDEO_DIR" -f "bv*+ba/b" --merge-output-format mp4 \
    					--write-subs --sub-langs all \
    					--write-thumbnail --embed-thumbnail \
    					--write-info-json \
    					-o "$VIDEO_DIR/%(title)s/%(title)s.%(ext)s" \
    					--no-overwrites --no-post-overwrites "$url"
    				read -e -p "下载完成,按任意键继续..." ;;
    			6)
    				send_stats "批量视频下载"
    				install nano
    				if [ ! -f "$URL_FILE" ]; then
    				  echo -e "# 输入多个视频链接地址\n# https://www.bilibili.com/bangumi/play/ep733316?spm_id_from=333.337.0.0&from_spmid=666.25.episode.0" > "$URL_FILE"
    				fi
    				nano $URL_FILE
    				echo "现在开始批量下载..."
    				yt-dlp -P "$VIDEO_DIR" -f "bv*+ba/b" --merge-output-format mp4 \
    					--write-subs --sub-langs all \
    					--write-thumbnail --embed-thumbnail \
    					--write-info-json \
    					-a "$URL_FILE" \
    					-o "$VIDEO_DIR/%(title)s/%(title)s.%(ext)s" \
    					--no-overwrites --no-post-overwrites
    				read -e -p "批量下载完成,按任意键继续..." ;;
    			7)
    				send_stats "自定义视频下载"
    				read -e -p "请输入完整 yt-dlp 参数(不含 yt-dlp): " custom
    				yt-dlp -P "$VIDEO_DIR" $custom \
    					--write-subs --sub-langs all \
    					--write-thumbnail --embed-thumbnail \
    					--write-info-json \
    					-o "$VIDEO_DIR/%(title)s/%(title)s.%(ext)s" \
    					--no-overwrites --no-post-overwrites
    				read -e -p "执行完成,按任意键继续..." ;;
    			8)
    				send_stats "MP3下载"
    				read -e -p "请输入视频链接: " url
    				yt-dlp -P "$VIDEO_DIR" -x --audio-format mp3 \
    					--write-subs --sub-langs all \
    					--write-thumbnail --embed-thumbnail \
    					--write-info-json \
    					-o "$VIDEO_DIR/%(title)s/%(title)s.%(ext)s" \
    					--no-overwrites --no-post-overwrites "$url"
    				read -e -p "音频下载完成,按任意键继续..." ;;
    				
    			9)
    				send_stats "删除视频"
    				read -e -p "请输入删除视频名称: " rmdir
    				rm -rf "$VIDEO_DIR/$rmdir"
    				;;
    			*)
    				break ;;
    		esac
    	done
    }
    
    
    

    xhj003 xhj003 xhj003

  • 其实你们不如干脆再做个更漂亮的界面出来,GITHUB上面一放,星星号肯定爆涨。

  • @aRNoLD #46 我没那水平 看的过去就好了 哈哈

  • @kejilion #48 可以加上一些颜色,看上去舒适一些,其他过度美化的确不需要,毕竟重要的是功能

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72280位seeker

🎉欢迎新用户🎉