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
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
3. "Restartujemy crontaba"
4. Możemy sprawdzić czy zmiany zostały zapisane...
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:
a
...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:
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:
2. Skrypt stream_record.sh wygląda u mnie następująco:
a) Streamowanie ograniczone do 420sek (7min.)
b) Plik ma prawa executable
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
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
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
Kod:
/etc/init.d/crond.sh restart
Kod:
crontab -l
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'.
Bash:
export TERMINFO=/opt/share/terminfo
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'
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"
To chyba tyle z instrukcji. Mam nadzieję że się komuś przyda i uprzyjemni czas słuchaniem nagranej audycji (niestety nie windowsowego formatu).
Pozdrawiam,
Jacek