logo NodeSeekbeta

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

  • @kejilion #17 😂的确,现在肝不动了,等之后让AI来美化吧

  • @wszx001 #19 也可能刚刚代码有bug,我又上传了一次我本地的代码,你重新下一次试试
    IMG_20250510_223649

  • @8oo1tq #20 这几个文件不是在c盘,是放在d盘的文件夹中

  • @wszx001 #23 你的config文件夹不是自动创建的?因为我是在d盘,我应该是设置的在本目录下的呀?我测试一下

  • 谢谢

  • @8oo1tq #22 重新下载后,现在可以了。
    多谢楼主,论坛有您真精彩

  • @wszx001 #26 Win版有一些小bug,你看看GitHub下面的注意事项,我列出来了,能力有限,没修复好😭😭,反正大致不影响使用,等有时间把代码结构全部改进一下

  • @8oo1tq #27 现在基本可以了。
    按照我的习惯,默认下载2160太高了,我修改为720就行了,其次一开始单个视频下载和批量视频下载也可以修改为默认“单个视频下载”,让使用者少些选择,一路回车。

    最后,楼主有空时美化一下就行,辛苦了

  • @8oo1tq #11 发布于5/10/2025, 10:19:31 PM
    @aRNoLD #3 嗯,我测试了一下,我下载的视频都是有声音的 xhj014 ,我不知道你为啥没有 xhj027 xhj027

    下ytb的,一般比率在1080P起步的,就会出现只有视频没有声音的情况。

  • 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
            clear
            echo "================ YT-DLP PRO 下载菜单 ================"
            echo "下载目录: $VIDEO_DIR"
            echo "已下载视频列表:"
            ls "$VIDEO_DIR"/*.mp4 "$VIDEO_DIR"/*.mp3 2>/dev/null || echo "(暂无)"
            echo "------------------------------------------------------"
            echo "1. 安装 yt-dlp"
            echo "2. 更新 yt-dlp"
            echo "3. 卸载 yt-dlp"
            echo
            echo "5. 单个视频(高清)下载"
            echo "6. 批量视频(高清)下载"
            echo "7. 自定义参数下载"
            echo "8. 下载为 MP3 音频"
            echo
            echo "0. 退出"
            echo "======================================================"
            read -p "请输入选项编号: " choice
    
            case $choice in
                1)
                    echo "正在安装 yt-dlp..."
                    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)
                    echo "正在更新 yt-dlp..."
                    sudo yt-dlp -U
                    echo "更新完成。按任意键继续..."
                    read ;;
                3)
                    echo "正在卸载 yt-dlp..."
                    sudo rm -f /usr/local/bin/yt-dlp
                    echo "卸载完成。按任意键继续..."
                    read ;;
                5)
                    read -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" \
                        --download-archive "$ARCHIVE_FILE" "$url"
                    read -p "下载完成,按任意键继续..." ;;
                6)
                    echo "请将多个链接写入:$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" \
                        --download-archive "$ARCHIVE_FILE"
                    read -p "批量下载完成,按任意键继续..." ;;
                7)
                    read -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" \
                        --download-archive "$ARCHIVE_FILE"
                    read -p "执行完成,按任意键继续..." ;;
                8)
                    read -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" \
                        --download-archive "$ARCHIVE_FILE" "$url"
                    read -p "音频下载完成,按任意键继续..." ;;
                0)
                    echo "已退出。"
                    break ;;
                *)
                    echo "无效选项,请重新输入。"
                    read ;;
            esac
        done
    }
    
    

    大佬你写成这样可行吗?

你好啊,陌生人!

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

📈用户数目📈

目前论坛共有72280位seeker

🎉欢迎新用户🎉