Eigentlich handelt es sich sogar um eine crontab-Anwendung.
(die Pfäde müssen angegeben werden z.B /usr/local/bin/ffmpeg)
Aufgabe soll es sein die Radionachrichten jede Stunde nur 5 Minuten lang aufzunehmen.
Es handeln sich sogar um 2 Scripte, die von Crontab ausgeführt werden.
Das erste Script wird durch ein anderes gestartet und nach 5 Minuten gekillt (funktioniert).
Da der Stream nun in einem "not seakable" wma vorliegt nimmt diese Datei ein 2 Script auf
und wandelt die Musik so um, dass man z.B im Totem unten den Vorlauf-Balken bedienen kann.
Dies ist das Script, dass das mittler Script (record-kiwi-fm.sh) nach 5 Minuten killt.
–→ siehe Crontab-Befehl
Der Crontab zur aufnahme sieht so aus
export DISPLAY=:0 && /usr/bin/gnome-terminal -x /home/rumpel/runfor 500 /home/rumpel/record-kiwi-fm.sh news
runfor.sh
| #!/bin/bash
TIME=$1
shift
"$@" &
PID=$!
sleep $TIME
kill $PID
wait
|
Crontab immer um 59
record-kiwi-fm.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 | #!/bin/bash
echo "########################"
if [[ ${1} == "news" ]]; then
echo ${1}
echo "sleep 56"
sleep 56
fi
date="kiwi-speak-${1}-$(date +'%Y-%m-%d_%H_%M_%S').mp3"
sda5="/media/sda5/home/rumpel/Musik/"
sda2="/media/sda2/"
script="${sda2}last-news"
NOW="${sda2}${date}"
geg="geg"
holla="ja"
if [[ ! ${1} == "news" ]]; then
if [[ ! ${holla} == "radio-show" ]]; then
holla="nein"
# fi
fi
echo "$holla"
echo "########################"
if [[ ${holla} == "ja" ]]; then
echo "/usr/local/bin/ffmpeg -i \"${NOW}\" \"${sda2}${geg}${date}\"" >> "${script}"
echo "mv \"${sda2}${geg}${date}\" \"${sda2}kiwi/\"" >> "${script}"
echo "cp \"${NOW}\" \"${sda5}\"" >> "${script}"
echo "rm \"${NOW}\"" >> "${script}"
#damit last-new-auswertung es abspielen kann :-)
echo "/usr/bin/cvlc --play-and-exit \"${sda2}kiwi/${geg}${date}\"" >> "${script}"
echo "wait" >> "${script}"
fi
mplayer mms://wms-trn-all.streaming.net.nz/trn-newstalk-zb-chc -dumpstream -dumpfile $NOW
|
Diese record-kiwi-fm.sh erzeugt ein Script zum Umwandeln und abspielen.der Datei und wird 6 Minuten nach der
Aufnahme von Crontab aufgerufen.
Der Crontab zur aufnahme sieht so aus
export DISPLAY=:0 && /usr/bin/gnome-terminal -x /home/rumpel/runfor 500 /home/rumpel/record-kiwi-fm.sh news
Der Crontab zum Umwandeln und abspielen sieht so aus
export DISPLAY=:0 && /usr/bin/gnome-terminal -x /home/rumpel/last-new-aufruf.sh
last-new-aufruf.sh
| #/bin/sh
export DISPLAY=:0 && /usr/bin/gnome-terminal -x /media/sda2/last-news
sleep 50
echo "#!/bin/bash" > "/media/sda2/last-news"
|
So geht es mit dem Sleep 50 bleibt das alte Terminal offen bis zum Abspielen.
Lieber wäre es mir wenn das unterste Script last-new-aufruf.sh wartet anstatt dem sleep 50.
Es geht so wie gewünscht mich würde es aber interessieren ob man was machen kann.
Aber es funktioniert so halbwegs 😬 😊