Problem bei Frame-Detektierung (Bitte um Hilfe beim Debuggen)

  • Ich versuche gerade einen Fehler zu finden, der sich darin äußert, daß nach einem Schnitt die geschnittene Fassung keinen Ton hat.
    Es hängt offensichtlich mit der genauen Position der Anfangs-Schnittmarke zusammen. Verschiebt man sie um einen I-Frame vor oder zurück, dann tritt das Problem nicht auf. Die Vermutung, daß es mit der Frame-Detektierung zu tun hat und nicht erst beim eigentlichen Schnitt passiert wird dadurch untermauert, daß der Frame beim Anspringen der Anfangs-Schnittmarke (mit '7' oder '9') nicht dargestelllt wird (es bleibt das vorherige Bild sichtbar).


    Ich habe den Fall so weit wie möglich minimiert und die entsprechenden Datenschnipsel unter ftp://ftp.tvdr.de/vdr/Developer/Frame-Detect.tbz (ca. 60MB) hochgeladen. Darin befinden sich drei Aufnahmen: das Original ("Schnittproblem") mit zwei Schnittmarken, sowie eine geschnittene Fassung mit Ton ("%SchnittproblemA") und eine ohne Ton ("%SchnittproblemB"). Im Original befindet sich die Anfangs-Schnittmarke an der fehlerhaften Position, damit wurde Variante 'B' erzeugt. Für Variante 'A' wurde die Schnittmarke um einen I-Frame nach links versetzt.


    Wenn ich die geschnittenen Fassungen mit 'ffprobe' untersuche, so ergibt sich für 'A':

    Code
    1. Input #0, mpegts, from 'Frame-Detect/%SchnittproblemA/2016-03-06.07.01.13-0.rec/00001.ts':
    2. Duration: 00:00:16.48, start: 67421.795022, bitrate: 8162 kb/s
    3. Program 132
    4. Stream #0:0[0xa29]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 720x576 [SAR 64:45 DAR 16:9], max. 8000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    5. Stream #0:1[0xa2a](deu): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s
    6. Stream #0:2[0xa2b](mis): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s


    und für 'B':


    Irgendwie scheint an dieser Stelle der I-Frame nicht korrekt erkannt worden zu sein, also müsste der Fehler wohl irgendwo in remux.c liegen.
    Vielleicht mag ja mal der eine oder andere hier sich das genauer anschauen und findet heraus, woran das liegt.
    Bin für jeden Hinweis dankbar.


    Klaus