[ANNOUNCE] markad v0.0.7

  • Hallo,


    hier nun die offizielle Version von markad, läuft bei mir nun schon seit Monaten fast ohne Probleme ;)


    markad versucht die Werbung einer Aufnahme zu markieren. Es kommt mit allem zurecht, ob PES/TS (.vdr/.ts), ob H262 oder H264 (SD/HD). Das bedeutet es werden Marken auch für HD-Aufnahmen gesetzt!


    Ausschlaggebend für die Entwicklung war folgender Thread/Post: http://vdr-portal.de/board/thr…?postid=837862#post837862


    markad kommt in zwei Teilen daher: Ein Plugin und ein Standalone-Programm (war früher nur ein Plugin, das schränkte mich aber zu sehr ein)


    Das Standalone-Programm kann als Drop-In-Replacement für Noad verwendet werden (oder auch nicht..). Die Kommandozeilenparameter sind von Noad übernommen mit einem Unterschied: Bei Noad musste man als Anwender immer wissen was getan sollte, bei markad weiss markad (also im Endeffekt ich) am Besten was getan werden sollte, d.h. die meisten Optionen sind angeschaltet und können bei Bedarf abgeschaltet werden.


    Wird das Plugin verwendet, dann kann man markad damit überwachen, pausieren und weiterlaufen lassen. Desweiteren können im Setup verschiedene Optionen des Standalone-Programms ein- und ausgeschaltet werden sowie das Startverhalten festgelegt werden.


    Standardmäßig wird das Standalone-Programm in /usr/bin installiert, Logos werden aus /var/lib/markad gelesen.


    Liegt für einen Sender kein Logo vor (erkennbar in den Logdateien), so kann aus einer Aufnahme mittels -L ein Logo extrahiert werden. Die Dateien werden dann ins /tmp-Verzeichnis gespeichert wo man dann ein Geeignetes heraussuchen muss. Das ist nun nicht so komfortabel, aber im schlimmsten Fall kann auch ich eins machen (sofern ich den Sender empfange, ansonsten eben über Dateien). Für einige Sender müssten Logodateien dabei sein.


    Um es aber gleich vorweg zu nehmen: Reine Logoerkennung ist ganz schön abhängig vom Logo und vom Sender. Bei Vox z.B. wird oftmals noch ein Spot mit Logo gesendet, bei Pro7 oder RTL2 ist das Logo erst Sekunden später am rechten Platz. Kabel1 hat das beschissenste Logo ;)


    Was kann markad nicht: Erkennung von Überlappungen, AudioSilenceDetection (ist aber schon drin).


    Was ich auch schonmal getestet habe: Lautheitserkennung. Ist aber nicht genau genug.


    Hier der Link zum Source: http://projects.vdr-developer.…cts/list_files/plg-markad


    Bei yaVDR gibt es ein ziemlich aktuelles Paket, bei ctVDR muss noch ein Update gemacht werden.


    Bugreports bitte immer mit Log (wenn vorhanden)...


    Gruß


    Joe_D

  • Danke estmal für das Update. ;)


    Aber mal eine andere Frage: Könnte man mit dieser Technik nicht so was wie ein "Werbezapper Plugin" realisieren? Zumindest mal wenn mehr als eine DVB Karte vorhanden und frei ist?

  • @C3-PO


    Dazu müsste der Stream der gerade live geschaut wird online gescannt werden. Für HDTV ist das zur Zeit nicht möglich. Und bei SDTV kommt es dann ganz arg auf die vorhandene Rechenpower an.


    Gruß


    Joe_D

  • hi,


    habe mal versucht die aktuelle version zu compilieren aber das standalone programm wird nicht erstellt



    auf anhieb kann ich nicht sehen warum es nicht geht - irgendwelche depedencies zu ffmpeg nich nicht geprüft werden?

  • Hallo,


    Zitat

    Original von Joe_D
    Und bei SDTV kommt es dann ganz arg auf die vorhandene Rechenpower an.


    Bei NoAD gibt es ja einen Live-Modus. Der schaffte es damals bei meinem Celeron 600 schon, wenn ich mich recht entsinne.
    Man muss sicher ja auch nicht jedes Frame ansehen, sondern jede Sekunde oder so.



    Aber mal eine allgemeine Frage:


    Kannst du mal die Vor/Nachteile/Features von NoAd und Markad gegenüberstellen?


    Ach so: Und natürlich vielen Dank für deine Arbeit!


    Gruß,
    Hendrik

  • henfri


    Zitat

    Bei NoAD gibt es ja einen Live-Modus. Der schaffte es damals bei meinem Celeron 600 schon

    Wie meinst Du das? Schaffte es den Prozessor auszulasten oder schaffte es die Schnittmarken zu setzen?


    Bei Markad gibt es genauso wie bei Noad einen Modus das während einer Aufnahme Marken gesetzt werden, einen Modus das nach einer Aufnahme Marken gesetzt werden und sogar einen dritten Modus (habe ich aber nie richtig ausprobiert) der nur Marken setzt wenn der VDR gerade nichts anderes aufnimmt oder (optional) abspielt. Sozusagen um Last zu verhindern.


    Es wird übrigens nicht jedes Frame ausgewertet, sondern nur I-Frames. Ebenso werden nur I-Frames dekodiert (soweit möglich und nötig [wird dynamisch an- und abgeschaltet]).


    Zitat

    Kannst du mal die Vor/Nachteile/Features von NoAd und Markad gegenüberstellen?

    Markad kann weniger als Noad - das Wenige aber auch mit HDTV, Vor/Nachteile kann ich leider nicht sagen, da ich nur Markad verwende (und zudem auch nur für SDTV). Features sind wie schon geschrieben HDTV-Unterstützung, dann die Möglichkeit markad nur laufen zu lassen wenn keine Aufnahmen laufen, das Ignorieren von Marken im Bereich des Vor- und Nachlaufs ... Das sind aber alles Dinge die sich so ergeben haben um die Grundfunktionalität zu erhalten.


    IG88


    Kannst Du mal ein

    Code
    #include <errno.h>

    in markad-standalone.h einfügen (ganz oben)?


    Gruß


    Joe_D

  • gelöscht...

    Einmal editiert, zuletzt von Taipan ()

  • Hallo,


    ich habe mit dem Plugin folgendes Problem(chen), und zwar verschiebt sich der Text nach links aus dem OSD so, dass man nicht mehr lesen kann welcher Film gerade bearbeitet wird. Es sieht bald so aus als ob der Text "zentriert" und nicht "linksbündig" ausgerichtet ist, wenn man das so sagen kann. Gibt es da eine Einstellmöglichkeit um dies zubeheben?

    Gruß Daniel




    yavdr64 0.4.0 -- VDR 1.7.21
    Point Of View ION-MB330-1 Mainboard Sockel Intel Atom 330, Nvidia GeForce 9400M 4 Gbyte DDR2 Speicher, 16 GByte SSD Festplatte 4 TByte DS 211j Server
    X10 Funkfernbedienung und vdrremote (iPhone) Logitech Harmony 650, DVB-S2 TerraTec Cinergy S2 HD PCI, Leistungsaufnahme: 34 Watt

  • DanielH


    Also die Ausrichtung wird in menu.cpp gemacht und zwar ab Zeile 56ff:


    Bitte mal damit ersetzen:


    @C-3PO


    Warum gibts bei Dir soviele Warnings? Ich verwende den g++ 4.4.3 unter Debian und bekomme die alle nicht? Kannste mal diese Version http://projects.vdr-developer.…ee9ad65d128dab77aa;sf=tgz ausprobieren? Da habe ich auch den xgettext-Fehler behoben.


    Gruß


    Joe_D

  • Danke, ich probieres heute abend aus, und gebe dir dann morgen bescheid.

    Gruß Daniel




    yavdr64 0.4.0 -- VDR 1.7.21
    Point Of View ION-MB330-1 Mainboard Sockel Intel Atom 330, Nvidia GeForce 9400M 4 Gbyte DDR2 Speicher, 16 GByte SSD Festplatte 4 TByte DS 211j Server
    X10 Funkfernbedienung und vdrremote (iPhone) Logitech Harmony 650, DVB-S2 TerraTec Cinergy S2 HD PCI, Leistungsaufnahme: 34 Watt

  • Zitat

    Original von Joe_D
    [...]
    @C-3PO


    Warum gibts bei Dir soviele Warnings? Ich verwende den g++ 4.4.3 unter Debian und bekomme die alle nicht? Kannste mal diese Version http://projects.vdr-developer.…ee9ad65d128dab77aa;sf=tgz ausprobieren? Da habe ich auch den xgettext-Fehler behoben. ...


    Mit der aktuellen Version aus dem git sieht es dann so aus:


    --> http://pastebin.com/qGTFC7VK


    Code
    vdr01 markad # gcc -v
    Es werden eingebaute Spezifikationen verwendet.
    Ziel: i686-pc-linux-gnu
    Konfiguriert mit: /tmp/portage/sys-devel/gcc-4.3.4/work/gcc-4.3.4/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.3.4 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.4 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.4/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.3.4/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --disable-fixed-point --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-multilib --enable-libmudflap --disable-libssp --enable-libgomp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,treelang,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.3.4 p1.1, pie-10.1.5'
    Thread-Modell: posix
    gcc-Version 4.3.4 (Gentoo 4.3.4 p1.1, pie-10.1.5)
    vdr01 markad #
  • Hallo Joe_D


    kann die Datei menu.cpp nicht finden, in welchem Verzeichnis muss ich suchen?

    Gruß Daniel




    yavdr64 0.4.0 -- VDR 1.7.21
    Point Of View ION-MB330-1 Mainboard Sockel Intel Atom 330, Nvidia GeForce 9400M 4 Gbyte DDR2 Speicher, 16 GByte SSD Festplatte 4 TByte DS 211j Server
    X10 Funkfernbedienung und vdrremote (iPhone) Logitech Harmony 650, DVB-S2 TerraTec Cinergy S2 HD PCI, Leistungsaufnahme: 34 Watt

  • Zitat

    Original von DanielH


    kann die Datei menu.cpp nicht finden, in welchem Verzeichnis muss ich suchen?


    vdr-plugin-markad/plugin/menu.cpp


    bei mir war die Anzeige auch nach links verschoben, mit der obigen Änderung passt es jetzt.


    Warnungen beim Kompilieren hatte ich keine.


    Joe_D. vielen Dank !!!


    Gruß
    Tomas

  • Hallo,


    den Ordner vdr-plugin-markad gibt es bei mir nicht, und unter plugin gibt es die Datei menu.cpp nicht.

    Gruß Daniel




    yavdr64 0.4.0 -- VDR 1.7.21
    Point Of View ION-MB330-1 Mainboard Sockel Intel Atom 330, Nvidia GeForce 9400M 4 Gbyte DDR2 Speicher, 16 GByte SSD Festplatte 4 TByte DS 211j Server
    X10 Funkfernbedienung und vdrremote (iPhone) Logitech Harmony 650, DVB-S2 TerraTec Cinergy S2 HD PCI, Leistungsaufnahme: 34 Watt

  • hi Joe,


    nun hab ich mal mit einem Film die offline-version von markad getestet.
    noad lief mal über den film (die aktuelle version raucht dabei ab) und hat eigentlich sehr gute schnittmarken gesetzt, markad scheint laut log die werbung zu kurz zu sein.
    Sender war VOX, SpiegelTV sendung die über 3h ging.


    positiv: markad ist inzwischen gleich schnell wie noad :D


    die noad-marken:


    die markad-marken:

    Code
    0:00:00.01 start of recording (0)
    0:32:33.16 detected logo stop (48840)
    0:39:51.22 detected logo start (59796)


    das markad-log:


    kann ich die logo distance irgendwie beeinflussen?


    >>>Cyber

    Hardware: Lex Twister (CI945A), Core2Duo T7200 (2x2.0GHz), 2GB SO-DDR2, 2x8GB SSD & 2x2TB WD SATA-HDD (jew. RAID1), Terratec Cinergy 1200 DVB-C
    Software: Debian Squeeze, Kernel 3.6.6
    VDR: etobi's vdr (1.7.X), recording-only; plugins: streamdev-server,dummydevice; addons: XXV, markad, projectX

  • _Cyber_


    Cool, die erste Rückmeldung zur eigentlichen Funktion ;)


    Zitat

    markad: [30090] processed time 3867.65s, 337381 frames, 87.2 fps, 3.5 pps

    Wow, deine Maschine ackert sich ja ganz schön ab!


    Zitat

    kann ich die logo distance irgendwie beeinflussen?

    Leider nein, das ist in dieser Version noch etwas buggy, wäre schön wenn Du die aktuelle GIT-Version (http://projects.vdr-developer.…cd6b13750d2a53c6bb;sf=tgz) nochmals drüberlaufenlassen könntest...


    Welches Logo verwendest Du? "Meins" oder ein eigenes? Logoerkennunng ist leider stark vom Logo abhängig ;(


    Gruß


    Joe_D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!