Sorry, davon hab ich noch nie was gehört.Aber es soll über OpenTV gehen. Leider sagt mir dieser Begriff nicht viel. Ist das so was ähnliches wie MHP, bzw. ist das eine Art EPG das man auch auslesen kann. Da muss ich jetzt echt mal Grundlagen büffeln. Vielleicht einen Tip, wo man sich da informieren kann??
Da musst Du unbedingt aufpassen, wenn du auch andere Sender als die MCE Kanäle aufnehmen möchtest, was kein Problem darstellt, wenn man es von Anfang an berücksichtigt. In dem geposteten Code ist das mit drin. Einfach die Paketlänge beobachten und auch auswerten, ob diese mit den empfangenen Bytes übereinstimmt.Ich hab ja auch schon ein Tool, dass ein bereits vorhandenes Pes-file nach "FF FF FF FF FF FF FF FF FD A0" (hoffe die Anzahl der "FF" stimmt, weiss die jetzt nicht auswendig) durchsucht. Dann hab ich einfach ein paar bytes vorher abgeschnitten. Eben bei 00 00 C0..
Also das ist kein Problem.
Außerdem musst Du berücksichtigen, dass sowas
00 00 01 c0 27 1f 82 80 0c 2d a6 a9 ae af ff ff ff ff ff ff ff
ca. alle 10.000 Bytes kommt und in eine MP2 Datei nicht hineingehört. Also genügt es nicht nur nach "FF FF FF FF FF FF FF FF FD A0" und 00 00 C0 zu suchen!
Bei der Überprüfung der Stream.mp2 mit einem Hexeditor hab ich festgestellt, dass Frames dabei sind, die zu lange sind. Sprich es stimmt die Länge der empfangenen Bytges nicht mit der gesendeten Framelänge überein. Das könnte daran liegen, dass der Buffer zu schnell abgefragt wird und nicht genügend Daten auf der Box vorhanden sind um diesen Buffer komplett zu füllen. So werden vorher im Buffer befindliche Daten nicht neu überschrieben und gelawerden dadurch erneut in die PES Datei geschrieben. Allerdings muss ich zugeben, dass ich das Winsock Steuerelement nicht kenne.
Das Problem mit zuvielen Daten hatte ich nämlich auch und bei einem kleinen Buffer waren nur wenige Knackser drin. Krass war es erst bei einem größeren Buffer. Da wurden plötzlich Teile wiederholt. War wirklich interessant anzuhören
![Smile :-)](./images/smilies/icon_smile.gif)
Das Problem hab ich durch byteweises Befüllen des Buffers gelöst.
Cu leth