Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Audacious - zapis historii odtwarzania radio online do logu
#1
0
Dzień dobry. :)

W trakcie codziennej pracy na Mincie często słucham muzyki ze stacji online. Bardzo często trafiam na ciekawe utwory, do których chciałbym wrócić. Wpadłem na pomysł, że można przecież ściągnąć historię playlisty takiej stacji do pliku txt w formie logu. W jaki sposób mogę to zrobić i czy to w ogóle możliwe?

Zapytałem się AI i dostałem sugestię, aby stworzyć taki skrypt w Bash'u, a następnie nadać mu uprawnienia wykonalności i uruchomić co zrobiłem z poziomu terminala:

Kod:
#!/bin/bash

# Adres URL strumienia radiowego
STREAM_URL="przykładowy link"

# Plik, do którego będą zapisywane metadane
LOG_FILE="playlist_log.txt"

# Funkcja do przechwytywania metadanych
fetch_metadata() {
    curl -s -H "Icy-MetaData: 1" "$STREAM_URL" | \
    while IFS= read -r -n1 char; do
        if [[ "$char" == $'\x0d' ]]; then
            # Znaleziono koniec linii metadanych
            break
        fi
        echo -n "$char"
    done
}

# Główna pętla skryptu
while true; do
    # Przechwyć metadane
    metadata=$(fetch_metadata)

    # Jeśli metadane zawierają tytuł, zapisz je do pliku
    if [[ "$metadata" == *"StreamTitle="* ]]; then
        title=$(echo "$metadata" | grep -oP 'StreamTitle=\K[^;]*')
        if [[ -n "$title" ]]; then
            echo "$(date '+%Y-%m-%d %H:%M:%S'): $title" >> "$LOG_FILE"
            echo "Zapisano: $title"
        fi
    fi

    # Poczekaj chwilę przed kolejnym sprawdzeniem
    sleep 10
done

Oczywiście, nothing happened. :D Niestety, jeszcze nie znam i nie rozumiem skryptów Bash. W "przykładowy link" wkleiłem link do streamu przykładowej stacji (np. http://188.40.109.122:8000/ices2).
Odpowiedz


Wiadomości w tym wątku
Audacious - zapis historii odtwarzania radio online do logu - przez Mielony84 - 10-02-2025, 14:50

Skocz do:




Użytkownicy przeglądający ten wątek: 1 gości