Nicht-konforme Zeichen in der Aufnahme-XML

Wünsche, Anträge, Fehlermeldungen
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Mucki hat geschrieben:Könnte man das auch beim Videotext-Stream korrigieren?
Du meinst, dass dort nicht <vtxtpid>n</vtxtpid> drinsteht, wenn der Videotext-Stream nicht mit aufgenommen wird? Nein, das geht nicht. Der wird immer in die XML-Datei geschrieben. Das Einzige, das man machen könnte, wäre dort eine 0 reinzuschreiben, wenn der Videotext-Stream nicht mit aufgenommen wird. Aber was stört dich denn da nun wieder dran?
Mucki
Interessierter
Interessierter
Beiträge: 78
Registriert: Freitag 7. Januar 2011, 01:20

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Mucki »

Gaucho316 hat geschrieben:Das Einzige, das man machen könnte, wäre dort eine 0 reinzuschreiben, wenn der Videotext-Stream nicht mit aufgenommen wird.
Das wäre OK, so verhält es sich ja auch, wenn man von Sendern aufnimmt, die keinen Videotext ausstrahlen.
Gaucho316 hat geschrieben:Aber was stört dich denn da nun wieder dran?
Damit mein Zweit-Receiver, der mit Enigma2 läuft, die dbox Aufnahmen abspielt, konvertiere ich die Aufnahme-XML in ein anderes Format. Da fallen dann solche Ungereimtheiten negativ auf.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Gaucho316 hat geschrieben:
Mucki hat geschrieben:- In der Aufnahme-XML stehen auch Audio-Spuren, die gar nicht aufgenommen wurden.
Mit folgendem Patch werden nun nur noch die Audiospuren in die XML-Datei geschrieben, die aufgenommen werden.
Mucki hat geschrieben:
Gaucho316 hat geschrieben:
Mucki hat geschrieben:Könnte man das auch beim Videotext-Stream korrigieren?
Das Einzige, das man machen könnte, wäre dort eine 0 reinzuschreiben, wenn der Videotext-Stream nicht mit aufgenommen wird.
Das wäre OK, so verhält es sich ja auch, wenn man von Sendern aufnimmt, die keinen Videotext ausstrahlen.
Ich habe diese beiden Sachen nun in einen Patch gepackt. Geht ja beides in dieselbe Richtung. Bei mir funktioniert's.

Link zum Patch entfernt
Mucki
Interessierter
Interessierter
Beiträge: 78
Registriert: Freitag 7. Januar 2011, 01:20

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Mucki »

Gracias und Guten Rutsch!

Edit: Gaucho, ich teste gerade die letzten Patches. Es gibt noch einen Fall in dem die Videotext-PID gespeichet werden sollte, und zwar wenn Untertitel aufgenommen werden.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Ok, hier also eine neue Version des Patches. Damit sollte es nun, wie gewünscht, funktionieren.

Link entfernt, da Patch im CVS
Mucki
Interessierter
Interessierter
Beiträge: 78
Registriert: Freitag 7. Januar 2011, 01:20

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Mucki »

Gaucho316 hat geschrieben:
Mucki hat geschrieben:- Wenn man beim Start einer Aufnahme in der Audioauswahl 'Abbrechen' wählt gibt's keinen Ton und das Bild ruckelt.
Kann ich auf meiner Avia500-Box auch nicht bestätigen. Bei mir geht das ohne Probleme.
Welche Audiospur wird in diesem Falle denn genommen?
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Die erste, die bei der Analyse der TS-Datei, gefunden wird.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Damit man im Audioauswahldialog beim Abspielstart sieht, welche Tonspur vorausgewählt ist, habe ich folgenden Patch für den Movieplayer erstellt. Bei mir funktioniert der ohne Probleme.

Link zum Patch entfernt
Mucki
Interessierter
Interessierter
Beiträge: 78
Registriert: Freitag 7. Januar 2011, 01:20

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Mucki »

Gute Idee mit der Anzeige der vorausgewählten Audio-Spur. Damit konnte ich das Problem eingrenzen.

Also, wenn ich Untertitel, alternative Tonspur oder AC3 mit aufnehme, funktioniert es richtig - bei Wiedergabestart ist dann im Audioauswahl-Dialog eine Tonspur markiert.

Wenn ich aber Videotext mit aufnehme, ist keine Audio-Spur mehr voreingestellt. (der Cursor befindet sich auf 'Abbrechen')
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Ahh ok, ich habe den Patch nun so erweitert, dass die Videotext-Spur beim Festlegen der vorausgewählten Tonspur übergangen wird. Damit sollten deine Probleme gelöst sein.

Link entfernt, da Patch im CVS
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von rhabarber1848 »

committed to CVS:
Gaucho316 hat geschrieben:movieplayer_reset-buffer-after-audio-selection-and-not-before_2011-12-30_1958.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3191
Gaucho316 hat geschrieben:vcrcontrol_get-correct-apid-names_2011-12-30_2338.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3192
Gaucho316 hat geschrieben:vcrcontrol_only-save-recorded-apids-and-vtxtpid-in-xml_2012-01-01_1947.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3193
Gaucho316 hat geschrieben:movieplayer_show-sel-audio-track-on-initial-audio-sel_2012-01-02_1824.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3194
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

rhabarber1848 hat geschrieben:
Gaucho316 hat geschrieben:vcrcontrol_only-save-recorded-apids-and-vtxtpid-in-xml_2012-01-01_1947.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3193
Leider hast du eine alte Version dieses Patches commitet. Der Dateiname stimmt zwar, aber das Commitete stimmt damit nicht überein. :(


Edit: Hier ein Patch mit den fehlenden Teilen. Du kannst dir aussuchen, ob du diesen Patch commitest oder den vorigen rückgängig machst und neu commitest.

Link entfernt, da Patch im CVS
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von rhabarber1848 »

Gaucho316 hat geschrieben:vcrcontrol_only-save-recorded-apids-and-vtxtpid-in-xml-part2_2011-01-02_2013.diff
committed: http://article.gmane.org/gmane.comp.vid ... x.scm/3195
Mucki
Interessierter
Interessierter
Beiträge: 78
Registriert: Freitag 7. Januar 2011, 01:20

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Mucki »

Einen hab' ich noch...

Mit der Option 'Untertitel aufzeichnen' bei Direktaufnahme werden ja Videotext- und DVB-Untertitel mit aufgenommen (sofern gesendet). Bei der Wiedergabe werden aber die DVB-Untertitel in der Audio-Auswahl als 'Stream (AC3)' angezeigt und sind fälschlicherweise auch anwählbar. Könnte man diesen Stream als non-Audio behandeln, so wie den Videotext?
Audio_Select_DVB-Sub.jpg
Edit: Es fehlt derzeit auch ein Eintrag für die DVB-Untertitel PID in der Aufnahme-XML. Sollte man nachholen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Mucki hat geschrieben:Mit der Option 'Untertitel aufzeichnen' bei Direktaufnahme werden ja Videotext- und DVB-Untertitel mit aufgenommen (sofern gesendet). Bei der Wiedergabe werden aber die DVB-Untertitel in der Audio-Auswahl als 'Stream (AC3)' angezeigt und sind fälschlicherweise auch anwählbar. Könnte man diesen Stream als non-Audio behandeln, so wie den Videotext?
Da muss ich erst einmal passen. Hierfür brauche ich Hilfe von jemandem, der sich besser auskennt. Zur Analyse der TS-Datei wird im Movieplayer die Funktion find_all_avpids() aus apps/misc/libs/libmpegtools/transform.c verwendet. Zwischen Zeile 1152 und 1176 dieser Datei wird AC3 vom Videotext durch Test auf 0x24 unterschieden. Alles das, was ungleich 0x24 ist, wird als AC3 interpretiert. Die Untertitel haben wohl also auch einen Wert ungleich 0x24, aber welchen? Diesen Wert müsste man hier zusätzlich auswerten und dann im Movieplayer weiterverarbeiten.
Mucki hat geschrieben:Es fehlt derzeit auch ein Eintrag für die DVB-Untertitel PID in der Aufnahme-XML. Sollte man nachholen.
Ist notiert.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Houdini »

Zwischen Zeile 1152 und 1176 dieser Datei wird AC3 vom Videotext durch Test auf 0x24 unterschieden. Alles das, was ungleich 0x24 ist, wird als AC3 interpretiert.
Wenn ich das richtig dekodiert habe müsste diese 0x24 die Länge des PES headers sein.
Scheinbar haben die TTX Pakete diese PES Header Länge.
Besser nutzbar sollte das erste Byte des Payloads sein (das ersten Byte nach Ende des PES Headers), das zeigt an welche Daten sich in dem private stream 1 befinden (sub id, oder unten data_identifier)
aus dvbsnoop:

Code: Alles auswählen

void PES_decodeDATA_private_stream_1 (u_char *b, int len)
{
  u_int     data_identifier;

  // -- Data Buffer starts at PES_DATA_BYTES...
  data_identifier		= getBits (b, 0,  0,  8);

  // -- Async Data Streaming will be done as private_stream_2 (pes_std)
  if (data_identifier >= 0x10 && data_identifier <= 0x1F) {
  	// Teletext EBU data (see EN 300 472)
	PES_decodeDATA_EBU_etc (b, len);
  } else if (data_identifier == 0x20) {
	// DVB subtitling (see EN 300 743)
	// $$$ TODO -- PES_decodeDATA_dvb_subtitles (b, len);
	print_databytes (4,"TODO  dvb subtitles:", b, len);
  } else {
  	// default sync. data streams (see EN 301 192)
	PES_decodeDATA_SYNC (b, len);
  }
}
Quellen:
http://dvd.sourceforge.net/dvdinfo/pes-hdr.html
dvbsnoop pes_data.c
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von seife »

Ja.
Subids: TTX = 0x10 - 0x1F, Subtitles = 0x20, AC3 = 0x80 bis 0x87

Dieser Check auf Header-Länge 0x24 ist ziemlich - ähm - "seltsam" um AC3 / TTX festzustellen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Puh, da muss ich zugeben, dass ich da wirklich nicht durchblicke. Könnte nicht einer von euch beiden die nötigen Änderungen in find_all_avpids() machen, so dass im Falle einer Untertitel-PID *(ac3flags+j) gleich 3 ist. Die restlichen Änderungen in den Movieplayern bekomme ich dann sicher alleine hin.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von seife »

Probier das angehängte mal aus. Ist aber unkompiliert und ungetestet. Der find_all_avpids code ist auch dermassen gruselig, dass ich nicht drauf wetten würde, dass ich mich da nicht verzählt habe... :-(

Ansonsten müsste man die find_all_avpids halt mal ziemlich komplett neu machen, das ist vermutlich weniger Arbeit als sich da durchzuhangeln...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Ich danke dir erst einmal ganz herzlich. Ich probiere das die Tage mal aus und berichte dann.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Mucki hat geschrieben:Es fehlt derzeit auch ein Eintrag für die DVB-Untertitel PID in der Aufnahme-XML. Sollte man nachholen.
Hierfür nun der Patch. Guckt mal, ob das ohne Probleme funktioniert. Ich habe das kurz für die Direktaufnahme getestet, für die Serveraufnahme allerdings nicht. Das Format für die Untertitel-PIDs sieht folgendermaßen aus:

Code: Alles auswählen

<subpids>
    <sub pid="123" name="deu"/>
    <sub pid="124" name="eng"/>
</subpids>
Link zum Patch entfernt
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

seife hat geschrieben:Probier das angehängte mal aus. Ist aber unkompiliert und ungetestet. Der find_all_avpids code ist auch dermassen gruselig, dass ich nicht drauf wetten würde, dass ich mich da nicht verzählt habe... :-(
Ich habe das jetzt mal probiert. Komischerweise findet er nun die AC3-PIDs nicht mehr, die Teletext-PID aber schon. Und die Untertitel-PID findet er nur beim ersten Aufruf einer Datei im Movieplayer nach dem Start von Neutrino und später nicht mehr. Hat das auch jemand anders so beobachtet?

Mucki hat geschrieben:Bei der Wiedergabe werden aber die DVB-Untertitel in der Audio-Auswahl als 'Stream (AC3)' angezeigt und sind fälschlicherweise auch anwählbar. Könnte man diesen Stream als non-Audio behandeln, so wie den Videotext?
Den passenden Code für den Movieplayer habe ich jetzt aber trotzdem schon mal parat.

Link zum Patch entfernt
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von seife »

Hm, das ist komisch, dass er die ac3-Pids nicht mehr findet, aber ich mag nicht ausschliessen, dass ich mich da verzählt habe.

Oder andersrum (falls ich mich nicht verzählt habe): Welchen Wert hat denn buf[off2] bei einer AC3-PID?
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Ich habe mir mal ein printf vor die 3 ifs gebaut. An der Stelle steht bei AC3 0x0B. Im Falle von Teletext steht da aber richtigerweise 0x10. :gruebel:

Edit: In der Funktion get_ac3info() in transform.c wird auf 0x0B77 untersucht, um AC3 festzustellen, wenn ich das richtig verstehe. Vielleicht hilft das ja irgendwie.

Edit: Könnte man nicht einfach folgendes machen:

Code: Alles auswählen

...
if (temppida != 0) {
    if (buf[off2] == 0x20) {
        // Subtitle
        ...
    }
    else if ((buf[off2] & 0xF0) == 0x10) {  /* 0x10-0x1f */
        // Teletext
        ...
    }
    else {
        // AC3
        ...
    }
}
...
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von seife »

Hm, tatsächlich ist, wenn ein PES mit AC3 im TS eingepackt ist, keine Substream-ID dabei sondern es geht direkt mit dem AC3-Syncword 0x0b77 los...

Ich habe da jetzt keine echte Erklärung dafür, aber die subid ist ja nicht wirklich notwendig da anhand der PID die streams unterschieden werden können...

Probier mal das angehängte.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.