TS Packet Checker (1 Viewer)

alexi

Portal Member
January 21, 2010
35
0
Home Country
Germany Germany
schon mal mit github gearbeitet ?

nur download zip, mehr nicht, bin aber lernfähig. Mit Unterstützung würde ich das machen, möchte den Code aber nicht verschlimmbesseren. Brauche daher jemand zum Code ansehen und testen.

bei dvbs ist es meistens qpsk bzw 8psk aber 256qam habe ich bis dato nur bei terrestrial und cable gesehen

ich habe noch 16APSK bei DBV-S/S2 gesehen.
 

KayDiefenthal

MP Donator
  • Premium Supporter
  • July 18, 2006
    1,176
    92
    45
    Germany - Bonn
    Home Country
    Germany Germany
    git ist einer sourcecode / dateien versionscontrol erleichtert das gemeinsame arbeiten am sourcecode /dateien,
    github eine platform die das anbietet

    das heißt wenn wird tspacktetchecker pflegen wollen und das team mp die änderungen annehmen möchte,
    forken wir das Project Mediaportal/Mediaportal-1 von da macht man die änderungen erweiterung
    wenn die stabil sind mach man einen pull request zum master in dem fall Mediaportal/Mediaportal-1 auf github
    da kann ein MP Team Member entscheiden ob es aufgenommen wird oder nicht, Ja das Team MP ist da der entscheider .
     

    KayDiefenthal

    MP Donator
  • Premium Supporter
  • July 18, 2006
    1,176
    92
    45
    Germany - Bonn
    Home Country
    Germany Germany
    zu deinem gefunden bug

    der befindet sich im NITParser in der methode
    Code:
    AddToNode(TreeNode cnode, bool other_network)
    da wird je nach switch case NetworkType der ModulationType gesetzt mit der Methode ModulationToStr() gesetzt
    dummerweise wird da aber nicht nach Networktype unterschieden

    man könnte es so lösen wenn man will

    Code:
    private string ModulationToStr(NetworkType networkType)
            {
                switch(networkType)
                {
                    case NetworkType.DVB_C:
                    {
                        switch (modulation)
                        {
                            case 0:
                                return "not defined";
                            case 1:
                                return "16 QAM";
                            case 2:
                                return "32 QAM";
                            case 3:
                                return "64 QAM";
                            case 4:
                                return "128 QAM";
                            case 5:
                                return "256 QAM";
                        }
                    }
                    break;
                    case NetworkType.DVB_S:
                    {
                        switch (modulation)
                        {
                            case 0:
                                return "auto";
                            case 1:
                                return "QPSK";
                            case 10:
                                return "8PSK";
                            case 11:
                                return "16 QAM";                    
                        }                  
                    }
                    break;            
                }
                return "not set";
            }

    nur das bedeuted dann aber auch das man es bei AddToNode()

    Code:
    node.Nodes.Add("Modulation: " + ModulationToStr(NetworkType.DVB_S));

    mit angeben muss
     

    alexi

    Portal Member
    January 21, 2010
    35
    0
    Home Country
    Germany Germany
    zu deinem gefunden bug

    Dein Code sieht besser aus als das, was ich programmiert habe. Kannst Du den TsPacketChecker
    forken - nicht das gesamte Project Mediaportal/Mediaportal-1 - so dass ich den TsPacketChecker als ZIP downloaden kann und Deinen Code einbauen, damit ich ihn testen kann?

    Ich möchte den TsPacketChecker verbessern, egal was Team MP entscheidet.
     

    KayDiefenthal

    MP Donator
  • Premium Supporter
  • July 18, 2006
    1,176
    92
    45
    Germany - Bonn
    Home Country
    Germany Germany
    hmm du hast doch den source und die änderungs ideen hier compilieren kannst du es doch auch
    dieses download zip bringt nichts deshalb ja die fragte ich dich ja nach github bzw github desktop
     

    alexi

    Portal Member
    January 21, 2010
    35
    0
    Home Country
    Germany Germany
    Mit meinem DVB-PC auf dem der TsPacketChecker läuft möchte ich nicht ins Internet. Auf meinem Internet-PC (Linux: Ubuntu mit WIne) stürtzt der TsPacketChecker ab. Download ZIP bringt mir sehr viel weil ich die ZIP-Datei vom Internet-PC auf den DVB-PC einfach übertragen kann. Deine Änderungs-Ideen müsste ich fehlerfrei an der richtigen Stelle einbauen. Ich gehe davon aus, dass Du das schon gemacht hast.

    Ob github desktop problemlos unter Linux läuft weiss ich nicht.
     

    KayDiefenthal

    MP Donator
  • Premium Supporter
  • July 18, 2006
    1,176
    92
    45
    Germany - Bonn
    Home Country
    Germany Germany
    gemacht ja, nur nicht im tspacketchecker ;-) sondern hier Diefenthal/SatIp-Scan-Sample
    nur nutze ich im SatIp Scan sample ja kein Treeview object wo dann die treenodes eingehängt werden, somit ist alles was treenode im tspacketchecker gebraucht wird
    da auskommentiert mal abgesehen von der ein oder anderen kleinen änderung die aber SatIp Scan Sample specifisch sind
     

    KayDiefenthal

    MP Donator
  • Premium Supporter
  • July 18, 2006
    1,176
    92
    45
    Germany - Bonn
    Home Country
    Germany Germany
    wie hier schonmal erwähnt
    kämpfe ich ja noch mit den gesplitteten Sectionen für sdt nit und eit
    weshalb ich in der Sections.cs ja SectionsNumber und LastSectionNumber rein gepatcht habe
    um überhaupt sehen zu können welche da sind und welche fehlen

    ideen dazu hätte ich ein paar aber wirklich zufrieden bin ich mit denen nicht

    die erste wirklich solange zu warten bis eine section mit sectionnumber = 0 da ist wenn die dann wird geschaut wieviele Sectionen sie hat
    und erstell dann dann ein Byte[] mit der größe von 1024 * LastSectionNumber und kopiert die sections bytes in das array
    wenn dann die nächste Section da ist schautman dann wo sie hingehört sprich if( sectionNumber < lastSectionNumber && sectionNumber > 0)
    dann wäre die ja irgendwo dazwischen dann kopiertman diese Sections bytes in das vorherangelegte Byte[]
    und last but not least If(Sectionsnumber = LastSectionNumber wäre dann der schluss auch das wieder kopieren

    das ganze wird dann einmal geparsed <- das ergebniss wäre eine Section größer als erlaubt SDT NIT usw dürfen ja nur 1024 groß sein und EIT 4096
    das würde so jeden parser aus dem konzept bringen

    zweite auserhalb des parsers es ähnlich wie oben beschrieben zu machen nur das man mehrere geparsed Sectionen hat also warten bis man alle sectionen hat aber dann hat man ein Array mit Sectionen
    die dann gelesen werden müssen vorteil die Parser bleiben gültig

    ps warum wurde MAX_SECTION_LENGTH = 4300 gesetzt und das im Sections buffer auch noch *5?
     
    Last edited:

    alexi

    Portal Member
    January 21, 2010
    35
    0
    Home Country
    Germany Germany
    mehr darum warum die SectionsNumber und LastSectionsNumber immer null sind denn so kann man leider nicht schauen ob ein Table aus mehreren Sectionen besteht

    das kann durchaus bei SDT NIT und EIT sein

    als beispiel DVBT2 Bonn Frequenz 514 die pat meldet 22 pmts und die SDT ist gesplitted in 3 (0,1,2) teile wird aber immer nur die erst gefundene genommen

    Kannt Du mal ein TS-File wo man das nachvollziehen und mit anderen Programmen analysieren kann zum Download anbieten?
     

    Users who are viewing this thread

    Top Bottom