no to teraz wklej sobie alias : yt=‘yt-dlp -x --audio-format mp3’ do pliku
.zshrczapisz 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 ?
no to teraz wklej sobie alias : yt=‘yt-dlp -x --audio-format mp3’ do pliku
.zshrczapisz 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
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ć.