Program youtube-dl

no to teraz wklej sobie alias : yt=‘yt-dlp -x --audio-format mp3’ do pliku .zshrc zapisz plik odpal terminal i wpisujesz : yt twój link

mam wkleić yt=‘yt-dlp -x --audio-format mp3’ do txt i z txt zrobić .zshrc ?

nie nie, plik .zshrc masz ukryty w katologu /home odpal manager plików i naciśnij CTRL+H musisz go mieć albo sudo nano .zshrc w terminalu i wklej sobie na samym dole:

alias yt=‘yt-dlp -x --audio-format mp3’

odpal ponownie terminal

KLik

Dziękuję zbadam czy dam radę obecnie weekend i zbyt elegante pogoda.
Pozdro

Nowsze wersje mają zmiany niekoniecznie idące w dobrym kierunku. Używam wersji yt-dlp-gui 2024.06.06 z ich strony, gdzie mam do wyboru: best, mp4, mp3, wav, flac

A ja mam taki skrypt:

#!/bin/bash

# Stałe
CONFIG_FILE="$HOME/.ytdlp_downloader_config"

# Sprawdź wymagane narzędzia
check_requirements() {
    if ! command -v yt-dlp &> /dev/null; then
        yad --error --text="Program yt-dlp nie jest zainstalowany. Proszę go najpierw zainstalować." \
            --title="Błąd" --width=400 --height=150
        exit 1
    fi

    if ! command -v ffmpeg &> /dev/null; then
        yad --error --text="Program ffmpeg nie jest zainstalowany. Jest wymagany do konwersji audio." \
            --title="Błąd" --width=400 --height=150
        exit 1
    fi

    if ! command -v yad &> /dev/null; then
        yad --error --text="Program yad nie jest zainstalowany. Wymagany do działania skryptu.\n\nZainstaluj: sudo apt install yad" \
            --title="Błąd" --width=400 --height=150
        exit 1
    fi
}

check_requirements

# Wczytaj poprzednią ścieżkę lub ustaw domyślną
if [ -f "$CONFIG_FILE" ]; then
    LAST_DIR=$(cat "$CONFIG_FILE")
else
    LAST_DIR="$HOME/Pobrane"
    mkdir -p "$LAST_DIR" 2>/dev/null
fi

# Główna pętla programu
while true; do
    # Główne okno z polem na link i trzema przyciskami
    response=$(yad --form \
        --title="YouTube Downloader" \
        --text="\n<b>Wklej link do filmu YouTube:</b>\n" \
        --width=500 \
        --height=180 \
        --window-icon="applications-multimedia" \
        --image="applications-multimedia" \
        --field="Link:" "" \
        --button="  Pobierz audio  !audio-x-generic":0 \
        --button="  Pobierz wideo  !video-x-generic":2 \
        --button="  Zamknij  !window-close":1 \
        --center \
        --escape-ok)

    ret=$?

    # Jeśli użytkownik zamknął okno
    if [ $ret -eq 1 ]; then
        exit 0
    fi

    # Pobierz link
    LINK=$(echo "$response" | awk -F'|' '{print $1}')
    DOWNLOAD_TYPE="" # Inicjalizacja typu pobierania

    # Określ typ pobierania na podstawie naciśniętego przycisku
    if [ $ret -eq 0 ]; then
        DOWNLOAD_TYPE="Audio"
    elif [ $ret -eq 2 ]; then
        DOWNLOAD_TYPE="Video"
    fi

    # Jeśli nie podano linku
    if [ -z "$LINK" ]; then
        yad --error --title="Błąd" --text="Musisz podać link do pobrania!" --width=300
        continue
    fi

    # Jeśli nie wybrano typu pobierania (np. przez Escape)
    if [ -z "$DOWNLOAD_TYPE" ]; then
        continue
    fi

    # Okno wyboru folderu
    TARGET_DIR=$(yad --file \
        --title="Wybierz folder do zapisu plików" \
        --directory \
        --filename="$LAST_DIR/" \
        --width=700 \
        --height=500 \
        --center \
        --add-preview)

    # Jeśli użytkownik anulował wybór folderu
    if [ -z "$TARGET_DIR" ]; then
        continue
    fi

    # Zapisz wybraną ścieżkę
    echo "$TARGET_DIR" > "$CONFIG_FILE"
    LAST_DIR="$TARGET_DIR"

    # Pobierz w zależności od wybranego typu
    if [ "$DOWNLOAD_TYPE" = "Video" ]; then
        # Pobierz wideo
        (
            cd "$TARGET_DIR"
            #yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" "$LINK" 2>&1 | \
            yt-dlp "$LINK" 2>&1 | \
            yad --progress \
                --title="Pobieranie wideo w toku..." \
                --text="\nTrwa pobieranie pliku wideo...\n" \
                --auto-close \
                --no-buttons \
                --width=400 \
                --height=120 \
                --center
        )
        if [ ${PIPESTATUS[0]} -eq 0 ]; then
            yad --info \
                --title="Pobieranie zakończone" \
                --text="\n<b>Pobieranie wideo zakończone pomyślnie!</b>\n\nPlik zapisany w:\n<tt>$TARGET_DIR</tt>" \
                --width=500 \
                --height=200 \
                --button="  OK  !gtk-ok":0 \
                --center
        else
            yad --error \
                --title="Błąd podczas pobierania" \
                --text="\n<b>Wystąpił błąd podczas pobierania wideo.</b>\n\nSprawdź poprawność linku." \
                --width=450 \
                --height=180 \
                --center
        fi
    else # DOWNLOAD_TYPE jest "Audio"
        # Pobierz audio
        (
            cd "$TARGET_DIR"
            yt-dlp -x --audio-format mp3 --audio-quality 0 "$LINK" 2>&1 | \
            yad --progress \
                --title="Konwersja do MP3 w toku..." \
                --text="\nTrwa pobieranie i konwersja audio...\n" \
                --auto-close \
                --no-buttons \
                --width=400 \
                --height=120 \
                --center
        )
        if [ ${PIPESTATUS[0]} -eq 0 ]; then
            yad --info \
                --title="Pobieranie zakończone" \
                --text="\n<b>Pobieranie audio zakończone pomyślnie!</b>\n\nPlik MP3 zapisany w:\n<tt>$TARGET_DIR</tt>" \
                --width=500 \
                --height=200 \
                --button="  OK  !gtk-ok":0 \
                --center
        else
            yad --error \
                --title="Błąd podczas pobierania" \
                --text="\n<b>Wystąpił błąd podczas pobierania audio.</b>\n\nSprawdź poprawność linku." \
                --width=450 \
                --height=180 \
                --center
        fi
    fi
done




a do tego plik desktop i działa wyśmienicie

[Desktop Entry]
Version=1.0
Type=Application
Name=YT Downloader
Comment=Pobiera pliki audio z YouTube i konwertuje do MP3
Exec=/home/dom/Skrypty/ytmuzyka_przyciski.sh
Icon=/home/dom/png/Youtube-Music.png
Terminal=false
Categories=Audio;AudioVideo;Network;
Keywords=youtube;audio;mp3;downloader;
StartupNotify=true

oczywiście ścieżki trzeba sobie dopasować.