Instruktaż/Tutorial crontab i streamripper - czyli nagrywanie internetowych audycji radiowych

jdebs

Passing Basics
Beginner
22 Styczeń 2012
14
1
3
Witam,
przez ostatnie parę dni dochodziłem do tego, w jaki sposób regularnie nagrywać audycje radia internetowego na moim nowym TS-219P II. Trochę informacji znalazłem na wielojęzykowych forach QNAPa. Niestety większość z nich była albo dla dawnego Firmware'u, albo już po prostu nie aktualna. Prawdopodobnie dla niektórych post ten może wydawać się laicki, ale jednak dla wielu pomocny. Na pewno powinien niektórym zaoszczędzić trochę czasu. Oto "agenda"...
1. Crontab - definicja wykonywania regularnych zadań
2. Streamripper - za i przeciw
3. Screen i tmux
4. Uwagi i kod

1. Crontab - definicja wykonywania regularnych zadań
Jak sama nazwa wskazuje w
Kod:
/etc/config/crontab
przechowywane są informacje dla systemu dot. regularnego wykonywania zadań/uruchamiania skryptów. Szczegółów nie będę opisywał. Informacje dot. Crontab można znaleźć wiele. Ja użyłem min:
Add items to crontab - QNAPedia
How-To - Crontab - Co jak i gdzie ?
QNAP Wiki - Change CronTab

Ważne:
1. Edytujemy plik za pomocą vi (nie używać crontab -e)
2. Po edycji należy uwzględnić zmiany wpisując
Kod:
crontab /etc/config/crontab
3. "Restartujemy crontaba"
Kod:
/etc/init.d/crond.sh restart
4. Możemy sprawdzić czy zmiany zostały zapisane...
Kod:
crontab -l
5. crontab w FW 3.5.x (i pewnie trochę wcześniejszym) jest odporny na reboot i jeśli zmiany zostaną przeprowadzone jak pow. to nie ma potrzeby korzystania z pliku autorun.sh, a zapis przetrwa restart systemu.

Streamripper - za i przeciw
Do nagrywania streamingu użyłem stremrippera. Szczegóły dot. samego programu i jago instalacji również można znaleźć na stronach. Należy to jednak podkreślić iż nie obsługuje on formatów wma (Windows Media Audio). Zatem np. Polskie Radio 3 nie zostanie nagrane. Efekt będzie widoczny jak w poście: Streamripper - wielokrotny podział plików
Niestety nie udało mi się znaleźć innego programu, który nagrywa wma. Instalacja vlc czy mplayera z reguły kończyła się potrzebą doinstalowywyania innych bibliotek itp. Jeśli ktoś zna alternatywę lub chciałby mi pomóc w instalacji, proszę o wiadomość na priv.

Ważne:
1. Aby stremripper działał po zamknięciu terminala należy użyć funkcji screen lub tmux
2. Zawsze podawaj pełną sciężkę dostępu to programów executable (wykonawczych) -> tutaj naprawdę trochę czasu spędziłem zanim stwierdziłem jakie to ważne.

Screen i tmux
Ponieważ z funkcją screen miałem dość dużo problemów, ciągle pojawiały mi się komunikaty:
Kod:
/var/run/utmp: No such file or directory
Cannot find termcap entry for 'xterm'.
a
Bash:
export TERMINFO=/opt/share/terminfo
...nie dawało efektu po restarcie zdecydowałem się na bardziej ciekawszą alternatywę jaką jest Terminal Multiplexer (tmux). Więcej na jego temat: tmux – Wikipedia, wolna encyklopedia

Uwagi i mój kod
1. Wpis w crontabie. Plik stream_record.sh ma być wywołany o 12:00 każdego dnia:
Kod:
0 12 * * * /opt/bin/tmux new-session -d '/share/MD0_DATA/Recordings/stream_record.sh >> /share/MD0_DATA/Public/IPRadio/stream_record_log.txt'
Skrypt uruchamia się w nowej sesji terminala a całość konsoli zapisywana jest w pliku stream_record_log.txt
Należy podać pełną ścieżkę do tmux inaczej nie zadziała. Jak sprawdzić gdzie jest zainstalowany tmux? Wystarczy wpisać w konsoli:
Kod:
which tmux

2. Skrypt stream_record.sh wygląda u mnie następująco:
a) Streamowanie ograniczone do 420sek (7min.)
b) Plik ma prawa executable
Bash:
chmod +x stream_record.sh

Bash:
#!/bin/bash
url=http://ns590.ovh.net:8050/rg48
record_time=420

echo -e "===========================================================\n\r"
echo -e "         Recording time: `date`\n\r"
echo -e "===========================================================\n\r"
/opt/bin/streamripper $url -a -A -d /share/MD0_DATA/Public/IPRadio -l $record_time
echo -e "\n\r"
echo -e "\n\r"
echo -e "Recording finished at: `date +%T`\n\r"
echo -e "===========================================================\n\r"
I tu również pełna ścieżka do stremrippera - inaczej nie zadziała

To chyba tyle z instrukcji. Mam nadzieję że się komuś przyda i uprzyjemni czas słuchaniem nagranej audycji (niestety nie windowsowego formatu).

Pozdrawiam,
Jacek
 

Użytkownicy znaleźli tą stronę używając tych słów:

  1. TS-219P+ nie uruchamia
  2. nagrywanie