2017-09-12 9 views
1

Für ein C++ Projekt muss ich ein HEIF (.heic) Bild öffnen und anzeigen. Was ich weiß (wenn ich recht habe), ist, dass die HEIF-Bilder auf dem ffmpeg-Standard basieren und dass ein H265-Codec gelesen werden muss.Wie öffne ich ein HEIF (.heic) Bild?

fand ich mehrere Open-Source-H265-Codecs:

Ich öffne und H265 kodierte zeigen Videodateien mit jedem von ihnen, aber ich kann nicht einfach ein .heic Bild öffnen, zeigen oder konvertieren. Alle geben einen Fehler zurück oder tun einfach nichts.

Um ehrlich zu sein bin ich ein wenig verwirrt, denn der HEIF-Standard scheint ein gut gehütetes Geheimnis zu sein. Ich kann keine relevanten Informationen finden, die mir erlauben könnten, zu einer Lösung zu gehen. Diejenigen, die ich gefunden habe, sind nur Tricks und Workarounds, wie z. Erzwingt das Gerät (ich spreche hier über das Apple iPhone mit dem neuen iOS11), um ein JPG-Bild anstelle eines heik zu generieren, oder eine Drittanbieter-Anwendung wie dr.fone zu verwenden. Natürlich sind diese Lösungen für mich irrelevant.

Also kann mir jemand sagen, welchen Codec ich mit einem .heif Bild verwenden soll, und wie ich es benutzen kann, um es zu öffnen? Oder gibt es Open-Source-Bibliotheken oder Beispiele, die es erlauben, diese Art von Bilddateien zu manipulieren? Jemand kann mich auf die gute Richtung hinweisen?

+0

FFMPEG unterstützt HEIF noch nicht. Ein Fehlerbericht ist offen, um damit umzugehen. https://trac.ffmpeg.org/ticket/6521 Dies sollte ein Kommentar und keine Antwort sein, aber ich darf nicht kommentieren. – avibrazil

Antwort

2

Ein Beispiel-Viewer für HEIF von Nokia ist verfügbar here. Ich habe auch direkt mit FFmpeg getestet und es ist in der Lage zu öffnen (play/dekomprimieren) die bereitgestellten conformance files.

+0

Danke für die Links, ich werde neue Tests mit den Conformance-Dateien machen. Für das Nokia SDK habe ich bereits versucht, es zu verwenden, aber ohne Erfolg, und die sehr restriktive Lizenz des Produkts hat mich davon abgehalten, meine Forschung weiter voranzutreiben. Wie auch immer, es ist nur ein Parser, der es erlaubt, eine HEI-Datei zu öffnen und ihren Stream an einen Codec zu senden, oder ich liege falsch? –

+1

Ich glaube das ist richtig, ja. –

+0

So könnte die Frage jetzt sein: "Wie man einen solchen Strom zu einem Codec überträgt". Zuallererst, welchen Codec kann ich dafür verwenden? (Natürlich sollte ein Teil der Antwort in den Konformitätsdateien enthalten sein, die ich so schnell wie möglich testen werde) –

Verwandte Themen