EM2860-basierter Videokonverter erfasst beschädigte Frames (wie debuggen?)
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.
mplayer
lässt viele Frames fallen.ffmpeg
zeigt 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.
0 Antworten auf die Frage
Verwandte Probleme
-
9
Was ist der Unterschied zwischen den Befehlen "su -s" und "sudo -s"?
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
4
Was sind die Unterschiede zwischen den großen Linux-Distributionen? Werde ich es merken
-
2
Begrenzung der CPU-Auslastung für Flash in Firefox?
-
2
Wie kann ich mein Mikrofon unter Debian GNOME zum Laufen bringen?
-
2
Conky-Setups - Beispiele / Ideen?
-
3
Was sind die Unterschiede zwischen Linux Window Managern?
-
2
ThunderBird / Lichtsynchronisation mit SE k770i
-
4
Linux-Dateisystem
-
6
Vollbild-Flash langsam in KDE 4