EM2860-basierter Videokonverter erfasst beschädigte Frames (wie debuggen?)

372
Pasquale van Heumen

Ich habe meinen eigenen analogen Video-zu-USB-Konverter entworfen. Dieser Konverter basiert auf dem TI TVP5150AM und dem Empia EM2860. In Kürze funktioniert der Konverter wie in der folgenden Abbildung gezeigt.

 +---------+ ITU-R +--------+ Analog | | BT.656 | | Video +--+ TVP5150 +--------+ EM2860 +---+ USB | | | | +---------+ +--------+ 

Da ich Linux mint mit der Kernel-Version 4.4 verwende, sind die Treiber für beide Chips bereits enthalten. Das Gute ist, dass die Hardware erkannt wird und ich Daten daraus abrufen kann. Die Daten sind jedoch nicht wie erwartet.

Ich habe ein analoges Testbild eingefügt. Die Frames, die ich einfangen kann, sehen folgendermaßen aus: roher erfasster Frame .

Der Befehl, den ich zum Erfassen dieser rohen Frames verwende, lautet:

$ ffmpeg -y -i /dev/video0 -frames:v:0 100 -c:v:0 ppm frame%03d.ppm 

(Beachten Sie, dass ich dieselbe Art von Frames erhalte, indem Sie das Gerät mit öffnen mplayer. Dieser Befehl dient nur zum Erfassen der separaten Frames.)

Die Frage ist, dass ich nicht wirklich weiß, wie ich dieses Problem beheben kann. Es sieht so aus, als würden Daten eingehen, aber auf irgendeine Art und Weise beschädigt.

Folgende Dinge habe ich bereits herausgefunden:

  • Die Hardware scheint gut zu funktionieren. Der TVP5150 wird erwartungsgemäß vom Treiber konfiguriert. Die ITU-R BT.656-Schnittstelle verfügt über echte Signale. Bei einer früheren Hardwareversion hatte ich Probleme mit Überlegungen zu dieser Schnittstelle. Zu diesem Zeitpunkt wurde kein Frame aufgenommen.
  • mplayerlässt viele Frames fallen. ffmpegzeigt viele doppelte Frames an. Beide haben ungefähr das gleiche Verhältnis (4/5 der Frames werden verworfen oder als Duplikate angezeigt)

Könnte mir jemand eine Richtung für das Debuggen dieses Problems geben?

EDIT1:

Es sieht so aus, als wären die Einstellungen des TVP5150 nicht korrekt. Ich fand eine Registereinstellung, die es mir ermöglichte, Farbe zu erhalten: Rohbild mit Farbe

EDIT2:

Ich musste den Treiber explizit auf NTSC setzen und eine sehr seltsame Auflösung (640x320) verwenden, aber jetzt werden Frames richtig aufgenommen.

1
Aus dem aufgenommenen Bild: Vertikaler Rücklauf ist falsch, möglicherweise ein 50/60 Hz-Problem - das würde auch die ausgelassenen Bilder erklären. Farbe wird nicht erkannt, möglicherweise PAL / NTSC-Problem oder falscher Farbträger. Überprüfen Sie das Setup beider Chips im Detail und prüfen Sie, ob sie sich auf das Format einigen. Dies ist das Format, das Sie für das Testbild verwenden. dirkt vor 7 Jahren 0
Ich werde die Einstellungen genauer überprüfen. Ich denke, ich muss eine Quelle finden, bei der ich das Format genau kenne. Dies ist momentan nicht der Fall. Obwohl der TVP5150 die Fähigkeit hat, das automatisch zu erkennen, glaube ich auf dieser Stufe nicht, dass ich mich darauf verlassen kann. Pasquale van Heumen vor 7 Jahren 0

0 Antworten auf die Frage