comment faire pour convertir RVB 16 bits de mémoire Tampon d'Image à un format permettant l'affichage?

Je travaille avec quelqu'un d'autre code sur un dispositif qui peut mettre une image pour /dev/fb/0 et de montrer sur la vidéo ou l'envoyer sur le réseau d'une application cliente.

Je n'ai pas accès à la vieille source de l'application cliente, mais je sais suivantes sur les données:

  • 720x480
  • 16 bits
  • RGB (je ne suis pas sûr si c'est 5,5,5 ou 5,6,5)
  • RAW (pas d'en-têtes que ce soit)
  • cat-mesure de /dev/fb/0
  • 675kb

Comment puis-je donner ce un en-tête ou le convertir en JPEG, BMP, ou RAW d'un type que je pourrais ensuite afficher dans une application de bureau?

En fin de compte, je veux qu'il soit jpeg et visible dans un navigateur, mais tout ce que je peux voir de mes yeux le travail pour le moment.

Succès

(voir les commentaires ci-dessous)

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

L'Échec Des Tentatives De

Montre l'image trois fois le sens de la largeur avec presque pas de couleur, et écrasé à la verticale:

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

Montre l'image, mais avec des stries et écrasé à la verticale et de la mauvaise couleur:

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

Semblables à celles de la

convert -depth 16 -size 720x480 frame_buffer.rgb fb.jpeg
Avez-vous le succès de votre travail? signifie, aviez-vous en mesure d'envoyer un framebuffer de données brutes à un serveur dans le format vidéo?
J'ai été capable de faire mon propre genre de motion jpeg. Les scripts que j'ai utilisé tout en essayant de tous sont disponibles ici: github.com/coolaj86/image-examples
Salut, Merci pour votre réponse et votre aide.. Aussi quand je suis en train de chercher le framebuffer de données pour appareil HD, il me donne de 32 profondeur de bits de données brutes alors, comment puis-je convertir image appropriée afin que je puisse l'afficher?
Jetez un oeil à ces deux: github.com/coolaj86/image-examples/blob/master/scripts/... github.com/coolaj86/image-examples/blob/master/scripts/... Si vous pouvez trouver ce que ffmpeg appels, vous pouvez ajuster en conséquence
Il pourrait ressembler à quelque chose comme ceci: ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt rgb32 -s 2073600 -i data.raw -f image2 -vcodec mjpeg frame.jpeg

OriginalL'auteur CoolAJ86 | 2010-09-23