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
quelle
Antworten:
Diese Verwendung von GPAC nähert sich möglicherweise den gewünschten Zielen:
Mehr Details:
Ein bisschen mehr Recherche und eine Antwort hier liefert den Weg! Wir müssen verschiedene Dinge installieren, idealerweise mit Homebrew:
brew install x265 gpac
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-libass --with-libquvi --with-libvorbis --with-libvpx --with-opus --with-x265
ReferenzNachdem 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.
quelle