Har gjort ett litet snabbt script för att logga klockslaget när reklamen sänds. Skulle det visa sig att kanaler sänder reklam vid givna tidpunkter då skulle boxen kunna automatiskt byta kanal, slå på musik mm. Jag brukar försöka att spela in men ibland så fastnar man i reklam träsket. Vid inspelning brukar det vara 5 respektive 7 minuters plåga.

Först måste man ta reda på om mina antagande stämmer, hjälp till att ta reda på detta genom att köra scriptet! Då jag är alldeles för zapp glad.

1 Associera scriptet till ”HotKeys” rödknapp (lång tryck) är bra används inte till något än!
HTML-kod:
https://wiki.openpli.org/Hotkey
Extra option in Hotkey or the use of scripts using a certain hotkey
Kod:
cd /usr
mkdir script
cd /script
touch com.sh
chmod +x com.sh
Klistra in texten i scriptet com.sh
Loggfilen skapas automatisk i usr/script/com.log och är komma separerad går att läsa in i Excel om så önskas.
Nu när detta är klart är det bara att börja logga

2. När reklamen börjar långt tryck på rödknapp
3. När reklamen slutar långt tryck på rödknapp
Kommer även presenteras ett litet meddelande på tv om start / stopp och reklamtiden

Vi kan anta att via satellit så har alla samma tid, men via Comhem vet jag inte om det blir någon fördröjning, dock lär den mänskliga faktorn också påverka men förhoppnings vis lika mycket vid start som stopp.

Fick ett klockrent resultat förra veckan
Kod:
start, Discovery Channel HD (S), 0217 21:27:20, 1:0:19:1C3A:21:46:E080000:0:0:0:, 1645129640
diff 300
stop, Discovery Channel HD (S), 0217 21:32:20, 1:0:19:1C3A:21:46:E080000:0:0:0:, 1645129940
Kod:
#!/bin/bash
# com.log komma separerad 
# Fält1 mode Star/stop
# Fält2 Kanal
# Fält3 Datum 
# Fält4 Tid
# Fält5 Kanal referens i fall att det behövs
# Fält6 Unix tid i sek sedan 1970-01-01
# Rad 28 och 35 anges  fälten för logfilen kan anpassas efter önskemål

# Enkel sökning i logfilen via terminal
# cat com.log| grep -i -A1 "Tv12"|  awk -F"," '{print$1, $2, $3,$4}'| sed 's/start.*/\n&/'
# Byta sök  ändra           TV12    Byta fält ändra  $1=Fält1 osv...  Detta fixar blank raden
#######################################################################################################
# Skapar com.log om den ej finns
if [ ! -f "com.log" ]; then
  touch com.log
  echo stop>com.log
fi	    

mode=$(cat /usr/script/com.log| awk -F"," '{print$1}'| tail -n1)
echo "$mode"
now=$(date +"%m%d %H:%M:%S")
today=$(date +"%m%d")
time=$(date +"%H:%M:%S")
channel=$(wget -O- -q http://localhost//web/getcurrent| grep "<e2eventservicename>"|sed 's/<e2eventservicename>//\'| sed 's/<\/e2eventservicename>//\'| tail -n1|sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
time_sec=$(date +%s)
service_ref=$(wget -O- -q http://localhost//web/getcurrent| grep "<e2eventservicereference>"|sed 's/<e2eventservicereference>//\'| sed 's/<\/e2eventservicereference>//\'| tail -n1|sed -e 's/^[ \t]*//' -e 's/[ \t]*$//')
#Kolla om den står i start/stop
        if [ "$mode" == "stop" ]; then
#Start börjar
        echo "start,$channel,$today,$time,$service_ref,$time_sec">>/usr/script/com.log
        echo "-------------Startar--------------"
           else
#Stopp börjar      
           time_start=$(cat /usr/script/com.log | awk -F"," '{print$6}'| tail -n1)
	   time_diff=$(("$time_sec" - "$time_start"))
           echo "diff $time_diff">>/usr/script/com.log
	   echo "stop,$channel,$today,$time,$service_ref,$time_sec">>/usr/script/com.log
           echo "------------Stoppar--------------"
	   echo "Reklame tid $time_diff sekunder"
	fi
# Rensar bort lite "oviktig information i falla att...:-)
sed -i 's/http.*\(.ts\)/.ts/' com.log
sed -i 's/4097://' com.log
sed -i 's/:.ts//' com.log