6 Anwendungen, Installation, Einrichtung und kleine Skript-Werkzeuge
6.3 Medienplayer „mplayer“
6.3.2 Kleine Script-Werkzeuge
Beispiel eines kleinen Scripts zum Internet-Radio hören und einer einfachen Auswahl von Sendern.
cat /home/username/tools/radio_01.sh
#! /bin/bash
dummy="n"
while [ $dummy != "q" ] ; do
echo "Select Radio Stream"
echo "1: "
echo "2: "
echo "3: "
echo "q: quit"
read dummy
case $dummy in
q) echo "quit select" ; exit
;;
1) mplayer -playlist http://dir.xiph.org/listen/1685349/listen.m3u
;;
2) mplayer -playlist http://dir.xiph.org/listen/1685348/listen.m3u
;;
3) mplayer -playlist http://dir.xiph.org/listen/1685353/listen.m3u
;;
esac
done
Streams verschiedener Codecs sind zum Beispiel zu finden unter folgendem Link. Ein Nachteil ist jedoch, dass jedesmal wenn die Rangliste erneuert wird, diese nicht mehr funktionieren. Praktisch ist jedoch, dass hier mit geeigneter Suche gezielt nach Streams mit nur 32kbit (AAC+) gesucht werden kann. Für Unterwegs mit einem Smartphone und bereits verbrauchten High-Speed-Traffic Guthaben ist das sehr praktisch.
http://dir.xiph.org/by_format/AAC+
http://dir.xiph.org/by_format/Ogg_Vorbis
Anbei ein kleines Script zum zufälligen Abspielen von Mediendateien. Über Tastaturkürzel können Dateien auch in andere Dateiordner verschoben werden, um zum Beispiel diese etwas auszusortieren.
cat home/username/tools/mplay_random_02.sh
#!/bin/bash
IFS_SIK=IFS ; IFS=$'\t\n' ; echo "how many days ago (max)?" ; read bb ; if [ -z "$bb" ] ; then bb=99999999; echo $bb;fi; echo "how many days ago (min)?" ; read bbmin ; if [ -z "$bbmin" ] ; then bbmin=-1; echo $bbmin;fi; echo "how many files to skip?" ; read b ; if [ -z "$b" ] ; then b=0; echo $b;fi;
a=0 ; for i in $(for j in $(find . "$1" "$2" -type f -mtime -$bb -size +600k | grep -v "jpg$" | grep -v "JPG$" | sort); do echo $(find "$j" -type f -mtime +$bbmin); done ); do let a=$a+1; echo $a " " $i ; if [ "$a" -gt "$b" ] ; then
echo $a " " $i ;
# vidarray["$(echo $a)"]="$(echo $i)" ;
vidarray["$a"]="$i" ;
echo ${vidarray["$a"]} ;
fi ; done
echo "number of files: " $a;
for iii in $(seq 1 200) ; do
kk=$(($RANDOM % $a + 1)) ; echo "random: " $kk;
i=${vidarray[$kk]};
# mplayer options for video:
# - for armbian & cubietruck use „-vo sdl“
# - for armbian & cubietruck works too „-vo x11“ but some codecs no fullscreen
# mplayer -vo xv -geometry 0:0 -fs "$i" ; echo $a " " $kk " " $i ; echo "press key for actions";
mplayer -vo sdl -geometry 0:0 -fs "$i" ; echo $a " " $kk " " $i ; echo "press key for actions";
# mplayer -vo xv -geometry 0:0 -fs $i ; echo $a " " $i ; echo "press key for actions";
read -t 2 -n 1 dd;
if [ "$dd" -eq "1" ] ; then b=$(($a+10));fi;
if [ "$dd" -eq "2" ] ; then b=$(($a+20));fi;
if [ "$dd" -eq "3" ] ; then b=$(($a+50));fi;
if [ "$dd" -eq "4" ] ; then b=$(($a+100));fi;
if [ "$dd" = "z" ] ; then exit ;fi;
if [ "$dd" = "k" ] ; then konqueror -select "$i" ;fi;
if [ "$dd" = "d" ] ; then dolphin -select "$i" ;fi;
if [ "$dd" = "p" ] ; then echo "hit key to continue"; read -n 1 dummy ;fi;
if [ "$dd" = "c" ] ; then echo "change category"; read catgor ;
if [ "$catgor" = "m" ] ; then echo "m selected - hit key to continue";
read -n 1 dummy ;
ii=$(echo $i | sed -e "s/\./\.\/categogorie01/" ) ; mkdir -p $(dirname $ii); mv $i $ii ;
fi;
if [ "$catgor" = "n" ] ; then echo "n selected - hit key to continue";
read -n 1 dummy ;
ii=$(echo $i | sed -e "s/\./\.\/categorie02/" ) ; mkdir -p $(dirname $ii); mv $i $ii ;
fi;
if [ "$catgor" = "mn" ] ; then echo "mn selected - hit key to continue";
read -n 1 dummy ;
ii=$(echo $i | sed -e "s/\./\.\/categorie03/" ) ; mkdir -p $(dirname $ii); mv $i $ii ;
fi;
fi;
# fi ;
done ; IFS=IFS_SIK
Anbei ein ähnliches Skript zum sortierten Abspielen von Mediendateien. Man kann auch einen Teil der Dateien durch Tastatureingaben überspringen.
cat home/username/tools/mplay_all_05.sh
!/bin/bash
IFS_SIK=IFS ; IFS=$'\t\n' ; echo "how many days ago (max)?" ; read bb ; if [ -z "$bb" ] ; then bb=99999999; echo $bb;fi; echo "how many days ago (min)?" ; read bbmin ; if [ -z "$bbmin" ] ; then bbmin=-1; echo $bbmin;fi; echo "how many files to skip?" ; read b ; if [ -z "$b" ] ; then b=0; echo $b;fi;
a=0 ; for i in $(for j in $(find -type f -mtime -$bb -size +600k | grep -v "jpg$" | grep -v "JPG$" | sort); do echo $(find "$j" -type f -mtime +$bbmin); done ); do let a=$a+1; echo $a " " $i ; if [ "$a" -gt "$b" ] ; then
mplayer -vo xv -geometry 0:0 -fs $i ; echo $a " " $i ; echo "press key for actions";
read -t 2 -n 1 dd;
if [ "$dd" -eq "1" ] ; then b=$(($a+10));fi;
if [ "$dd" -eq "2" ] ; then b=$(($a+20));fi;
if [ "$dd" -eq "3" ] ; then b=$(($a+50));fi;
if [ "$dd" -eq "4" ] ; then b=$(($a+100));fi;
if [ "$dd" = "z" ] ; then exit ;fi;
if [ "$dd" = "k" ] ; then konqueror -select "$i" ;fi;
if [ "$dd" = "d" ] ; then dolphin -select "$i" ;fi;
if [ "$dd" = "p" ] ; then echo "hit key to continue"; read -n 1 dummy ;fi;
if [ "$dd" = "c" ] ; then echo "change category"; read catgor ;
if [ "$catgor" = "m" ] ; then echo "m selected - hit key to continue";
read -n 1 dummy ;
ii=$(echo $i | sed -e "s/\./\.\/m/" ) ; mkdir -p $(dirname $ii); mv $i $ii ;
fi;
if [ "$catgor" = "n" ] ; then echo "n selected - hit key to continue";
read -n 1 dummy ;
ii=$(echo $i | sed -e "s/\./\.\/n/" ) ; mkdir -p $(dirname $ii); mv $i $ii ;
fi;
if [ "$catgor" = "mn" ] ; then echo "mn selected - hit key to continue";
read -n 1 dummy ;
ii=$(echo $i | sed -e "s/\./\.\/mn/" ) ; mkdir -p $(dirname $ii); mv $i $ii ;
fi;
fi;
fi ; done ; IFS=IFS_SIK
Anzeige des Spannung und des Stromverbrauchs:
cat /sys/power/axp_pmu/ac/
amperage connected used voltage
$ cat /sys/power/axp_pmu/ac/*
$ cat /sys/devices/platform/soc@01c00000/1c2ac00.i2c/i2c-0/0-0034/ac/amperage
$ cat /sys/power/axp_pmu/ac/amperage
$ cat /sys/power/axp_pmu/ac/voltage
Anzeige der Temperaturen:
cat /sys/class/hwmon/hwmon0/device/hwmon/hwmon0/temp1_input
cat /sys/devices/virtual/thermal/thermal_zone0/temp
33700
Oder Ausgabe über Durchsuche der Verzeichnisse:
for i in $(sudo find /sys | grep amper) ; do cat "$i" ; done
for i in $(sudo find /sys | grep temp) ; do cat "$i" ; done
for i in $(sudo find /sys | grep volt | grep "/ac\|/pmu" ) ; do echo "$i" ; cat "$i" ; done
Ausgaben nach dem Login:
/etc/update-motd.d
bash /etc/update-motd.d/30-sysinfo
Alle Ausgaben auf einmal:
$ cat /sys/power/axp_pmu/ac/amperage /sys/power/axp_pmu/ac/voltage /sys/devices/virtual/thermal/thermal_zone0/temp
Ausgabe der aktuellen Leistung in mW:
$ echo $(( $(cat /sys/power/axp_pmu/ac/amperage) * $(cat /sys/power/axp_pmu/ac/voltage) / 1000 / 1000 /1000 ))
Ausgabe: 1470
Mit einem Leistungsmessgerät (KD 302 von www.reichelt.de) wurden ein Verbrauch von maximal 4,1W beim Booten und sonst meist Werte um 2,6...3.1 Watt inklusive Netzteilverluste (Ladegerät eines Smartphone von ZTE ) gemessen.