Eigene HEIF / HEIC-Dateien erstellen

4

Ich habe eine Weile nach einer Möglichkeit gesucht, Bild-Bytestreams in HEIF-Dateien zu packen, da macOS High Sierra und iOS 11 jetzt nicht mehr verfügbar sind. Ich hatte nicht viel Glück, nur eine große Anzahl von Leuten, die .heic-Dateien in .jpg konvertierten, und den Nokia JS-Viewer auf GitHub

Zunächst möchte ich meine vorhandene Fotobibliothek nicht vollständig in HEVC-codierte .heic-Dateien konvertieren, da sie bereits JPEG-Dateien sind und Qualitätsverluste aufweisen. Diese Frage ist also kein Duplikat der Frage " Gesamte Bibliothek in neues HEIC-Format konvertieren "

Mein Ziel:

  • Nehmen Sie sowohl einen mpeg-Bytestream als auch einen PNG- oder JPG-Bytestream und packen Sie diese in eine .heic-Datei

  • Nehmen Sie mehrere PNG- und / oder JPG-Bytestreams auf und erstellen Sie daraus eine .heic-Datei (wie eine Serienaufnahme von Fotos).

HEIF ist nur ein Container. Obwohl es für die Verwendung mit HEVC entwickelt wurde, unterstützt es andere Datentypen wie JPG, PNG und so ziemlich alles, was die Anzeigeanwendungen in ihren nativen Dateiformaten unterstützen.

Ich konnte einfach keine Software finden, mit der ich das machen könnte. Alles, wonach ich suche, um mit HEIF oder HEIC zu tun, bringt mir nur die Schlagzeilen über Apple, das versucht, JPEG zu ersetzen, und Leute, die ihre .heic-Dateien nach dem Import von ihrem Computer konvertieren (was anscheinend Mühe kostet) Da iOS sie standardmäßig für Sie konvertiert, wenn Sie versuchen, sie zu importieren oder zu teilen, kann es nicht explizit bestätigen, dass das Ziel sie unterstützt ...)

Ich hoffe also, dass jemand hier ein oder zwei Dinge weiß und mich zumindest in die richtige Richtung weisen kann.

Ich bin nicht abgeneigt, Kommandozeilen-Tools zu verwenden oder selbst etwas zu entwickeln, wenn ich auf eine Bibliothek hingewiesen werde, die ich in eine Swift-Anwendung importieren kann , wenn ich eine App um eine Bibliothek bauen würde, um diese Arbeit zu erledigen, würde ich lieber Swift verwenden, als eine Skriptsprache zu verwenden)

Hoffentlich hat jemand dasselbe gedacht und hatte mehr Glück, als ich das gefunden habe! :)

Edit 1, 10. November:

Ich habe eine Site von einem Typen namens Ben Gotow gefunden, die davon handelt, vorhandene JPEGs in HEVC-Bitstreams zu konvertieren und diese dann in einen .heic- oder .heif-Container zu verschieben. Es ist nah, aber er hatte nicht viele Details gefunden, um mehr als das zu tun. Ich füge dies nicht als Antwort hinzu, sondern nur als Änderung, da es relevant ist, aber mein Ziel nicht erreicht. Ich hoffe, jeder, der diese Frage findet, findet seine Seite nützlich!
jpgtoheif.com

FreiberuflerJ
quelle
1
Es scheint sehr schwierig zu sein, die Antwort auf das " Erstellen " dieser Dateien selbst zu finden, da es schwierig ist, eine Viewer-App für HEIC zu finden , und nicht einmal über das Erstellen / Bearbeiten zu
sprechen
Ja, das ist meine Sorge ... Dennoch, zumindest wenn ich die Frage stelle, werden hoffentlich nach und nach andere Leute diese Frage finden und vielleicht sogar beitragen, was sie gefunden haben. Für sie ist alles, was ich finden kann, egal was ich suche, "Wie konvertiere ich HEIC / HEIF in JPEG" -Postings. Und auf einer Website geht es darum, JPEGs und Videos in HEVC umzuwandeln und sie in einen HEIF-Container zu legen (das werde ich gleich zur ursprünglichen Frage als Bearbeitung hinzufügen, da es ohnehin ein wenig relevante Daten enthält :)
FreelancerJ

Antworten:

2

Diese Verwendung von GPAC nähert sich möglicherweise den gewünschten Zielen:

Was ist GPAC?

GPAC ist ein Open Source Multimedia Framework. GPAC wird für Forschungs- und akademische Zwecke und darüber hinaus durch industrielle Zusammenarbeit verwendet! Das Projekt deckt verschiedene Aspekte von Multimedia ab, mit einem Schwerpunkt auf Präsentationstechnologien (Grafik, Animation und Interaktivität) und Multimedia-Verpackungsformaten wie MP4.

Mehr Details:

Ein bisschen mehr Recherche und eine Antwort hier liefert den Weg! Wir müssen verschiedene Dinge installieren, idealerweise mit Homebrew:

  • x265 und GPAC brew install x265 gpac
  • FFmpeg mit x265-Unterstützung

brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-libass --with-libquvi --with-libvorbis --with-libvpx --with-opus --with-x265 Referenz

Nachdem Sie die Tools haben, versuchen Sie ein Skript wie das folgende, um Bilder in einem Ordner nach HEIF / HEIC zu konvertieren:

for F in *.jpg *.png *.tif *.tiff; \ do ffmpeg -i "$F" -crf 23 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -preset slower -pix_fmt yuv420p -f hevc "${F%.*}.hvc" && \ MP4Box -add-image "${F%.*}.hvc" -ab heic -new "${F%.*}.heic" && \ rm "${F%.*}.hvc"; done;

Ich habe es mit einem Ordner mit Bildern versucht und es funktioniert. Es wandelt Bilder mit ungeraden Dimensionen in gerade Dimensionen um, aber abgesehen von ein paar Einschränkungen funktioniert es.

Matthew Briggs
quelle
1
Ich werde jetzt eine Menge lesen, es sieht so aus! Wenn es klappen kann, was ich will, bin ich wieder hier und bearbeite das, was ich am Ende Ihrer Antwort finde, für alle anderen, die das Gleiche wollen, und markiere es als akzeptiert, es sei denn, jemand anderes kommt mit mit einer besseren Antwort :)
FreelancerJ
Nein, dies ist keine Antwort darauf, dass Sie mehrere PNG- und / oder JPG-Bytestreams nehmen und daraus eine .heic-Datei erstellen (wie eine Serie von Fotos). Ich vermute jedoch, dass Sie lediglich etwas mehr GPAC lernen müssen. Es scheint ziemlich vielseitig zu sein!
Matthew Briggs
1
Sie sind nicht nur auf JPEG-, PNG- und TIFF-Bilder beschränkt. FFmpeg unterstützt andere Bildformate. JPEG2000 hat sich zum Beispiel beim Testen sofort bewährt.
Matthew Briggs