フォトライブラリのサイズを小さくする必要があるので、当然圧縮したいと思います。それらの多くは完全に同一ではありませんが、それでも非常に似ています(同じシーンの後続のショット)。この事実を利用してこれらの画像を効果的に圧縮する圧縮アルゴリズムはありますか? 7Zip(LZMA)は役に立たない。
Paq 8 (fp8_v2.Zip)を試してみてください。 1440個の同様のPNG画像で試した後、111個の同様のJPG画像でもう一度試しました。結果は次のとおりです。
PNGファイルの圧縮には、以下を使用する場合、約8分と550MBのメモリが必要でした。
fp8_v2.exe -7 images *.png
JPGファイルの圧縮には、以下を使用する場合、約5分と125MBのメモリが必要でした。
fp8_v2.exe -5 images image12*.jpg
参照: jpgロスレス画像圧縮テスト
十分に大きなウィンドウがあれば、算術コーダーを使用したバロウズウィーラー変換がこれに理想的であると想像します。少量の写真に等しいブロックサイズを使用するようにBZIP2を構成するとどうなりますか?速度が遅くなり、より多くのメモリが必要になりますが、圧縮率は急上昇するはずです。そして、あなたはもう大きなブロックサイズでLZMAを試しましたか?
これは写真では機能しないが、ピクセルごとに同じ領域が大きい複数の画像がある場合に機能する可能性のある簡単な解決策です。画像をBMP(PNGではない)またはGIF)そしてそれらをTARし、XZのようなまともなコンプレッサーで圧縮します。
tar -c myDirectory | xz -9 >myDirectory.tar.xz
TARとXZの代わりに、「ソリッドアーカイブ」オプションを備えた7-Zipを使用して、ほぼ同じパフォーマンスを得ることができます。このようにして、16個の同様のスクリーンショットを圧縮できました。これらは別々のPNGファイルとして保存するとそれぞれ約900 KBかかり、2MBのアーカイブに保存されました。このソリューションの利点は、一般的なファイル形式を使用するため、新しいソフトウェアをインストールしなくても機能することです。 (残念ながら、古くてさらに一般的なプログラムGZIPとBZIP2は、私にとってはうまくいきませんでした。おそらく、BZIP2のブロックサイズを900 KBより大きく設定できないためです。)
私が見たことはありません。おそらく最も近いのは、いくつかの同様のJPEGを取得し、それらをMJPEGムービーに入れることです。同様の目的でAPNGまたはアニメーションGIFを使用することもできます。
それがどれだけうまくいくかはわかりませんが、あなたはすでに映画のスクリーンショットについて話しているようですので、それらを映画ファイルに再パックすることは...逆効果に聞こえます。
画面の元のクリップがまだある場合は、正確なフレームを抽出できるコマンドラインツールを見つけて、その一意の識別子をテキストファイルのどこかにコピーするだけで、いつでもできるようになります。必要なときにフレームを簡単に再抽出できます。