wie konvertieren von 16-bit-RGB-Framebuffer zu einer sichtbaren format?

Arbeite ich mit fremden code auf einem Gerät, welches ein Bild zu /dev/fb/0 und zeigen, bis auf video-out oder senden Sie es über das Netzwerk zu einem client-Anwendung.

Ich habe keinen Zugriff auf den alten Quellcode für die client-app, aber ich weiß Folgendes über die Daten:

  • 720x480
  • 16-bit -
  • RGB (ich bin nicht sicher, ob es 5,5,5 oder 5,6,5)
  • RAW (keine Header auch immer)
  • cat-können /dev/fb/0
  • 675kb

Wie kann ich einen header oder konvertieren Sie Sie in JPEG -, BMP-oder RAW-Typ, die konnte ich dann sehen in einer desktop-Anwendung?

Letztlich will ich, dass es das jpeg-Format sein und die Anzeige in einem browser, aber alles, was ich sehe mit meinen Augen funktioniert jetzt.

Erfolg

(siehe die Kommentare unten)

ffmpeg \
  -vcodec rawvideo \
  -f rawvideo \
  -pix_fmt rgb565 \
  -s 720x480 \
  -i in-buffer.raw \
  \
  -f image2 \
  -vcodec mjpeg \
  out-buffer.jpg

Fehlversuche

Zeigt das Bild drei mal quer fast ohne Farbe, und zerquetschte vertikal:

rawtoppm -rgb -interpixel 720 480 fb.raw > fb.ppm

Zeigt das Bild aber mit Streifen und vertikal gequetscht und bad Farbe:

rawtoppm -rgb -interrow 720 480 fb.raw > fb.ppm

Ähnlich wie die oben

convert -depth 16 -size 720x480 frame_buffer.rgb fb.jpeg
Hast du den Erfolg auf deine Arbeit? bedeutet, hatte Sie in der Lage, senden Sie eine framebuffer-roh-Daten an den server in video format?
Ich war in der Lage zu tun, meine eigene Art von motion-jpeg. Die Skripte, die ich verwendet, während grübeln diese alle sind hier verfügbar: github.com/coolaj86/image-examples
Hallo, vielen Dank für Ihre Antwort und Hilfe.. Auch wenn ich versuche mich zu Holen framebuffer-Daten für HD-Gerät, es gibt mir die 32-bit-Tiefe, raw-Daten, also wie kann ich es konvertieren, um entsprechende Bild, so kann ich ihn anzeigen?
Werfen Sie einen Blick auf diese beiden: github.com/coolaj86/image-examples/blob/master/scripts/... github.com/coolaj86/image-examples/blob/master/scripts/..., Wenn Sie herausfinden können, was ffmpeg aufruft, Sie können Sie entsprechend anpassen
Es könnte wie folgt Aussehen: ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt rgb32 -s 2073600 -i data.raw -f image2 -vcodec mjpeg frame.jpeg

InformationsquelleAutor CoolAJ86 | 2010-09-23

Schreibe einen Kommentar