2017-09-19 3 views
6

Kontextkonvertiert FFmpeg in JPEG oder PNG mit roher RGB32 Datei

ich ein C++ Programm verwendet, um rohes Bytes in eine Datei (image.raw) in RGB32 Format zu schreiben:

R G B A R G B A R G B A ...

und ich möchte es irgendwie sehen können. Ich habe die Abmessungen des Bildes.

Meine Werkzeuge sind auf Kommandozeilenbefehle beschränkt (z. B. ffmpeg). Ich habe die ffmpegwebsite für Anweisungen besucht, aber es befasst sich mehr mit der Konvertierung von Videos in Bilder.


Fragen

Ist es möglich, diese Datei in eine sichtbare Dateityp zu drehen (z .jpeg, .png) mit ffmpeg. Wenn ja, wie würde ich es tun?

Wenn es nicht möglich ist, gibt es eine Möglichkeit, einen anderen Befehl zu verwenden?

es, dass noch nicht lebensfähig ist, ist es eine Möglichkeit, die RGB32 Bytes innerhalb eines C manipulieren kann ++ Programm, um es ohne die Verwendung von externen Bibliotheken besser geeignet zu machen? Ich möchte auch nicht .jpeg wie this kodieren.

Antwort

2

Verwenden Sie die rawvideo demuxer:

ffmpeg -f rawvideo -pixel_format rgba -video_size 320x240 -i input.raw output.png 

Da es keine Header ist die angenommenen Videoparameter spezifizieren Sie sie angeben müssen, wie oben gezeigt, um die Daten korrekt entschlüsseln zu können.

Eine Liste der unterstützten Eingabe-Pixelformate finden Sie unter ffmpeg -pix_fmts, die Ihnen bei der Auswahl des geeigneten -pixel_format helfen können.

+1

Antwort funktionierte für mich, obwohl ich hinzufügen muss, funktionierte es nur, nachdem ich -i vor 'input.raw' hinzugefügt habe. – PhotometricStereo

+0

@PhotometricStereo Ja, das war ein Tippfehler. Danke für die Bearbeitung. – LordNeckbeard

Verwandte Themen