Commercials in MPG-Stream erkennen?

Digital Recording
rolanddata
Interessierter
Interessierter
Beiträge: 21
Registriert: Donnerstag 26. Mai 2005, 11:18

Commercials in MPG-Stream erkennen?

Beitrag von rolanddata »

Hallo Tuxbox-Freaks,

kleine Idee:
Es gibt doch so einiges an Daten/Signalen, die unter Umständen erkennen lassen könnten, wann eine Sendung WIRKLICH beginnt (vielleicht analog zu dem guten alten VPS) und wann sie endet. Vielleicht könnte man gar erkennen, wenn die lästige Werbung kommt...

Der beste Ansatz wäre sicherlich irgendetwas aus dem MPEG-Strom der Anbieter auszulesen (falls da irgendwas ist...)
Ich hatte schonmal nach Veränderungen im Bild-oder Ton-Format gesucht (vielleicht typische Bitraten-Änderungen), aber nichts dergleichen war bisher zu finden.

Es gibt natürlich Tools, die einen anderen Weg gehen (so. z.B. "comskip") und den Inhalt analysieren (Szenenwechsel, Senderlogo etc.). Aber das ist alles noch ziemlich unzufriedenstellend.

Bisher habe ich nur mit dem Streaming-Server aufgezeichnet.
Frage:
Sind in den TS-Files noch mehr Infos aus dem eigentlichen TV-Anbieter-Stream zu finden?
An die Entwickler die Frage: Gibt es vielleicht Daten im Stream, die ihr "wegschmeisst", weil sie keine Relevanz haben. Könnte dort irgendwo etwas zu erkennen sein, dass die liebe DBOX gerade Werbung aufzeichnet?

Oder bin ich da völlig auf dem falschen Dampfer...

Nebenbei: TuxBox ist die absoluta Oberhärte. Ich habe noch kein so geniales OpenSource-Projekt kennengelernt. Ich bin wirklich dankbar und zutiefst beeindruckt von dieser Leistung und dem Eifer der Entwickler. :lol:
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

Du bist auf dem falschen Dampfer...

BTW: Dies ist eine immer-wiederkehrende Diskussion (sollte vielleicht mal ins FAQ)

... bei VPS gibt es das PAUSE-Signal, das fuer Werbeeinblendungen genutzt werden könnte. Aber kein Anbieter war so blöd sich seine Einnahme-Quelle kaputt zu machen (waere ich ja auch nicht) - aus wurde das Signal bei Werbung nicht gesendet.


Ansaetze die immer wieder vorgeschlagen werden:

- Ton-Dynamik Erkennung
- Lautstärkenänderung/Dynamik-Änderung
- Umschalten auf DD-Surround bei Stereo
- Umschalten auf Sourround bei DD-Sendungen
- etc.
- Bild-Folgenerkennung
- Schnelle Bildwechsel
- zulangsame Bildwechsel
- Farbänderungen im Bild
- Schwarzweisfilm wird bunt
- . blubber
- Logo-Erkennung
- blubber und bla
- ...
- Kopplung mit IRC/Internet (1000 Affen überwachen alle Sender auf Werbung)
- Joypad der Frau in die Hand geben, wenn die bei der Werbung aufwacht..


... und das ganze am besten in Echtzeit auf einem 80 bogomips Rechner


Also: Auf der dbox2 macht sowas keinen Sinn, weil viele der genannten Vorschlaege unsinnig sind (z.B. Ton-Dynamik-Aenderungen waere bei einem Actionfilm mit z.B. Explosionen bestimmt lustig...)
rolanddata
Interessierter
Interessierter
Beiträge: 21
Registriert: Donnerstag 26. Mai 2005, 11:18

Beitrag von rolanddata »

Hey rasc,

danke für die schnelle Antwort.
Ich finde es ziemlich schade, dass das Thema so eine Sackgasse ist. Tut mir leid, wenn ich da alte Kamellen neu hervorhole...
Aber die Algorithmen sind doch bereits vorhanden (siehe comskip, oder http://www.linuxtv.org/vdrwiki/index.php/Noad) und man könnte doch vielleicht ein entsprechendes Tagging in den MPEG-Streams vorsehen. Oder aber man speichert in den Log-Daten zur Aufnahme etwaige erkannte Werbepause-Zeiten.

So könnte man wenigstens automatisch entsprechende Chapters in einer DVD erzeugen und die Werbung beim gucken "skippen".

Hach, wenn man die Werbung nicht immer selbst schneiden müsste...
Das wär doch soooo schööön... :(
KeXXeN
Tuxboxer
Tuxboxer
Beiträge: 2634
Registriert: Samstag 15. November 2003, 09:00

Beitrag von KeXXeN »

Schau dir doch einfach mal die Spezifikationen der Box an.
Dann wirst du ganz schnell selber erkennen das die Performance einfach nicht ausreichend ist.
Das hat rasc ja oben schon angedeutet.

Wenn es dir allerdings nur darum geht die Werbung später komfortabel raus zu schneiden so ist das eigentlich kein Problem.
Teilweise, mit Audio oder Formatumstellung kann das UDrec auf dem PC schon wärend der aufnahme.
ProjektX kann nachträglich alle nicht 16:9 Frames rausschneiden.
cuttermaran erkennt selbsttätig Audio und Videoumstellungen und kann damit Schnittlisten erstellen.
Es gibt nachträglich Schnittlisten die man aus dem Internet ziehen kann...

An Möglichkeiten hapert es ja nicht.
Nur kann die Box halt nicht alles.
Ein wenig Arbeit bleibt für dich halt auch übrig.
Zu Fragen oder Nebenwirkungen der hier genannten Begriffe benutzen sie bitte die Suchfunktion oder konsultieren sie die [url=https://tuxbox.org/forum/viewforum.php?f=26&] Frequentliy Asked Questions[/quote].
FatalError
Einsteiger
Einsteiger
Beiträge: 375
Registriert: Montag 26. August 2002, 21:58

Beitrag von FatalError »

rasc hat geschrieben: - Kopplung mit IRC/Internet (1000 Affen überwachen alle Sender auf Werbung)
Also: Auf der dbox2 macht sowas keinen Sinn, weil viele der genannten Vorschlaege unsinnig sind
Warum unsinnig? Der genannte Vorschlag lässt sich sicherlich realisieren :lol:
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Hmm - ich hab da eine ganz einfache Möglichkeit (supported by Ish!) - keine Kanäle, auf denen diese Dauerwerbesendungen mit Programmunterbrechungen laufen schauen bzw. aufnehmen. Ich persönlich zahl lieber meinen Obulus an Premiere oder auch an Ish und erspare mir den ganzen Ärger mit den Commercials. Allerdings nutze ich TV auch recht selektiv, Langeweile kenne ich nicht und wenn ich wirklich keine Lust hab was konstruktives zu tun, setze ich mich lieber an den Rechner, als vor die Glotze. Und tolle Spielfilme leih ich mir ehr aus einer Videothek(DVD) aus, als mir diese verhackstückelten Klamotten anzuschauen, die übrigbleiben, wenn Sender wie RTL und Co. sie in ihre Dauerwerbeprogramme reingeschnipselt haben. Traurig ist nur, das ich, da ich auch recht selten ins Kino gehe, oft recht witzige Werbespots verpasse. Aber durch das Internet wird man ja mittlerer Weile auch auf sowas hingewiesen, bzw. bekommt sowas dann auch direkt vom Hersteller als DRM-Datei zum runterladen.
cu
Jens
TheGenesis
Interessierter
Interessierter
Beiträge: 35
Registriert: Samstag 8. Juni 2002, 02:46

Beitrag von TheGenesis »

Naja ... so ganz unsinnig sind Schnitterkennungen auf der dBox nicht ...

RTL zum Bleistift sendet gerne mal (NICHT überall) vor und nach der Werbung eine winzig kleine Pause im Audiostream (0-Dezibel Block).

Ist wahrscheinlich der Azubi vom Cutter schuld ... ihr müßt mal spasseshalber die einzelnen Frames vor und hinter einer Werbung öfters mal begucken ... da sind teilweise Sachen drin :D

So eine 0-Dezibel Erkennung müßte die Box doch verkraften ... soviele Audioformate gibts ja nu mal nich.

Gruß
Thom
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

öh, muss die Box das wirklich verkraften?

Mal nachdenken. Dazu muss die Box den Audio-Stream in Software dekodieren. Da hat die Box dennoch heftig daran zu knappern...
TheGenesis
Interessierter
Interessierter
Beiträge: 35
Registriert: Samstag 8. Juni 2002, 02:46

Beitrag von TheGenesis »

naja ... ist denn da nicht mehr genug power übrig um in der stream2file.cpp den Stream im Ringbuffer zu zerlegen und in den Audio-PES mal eben ein paar (viele) Nullen rauszusuchen ?

Mhmmm ... so hoch ist bei mir die CPU-Auslastung beim streamen garnicht.

Gruß
Thom
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

Naja, beim streamen wird ggf. sogar der EPG abgeschaltet um resyncs zu vermeiden. Ich denke eine MPEG-Audio-Decodierung kostet etwas mehr Performance als der EPG.

Selbst bei einer mp3-Decodierung nudelt die Box ja schon grenzwertig.
Ich hab mich nie in der Tiefe mit dem Mpeg-Audio-Layer befasst, aber sind das wirklich "Nullen" die da gesendet werden, oder eher ein komprimiertes Format?

Mal Ernst gesprochen: die PowerPC-CPU ist zwar einer Intel-CPU bei gleichem Takt um einiges überlegen (IMO), aber mit 66 MHZ kommt man eben auch bei guten CPUs nicht sehr weit.

Und zum Vergleich: die Plugins vom VDR (siehe oben) nudeln normalerweise auf GHZ-Kisten rum (oder zumindest im oberen dreistelligen MHZ-Bereich)...

Es tut uns auch leid dass Premiere die Box damals halt primär zum "TV gucken" entwerfen lassen hat (aber das klappt zumindest ganz gut).

Eine Dreambox duerfte das eher schaffen...
TheGenesis
Interessierter
Interessierter
Beiträge: 35
Registriert: Samstag 8. Juni 2002, 02:46

Beitrag von TheGenesis »

Hab gerade nochmal in meine Katakomben geschaut. Du hast recht. Es sind keine wirklichen Nullen.

Man müßte also tatsächlich die MP2-Audio-PES erst dekodieren. Das ist zwar vom Algo her weniger CPU-Belastend, als MP3 ... aber wenn Du sagst, das die EPG-Abfrage schon die Kiste sprengt ...

mhmmm ... :gruebel: ... nu hab ich aber auch nicht geschaut, wie das EPG auslesen geprogged wurde :wink:

Aber ohne große Belastung machbar wäre die Umschaltung zwischen den einzelnen Audio/Video -Formaten zu erkennen ... die stehen nämlich im PES-Header.

Ich würd mich der Sache ja annehmen, aber ich kann C leider nur lesen und mit VB, PL-SQL und Cobol kann die Box sicher nix anfangen, oder ? :P

Gruß
Thom
DieMade
Oberlamer, Administrator & Supernanny
Beiträge: 10532
Registriert: Samstag 13. Juli 2002, 10:49

Beitrag von DieMade »

PL/SQL, hmmmm - embedded Oracle auf einer STB, nette Idee 8)
There are 10 types of people in the world: those who know binary and those who don't
rasc
Senior Member
Beiträge: 5071
Registriert: Dienstag 18. September 2001, 00:00

Beitrag von rasc »

TheGenesis hat geschrieben:
Aber ohne große Belastung machbar wäre die Umschaltung zwischen den einzelnen Audio/Video -Formaten zu erkennen ... die stehen nämlich im PES-Header.

Ich würd mich der Sache ja annehmen, aber ich kann C leider nur lesen und mit VB, PL-SQL und Cobol kann die Box sicher nix anfangen, oder ? :P

Gruß
Thom

1.) die PES-Headerauswertung bedingt aber immer noch, dass der Audio-Stream in den User-Space kopiert werden muss, das kostet halt Performance.

2.) Wenn man eine Programmiersprache kann, kann man auch eine andere lernen. Oder wo ist er wirklich signifikante Unterschied ziwschen Cobol und Basic? Die Instruktions heissen etwas anders und die Variablen Definitionen und Deklarationen sehen etwas anders aus. Aber nichts was man nicht lernen kann...

8)
bodor
Interessierter
Interessierter
Beiträge: 21
Registriert: Dienstag 6. August 2002, 09:35

Beitrag von bodor »

Es gibt doch so einen kommerziellen Service, der für DVBT bereits nachträglichen Schnitt anbietet - nach ein paar Stunden oder gleich nach der Sendung wird auf deren Page dem Client eine Cut-Liste zur Verfügung gestellt und diese dann für die automatische Nachbearbeitung herangezogen.

Sowas sollte sich doch für uns auch programmieren lassen?
gez. BodoR