Noad-Plugin@VU+: (Forschungs-Thread) Automatische Erkennung von Werbeblöcken in Aufnahmen.

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Okay. Dann scheint das in der tat ausgeschlossen.
      Ich stehe imübringen für fast jede schandtat bereit ;.)
    • Hallo zusammen,
      mich wudert etwas der Rechenleistungsbedarf, und erinnert mich an eine anfängliche Diskusion bei einem entsprechenden Topfield TAP.
      Zuerst war unheimlich Rechenleistung notwendig um die Werbung zu erkennen, später hatte der Programierer eine geniale Idee umd den Scan zu beschleunigen. Danach dauerte der Scan und das Markieren der Werbeblöcke nur mehr wenige Sekunden.
      Ich hätte einen Link und den Sourcecode zu dem TAP für den Topfield. Das Posten ist glaube ich nicht gestattet.

      Das TAP für den Topfield heißt "OVERFLY 0.74" und funktioniert durch Erkennung der Ton und Bildformatwechsel.

      Gruß
      Wolfgang
    • Schick mir mal den Link und die Software per PN, bitte.
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • ... bin leider schon bei der Installation gescheitert.

      Quellcode

      1. root@vuuno:/tmp# opkg update
      2. ...
      3. root@vuuno:/tmp# opkg install libbz2-1_1.0.5-r2_mipsel.ipk
      4. Installing libbz2-1 (1.0.5-r2) to root...
      5. Collected errors: * Package libbz2-1 md5sum mismatch. Either the opkg or the package index are corrupt. Try 'opkg update'.
      6. * Cannot find package libbz2-1.
      "Ein Computer macht nix, ohne dass man seine Gedanken anstrengt."
      (Volksmund, Berner Oberland, Schweiz)
    • Original von paulbrender
      ... bin leider schon bei der Installation gescheitert.

      Quellcode

      1. root@vuuno:/tmp# opkg update
      2. ...
      3. root@vuuno:/tmp# opkg install libbz2-1_1.0.5-r2_mipsel.ipk
      4. Installing libbz2-1 (1.0.5-r2) to root...
      5. Collected errors: * Package libbz2-1 md5sum mismatch. Either the opkg or the package index are corrupt. Try 'opkg update'.
      6. * Cannot find package libbz2-1.


      Neu booten und KEIN OPKG UPDATE ausführenl, sondern direkt die libz2 installieren. ABER:

      Im Moment tut das Plugin nicht ganz, was es soll, daher brauchste es nicht installieren. Da muss noch ein Bugfix gemacht werden.
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • habe ich bereits nach dem ersten Fehlversuch getan, Filezilla meldet auch, das alles OK ist.

      Quellcode

      1. Befehl: TYPE I Antwort: 200 Switching to Binary mode.
      2. Befehl: PASV Antwort: 227 Entering Passive Mode (192,168,0,104,99,149)
      3. Befehl: STOR libbz2-1_1.0.5-r2_mipsel.ipk
      4. Antwort: 150 Ok to send data.
      5. Antwort: 226 File receive OK.


      wie soll denn der Wert der md5sum sein?

      oops die Antworten liefen über kreuz. Ok ich warte erstmal.
      "Ein Computer macht nix, ohne dass man seine Gedanken anstrengt."
      (Volksmund, Berner Oberland, Schweiz)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von paulbrender ()

    • Original von woda
      später hatte der Programierer eine geniale Idee umd den Scan zu beschleunigen. Danach dauerte der Scan und das Markieren der Werbeblöcke nur mehr wenige Sekunden.

      NoAD wurde ja ursprünglich für die normale PC-Plattform (genauer für VDR) entwickelt. Daher ist es nicht so extrem optimiert.
      Auf meinem 'alten' VDR der gerade mal einen Pentium3 900MHz hat läuft das ganze bei SD-Aufnahmen in Echtzeit. Ist also mit der Mipsel-Plattform der Dream/VU+ nicht zu vergleichen.

      Noad ist vor allem deswegen langsam weil es den kompletten Audio- und Video-Stream zum analysieren dekodieren muss.

      Was denkbar wäre um das ganze deutlich zu beschleunigen wäre nur die Keyframes (I-Frames) eines kompletten GOP zu dekodieren. Das macht die Analyse aber schwieriger.. zum Vergleich: versuch mal ein Auto das mit 100km/h unterwegs ist zu lenken wenn du nur alle 7sekunden einmal kurz die Augen öffnen darfst :)

      Denkbar wäre aber durchaus eine Misch-Methode, welche quasi 'lookahead' mit einem gröberen Klassifikator die Features der I-Frames scannt, und wenn der Treffer meldet dann diesen Bereich komplett zu dekodieren und mit einem zweiten, genaueren Klassifikator zu scannen.
      Denkbar wäre da z.B. die Features alle in einem n-dimensionalen Raum aufzuspannen und mit einem K-Next-Neighbour Verfahren Änhlichkeiten zu erkennen. Für die beiden Stufen kann man dann den K-Wert oder auch die verwendete Norm anpassen.
      Freiwillige, welche sich gut mit ffmpeg und Featureerkennung auskennen vor :D




      Eine ganz andere Sache die in dem Zusammenhang (Werbung erkennen) interessant ist wäre das Projekt sharemarks.
      Auch das kommt aus der VDR-Ecke.
      Grundidee ist, das alle User im Endeffekt die exakt gleiche Aufnahme auf ihrer Platte haben (alle Streams vom Sateliten sind identisch, größtenteils auch die Kabel-Stream). Wenn nun ein User die Werbung markiert (manuell oder per NoAD) kann er die Schnittmarken Framegenau (PES-Zeitstempel) auf einen Server laden, entweder automatisch oder manuell über das Menü.
      Andere User können sich diese Marken dann einfach downloaden und damit ihren Schnitt starten.
      Link ins VDR-wiki
      PN Nachrichten habe ich aus bequemlichkeit deaktiviert. Aber ich beantworte gerne auch EMails :)
    • Interessant! :D

      Im IHAD hatten wir mal das "Logomine"-Konzept diskutiert und auch experimentell ausprobiert:

      - schneller atmolighdt Grabber
      - Daten differenzieren (1. Ableitung) (ergibt das Logo, da sich dort die Daten kaum verändern)
      - Logo-Daten in den Algo "gleitender Mittelwert"

      => und schon kommt man live in der Shell das Logo mitverfolgen, z.B. das V O X.

      Habe es aus Zeitgründen nicht weiterverfolgt, aber sowas ging "live" auf der Box.

      :D

      Wenn man das nun mittels Sharkmarks weiter optimiert, könnte man was schlagfertiges bauen.

      Mamba
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • da ist mir gerade noch was zu eingefallen:
      NoAD ist schon veraltet, die VDR-Community nutzt aktuell markad.
      vdr-wiki.de/wiki/index.php/Markad

      Die sind schon so clever von dem YUV-Video Format (typischerweise 4:2:2 bei mpeg) nur den Y-Teil zu dekodieren und zu verwenden. Das spart auch ne Menge Zkylen.

      Logo-Erkennung ist wie beschrieben schon relativ einfach. Einfach mit einem passenden Kernel multiplizieren, der kann gleichzeitig glätten und differenzieren :)
      Allerdings taugt das Logo nicht gut zur genauen Erkennung. Man achte mal darauf wann genau das Logo erscheint: Teilweise geht es schon vor der Werbung weg, oder ist während der ersten Sekunden der Werbung noch sichtbar.
      Auch solche 'Inline'-Werbung (Rahmen mit Senderlogo bleibt stehen) ist damit garnicht zu erkennen. Die von Pro7 verwendete Technik (Logo schwebt langsam ein) kann man mit reiner Logoerkennung leider auch nicht dedektieren.

      Daher ist der kombinierte Ansatz (Bildformat, Tonformat, Logo) doch schon derjenige der besser tut.
      Gerade Bild- und Tonformat müsste man eigentlich auch ganz locker realtime aus den dekodern auslesen können ;)

      Wenn du dich für die Mathematik (quasi Algos) interessierst kann ich dir auch ein paar Bücher zukommen lassen welche ich noch vom Studium übrig habe. Quasi solche Titel wie 'pattern and speech recognition'.
      PN Nachrichten habe ich aus bequemlichkeit deaktiviert. Aber ich beantworte gerne auch EMails :)
    • Das mit der Tonerkennung (zumindest die Logik mittels Lautstärkesprünge) wird nicht mehr lange funktionieren, da die Sender sich ja zu einer freiwilligen Selbstverpflichtung (ab 2013?) durchgerungen haben.

      Das mit dem wandernden Logo würde gehen, dann wenn man schnell genug differenziert, kann man das erkennen. Zumindest erscheint ein normales Bild als "Rauschen" im Vergleich zu einem langsam wandernden Logo.

      Naja .. wie schon so oft gesagt: man kippe einen Berg Zeit über uns aus. ;)
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • Im Moment nicht. Aber sicher bald wieder.
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • Man muss die Marker also mit dem Cutlisteditor bearbeiten lassen. Automatisch baut er die wohl nicht ein. Nicht wirklich schlimm. Muss man nur wissen. ;)

      Originally posted by aladin25
      Original von mamba0815
      Was anderes: ich habe nun einige Movies durchrechnen lassen (sie erscheinen in der "fertig.txt"), aber er scheint keine cut-marker einzufügen, d.h. ich sehe keine im Movie-Modus. Wo kann ich nach dem Fehler suchen?


      Hi,

      die Schnittmarken werden nur im Schnitteditor angezeigt. Das geht so, video Taste - Aufnahme auswählen - Menütaste tippen - Schnitteditor auswählen.

      Wenn dort keine Schnittmarken zu sehen sind, ist etwas nicht in Ordnung. Dann könnte eventuell die Logdatei mir etwas sagen. Die Log-Datei ist unter /media/hdd/noad/files zu finden.

      Viel Erfolg

      Aladin
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • Also ... noad funktioniert bestens.Siehe Screenshot anbei (Schnitteditor). Die Sprungmarken sind recht gut getroffen. Nun muss man nur noch "Execute cuts" aufrufen, um die "cuts" permanent zu machen.

      Mamba
      Dateien
      • screenshot.jpg

        (46,01 kB, 758 mal heruntergeladen, zuletzt: )
      • screenshot1.jpg

        (154,74 kB, 709 mal heruntergeladen, zuletzt: )
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • hab Noad installiert und natürlich neu gestartet doch jedes mal wenn ich auf "Noad-->Noad Einstellungen" geh stürzt die Box ab...

      kann mir jemand sagen wo der Fehler liegt???
      Dateien

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Galax ()

    • IOError: [Errno 2] No such file or directory: '/hdd/noad/files/noad.conf'

      Er kann, warum auch immer, nicht auf das Verzeichnis /hdd/noad zugreifen. Kuck mal, ob es existiert und ob darin ein weiteres Verzeichnis namens "files" exitiert. Wenn nein, lege es an mit "mkdir /hdd/noad" und "mkdir /hdd/noad/files".

      Mamba
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • Wie weit ist das Programm, wann gibt es die final Version?
      Würde es gerne testen, wo kann man das plugin runterladen.