Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Problem mit 'append language code to Filename'
#1
Hi,

Ich würde gerne die Sprache der Audio-Spur exportieren. Hierzu habe ich die 'append language code to Filename' option gefunden (dank der Forum-Suche). Leider funktioniert es nicht mit meinen TS Dateien. VLC kann die Sprachen jedoch richtig anzeigen. Ich benutze die aktuelle CVS Version (07.11.2012) unter Linux.

Ich habe es soweit debugged:
- Scan.readPMT springt über den Bereich mit den Sprachen.
Das Problem konnte ich mit der folgenden Änderung beheben:
Alt:
Code:
for (int b=8, r=8; b < pmt_len-4 && b < pmt.length-6; b++)
{
   r = b;

   if ( (0xe0 & pmt[b+1]) != 0xe0 )
     continue pidsearch;
Neu:
Code:
for (int b=12; b < pmt_len-4 && b < pmt.length-6; b++)
{
   int r = b;

   // if ( (0xe0 & pmt[b+1]) != 0xe0 )
   // continue pidsearch;
Zusätzlich:
Code:
case 0:
   getDescriptor(pmt, b+5, (b += 4+ (0xFF & pmt[b+4])), pid, 0);
   pidlist.add("" + pid);
   break;
Hintergrund:
Laut Dokumentation fängt der erste Descriptor ab Position 12 an. Ohne die Änderung wurde ein unbekannter Descriptor ab position 10 'erkannt'. Letztending führte das zum Überspringen des Descriptors mit der Sprachinformation.

Die anderen zwei Zeilen mussten auch auskommentiert werden da ansonsten die Position 12 übersprungen wurde.

Dann musste auch noch 'case 0' hinzugefügt werden.

Nach der Änderung wurde die Sprache erkannt. Allerdings ist die PID 532, während die Audio PID in StreamMultiplexer.close 5201 ist. Ich bin mir nicht sicher wie das Problem weiter behoben werden kann. Daher kann die Sprache nicht gefunden werden.
VLC zeigt 5201 an.
pmt ist hier:
[0, 2, -80, 53, 3, -24, -63, 0, 0, 20, 80, -16, 0, 2, 20, 80, -16, 9, 7, 4, 8, -128, 36, 2, 17, 1, -2, 4, 20, 81, -16, 6, 10, 4, 101, 110, 103, 0, 6, 20, 84, -16, 10, 89, 8, 101, 110, 103, 0, 0, 0, 0, 0, -56, -40, -56, 127, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]

In einem anderen Fall ist 'elementary PID' 521, aber die audio pids sind 2316 (eng) und 2317 (NAR). Hier kommt zwar 'NAR' im PMT vor, wird aber nicht erkannt.
pmt ist hier:
[0, 2, -80, 64, 3, -24, -63, 0, 0, 9, 11, -16, 0, 2, 9, 11, -16, 9, 7, 4, 8, -128, 36, 2, 17, 1, -2, 4, 9, 12, -16, 6, 10, 4, 101, 110, 103, 0, 4, 9, 13, -16, 6, 10, 4, 78, 65, 82, 0, 6, 9, 15, -16, 10, 89, 8, 101, 110, 103, 0, 0, 0, 0, 0, 16, 92, -27, -120, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1]

In der PMT kommen ja die audio pids vor, allerdings für den typ 0xFE. Im Fall von NAR überlappt sich das mit der Länge vom nächsten Descriptor. Vielleicht ist das ja nur ein Zufall.

Watscheinlich mache ich hier etwas falsch.

Zusätzlich hatte ich auch schon bei Sourceforge angeboten mich mit etwas Refactory zu beteiligen (z.B. damit man individuellen Code besser testen kann).

Vielen Dank im Voraus
Daniel

(I can provide information in English if required)
Zitieren
#2
der Part (von mir) ist ja schon relativ "betagt".
Missdeutungen sind da nicht ausgeschlossen.
muss ich mir deshalb selbst nochmal anschaun.

bzgl. refactoring sprechen wir am besten nochmal separat..
the best things in life are free..
73 de Matthias / DO2MCB

[Comag SL40HD, Lemon Volksbox (zzt. defekt), WinTV-DVB-s Rev1.3 (TT 1.23b)][TT DVB App. 1.23, DVBsVCR2 1.3, DVBWorkshop2.6][M2TS,PVA,MPG-MP2,PES][X - immer das Neueste, J2SE1.2.2_09, J2SE1.4.2_05, J2SE1.5.0-b64]
Zitieren
#3
Im Problemfall sind die reserved Bits nicht auf 1 gesetzt (was aber sein sollte).
Statt den Teil auszukommentieren, ist der Fall 3x bit0 eingefügt. (ohne weitere Änderungen)
Code:
if ( (0xe0 & pmt[b+1]) != 0xe0 && (0xe0 & pmt[b+1]) != 0)
    continue pidsearch;
Wo kann der Stream (mit NAR) mal gecaptured und getestet werden ?
Oder gibts eine Datei ?
the best things in life are free..
73 de Matthias / DO2MCB

[Comag SL40HD, Lemon Volksbox (zzt. defekt), WinTV-DVB-s Rev1.3 (TT 1.23b)][TT DVB App. 1.23, DVBsVCR2 1.3, DVBWorkshop2.6][M2TS,PVA,MPG-MP2,PES][X - immer das Neueste, J2SE1.2.2_09, J2SE1.4.2_05, J2SE1.5.0-b64]
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Where is the code that discards "useless B Frames" - I want to suppress this. steveB 1 2.321 04.12.2016, 22:43
Letzter Beitrag: dvb.matt
  Drag&Drop Problem Lostech 8 4.792 21.10.2015, 07:41
Letzter Beitrag: Lostech
  How to suppress extra text appended to filename when remuxing to TS? steveB 0 5.339 14.01.2015, 04:04
Letzter Beitrag: steveB
  DVB Untertitel Problem sorge 11 5.246 25.01.2014, 20:55
Letzter Beitrag: dvb.matt
  Problem mit Demux AC3 anselmbe 1 2.338 19.11.2012, 20:47
Letzter Beitrag: dvb.matt
  Dreambox 7025 Problem nach schneiden Harry123 5 2.118 26.05.2012, 11:50
Letzter Beitrag: dvb.matt
  Problem bei Installation unter Win7/64 Sixtus 2 1.635 26.01.2012, 10:06
Letzter Beitrag: Sixtus
  Problem beim Demux Prozess - keine Video nur .AC3 Datei suedman 1 2.132 21.08.2011, 19:28
Letzter Beitrag: Arnaud
  UK DVB subtitles problem teftel 7 3.967 12.08.2011, 23:53
Letzter Beitrag: teftel
  Problem .ts von RTL2 HD demuxen loverzhouse 3 3.048 18.01.2011, 18:11
Letzter Beitrag: Derrick

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste