Resultat 1 till 5 av 5

Ämne: Slipp reklamen tv!!!

  1. #1
    Seniormedlem
    Reg.datum
    Nov 2012
    Inlägg
    162
    Tackad
    48 gånger

    Slipp reklamen tv!!!

    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

  2. #2
    Seniormedlem
    Reg.datum
    May 2011
    Inlägg
    434
    Tackad
    26 gånger
    Om man skulle komma på ett program som analyserar kanalloggan så skulle vi komma långt!
    Nästan alla kanaler tar bort sin logga när det är reklam.
    Openpli 7.2 VU+Solo2
    Openpli 7.2 VU+Duo
    Openpli 7.2 VU+Uno
    Openpli 7.2 VU+Uno
    Openpli 7.2 VU+Uno
    Android 7 KII Pro (DVB-S2, DVB-T2)
    Android 7 KIII Pro (DVB-S2, DVB-T2)

    Gibertini 1.2M (28.2E)
    Torroidal 90cm (5W), (1W), (5E), (13E), (19E)
    Marksända kanaler från Svenska Kalix och Finska Tervola masten.

  3. #3
    Donator trugs avatar
    Reg.datum
    Nov 2003
    Inlägg
    173
    Tackad
    6 gånger
    Comskip gör just detta tillsammans med andra knep som ljudvolym och black frame osv

  4. #4
    ComHit Crew Minimes avatar
    Reg.datum
    Jul 2007
    Inlägg
    2 267
    Tackad
    247 gånger
    Gissar på att man skulle kunna göra detta automatiserat igenom att analysera video och audio strömmen med hjälp av ffmpeg?
    Ex. igenom att analysera audio strömmen, då det inte är så ovanligt att ljudnivån höjs rätt så raddikalt då reklamen börjar och sänks tillbaka till ordinarie nivå då reklamen slutar och återgår till sändningen.

    Kod:
    ffmpeg -i <fil att analysera> -filter:a volumedetect -f null /dev/null
    Utdatat skulle se ut som följande:
    Kod:
    [Parsed_volumedetect_0 @ 0x7f8ba1c121a0] mean_volume: -16.0 dB
    [Parsed_volumedetect_0 @ 0x7f8ba1c121a0] max_volume: -5.0 dB
    Informationen hämtat ifrån "FFMPEG wiki AudioVolume"
    Asus EeeBox Slackware 64 15.0 - OSCam Build 10611 - Omnikey 3121
    Asus EeeBox Slackware 64 15.0 - Kodi 20.2
    Raspberry Pi 4 Slackware Arm 15.0 - Kodi 20.2
    Miraclebox Premium Twin HD - Openvix 5.2.040 - OSCam r11532 - (Neotion CI+ CA-modul)
    Sharp Aquos 40" LED-TV LC-40LE600S

  5. #5
    Seniormedlem
    Reg.datum
    Nov 2012
    Inlägg
    162
    Tackad
    48 gånger
    Intressant tanke testade som hastigast med detta för Tv4 sat från min dator (Linux) borde funka med win också. Då ffmpeg från boxen med 127.0.0.1 gav /dev/null: Invalid argument

    ffmpeg -i http://Boxens-ipnr:8001/1:0:19:57D:E:46:E080000:0:0:0: -filter:a volumedetect -f null /dev/null
    Ger följande :
    [Parsed_volumedetect_0 @ 0x55aed3baca80] n_samples: 2162688
    [Parsed_volumedetect_0 @ 0x55aed3baca80] mean_volume: -26.3 dB
    [Parsed_volumedetect_0 @ 0x55aed3baca80] max_volume: -10.6 dB
    [Parsed_volumedetect_0 @ 0x55aed3baca80] histogram_10db: 10
    [Parsed_volumedetect_0 @ 0x55aed3baca80] histogram_11db: 102
    [Parsed_volumedetect_0 @ 0x55aed3baca80] histogram_12db: 506
    [Parsed_volumedetect_0 @ 0x55aed3baca80] histogram_13db: 1747
    Sedan är det bara att lista ut vilket /dev/ som ska för aktuell kanal eller använda 127.0.0.1, samt sätta ffmpeg i verbose läge för att få outputen till logfil istället för att slippa lösa ovanstående felmeddelande samt att jag tycker att logfiler är alltid lätta att jobba med.

Liknande ämnen

  1. Spela in från Viasat och ta bort reklamen
    Av yougart i forum Viasat
    Svar: 3
    Senaste inlägg: 2009-08-13, 23:31

Behörigheter för att posta

  • Du får inte posta nya ämnen
  • Du får inte posta svar
  • Du får inte posta bifogade filer
  • Du får inte redigera dina inlägg
  •  
stöd oss
ComHit.net är en ideell sidan som drivs helt utan reklamintäkter, detta för att du som användare ska slippa all störande reklam och diskutera de saker du är intresserad av.
Skulle man däremot känna att man vill donera en slant för att hjälpa ComHit.net att bli bättre är ni välkomna att donera via länken nedan.

https://www.paypal.me/comhit/
Följ oss