MacでHEICをJPGに一括変換する|元の写真を残す手順
heic jpg 変換 macという調べ方をするときの用件は、ほとんど外から来ます。申込フォームがアップロードを受け付けない、取引先から開けないと言われた、記事の管理画面が半分だけ黙って弾く。iPhoneから来たファイルの末尾が .heic で、送り先は .jpg を求めている、という状況です。変換そのものはコマンド1行で終わります。厄介なのはその周りにある判断で、元の写真が残るのか、対象が100枚なのか5,000枚なのか、来月も同じことが起きるのか、という3点です。この記事は、元を残したまま一括で変換する形を先に固め、出来上がったJPGの中身に何が入っているかまでを確かめられるところまでを整理します。
断っているのはMacではない
HEICは容れ物の名前です。中身はHEIFという形式の静止画で、HEVCで圧縮されています。Appleの案内には、JPEGより圧縮の効率が高く、同じ見た目の品質でも端末やiCloud写真の容量を使わずに済む、と書かれています。
macOS側は標準で読めます。クイックルックで見えて、プレビューで開けて、写真アプリに取り込めて、変換に使うコマンドも最初から入っています。断っているのはもっと下流です。拡張子だけを見ている投稿フォーム、印刷の発注先、コーデックの入っていないWindows機、更新の止まったアプリ、2017年より前に書かれた画像の処理。
ここを押さえておくと無駄が減ります。「Macで見られるように」と写真全体を変換するのは働き損で、保存容量も余分に使います。変換すべき量は、実際に外へ出ていくファイルだけ、出ていく時点で、です。前提の詳細はAppleのHEIFとHEVCの案内にまとまっています。
4つの道と、それぞれの向き
| 道 | 大量に扱えるか | 品質の指定 | 元が残るか | 準備 |
|---|---|---|---|---|
| プレビューの書き出し | 数百枚を超えると重い | スライダのみ。数値は出ない | 別フォルダを選べば残る | 不要 |
| ターミナルの sips | 数千枚まで | 0から100の数値 | --out を付けたときだけ |
不要。macOSに同梱 |
| ショートカット・クイックアクション | 扱える | 限られる | 作り方次第 | 一度だけ作る |
| 変換用のアプリ | 製品差がある | 製品差がある | 製品差がある | 導入と、信頼の判断 |
標準で入っている2つで、現実の用件はほぼ足ります。専用のアプリが要るのは、macOSが読めない形式を扱うときで、HEICはそれに当たりません。
プレビューで、目で見ながら少量だけ
プレビューは準備が要らず、送る前に写真そのものを見ておきたいときに向いています。
対象をまとめて1つのプレビューの窓で開き、サイドバーを表示して、変換したい分のサムネールを選びます。ファイルメニューの書き出しの項目には、選んだ枚数が入った形で表示されます。書き出しのシートには形式を選ぶ欄があり、そこでJPEGを選び、品質のスライダを決めます。
元の写真を守る工程は、保存先に別のフォルダを選ぶところです。ここが飛ばされやすい一手です。同じ名前のファイルが保存先にあると、プレビューは置き換えるかどうかを尋ねてくるので、それが間違いに気づく最後の機会になります。
始める前に知っておく限界が2つあります。プレビューは選んだ画像をすべてメモリに読み込むため、大きな写真を数百枚まとめて選ぶと動きが重くなり、応答が返らなくなることもあります。50枚から100枚ずつに区切って進めるほうが、途中で諦めるより速く終わります。もう1つは品質のスライダに数値が出ないことで、同じ設定を次回そのまま再現できません。1回で終わる作業なら問題になりませんが、毎月続く作業なら問題になります。
写真アプリから書き出すと、位置情報を外せる
写真アプリに取り込んである写真なら、こちらのほうが細かく決められます。対象を選んでファイルメニューから写真を書き出す項目を選ぶと、写真の種類でJPEGを選べて、JPEG品質を低から最高の4段階で指定できます。カラープロファイルとファイルの命名規則も同じシートで決まります。
この画面にある利点が1つあります。情報と位置情報のチェックが別に用意されていて、位置情報を外したまま書き出せる点です。撮影場所を渡したくない相手に写真を送るときは、変換と同時にここを外すのが一番手数が少なくて済みます。オリジナルをそのまま取り出したいときは、同じメニューにある未編集のオリジナルを書き出す項目のほうを使います。こちらは形式を変えずに元のファイルを取り出すものなので、JPGが欲しい場合は写真を書き出す側を選びます。
何度も来る作業は sips に任せる
sips はmacOSに最初から入っている画像処理のコマンドで、導入は要りません。読み書きできる形式の一覧はこれで出ます。
sips --formats
public.heic と public.jpeg の両方が、書き込み可として並びます。変換そのものは1行で、要点は --out です。
mkdir jpg
sips -s format jpeg *.heic *.HEIC --out jpg
出力はすべて新しいフォルダに入り、元のファイルには手が付きません。拡張子を jpg に変えたという警告が出ますが、これは妥当な処理をしたという知らせです。作業用のフォルダを先に作る段取りは、手順を書いている人の間でも共通しています。
変換用のフォルダを作ります。場所はわかりやすい場所であればどこでも大丈夫です。 今回はデスクトップに heic_to_jpeg という名前でフォルダを作りました。 出典: qiita.com
拡張子を大小どちらも並べる点は、見た目より大事です。写真は経路によって .heic で届いたり .HEIC で届いたりするので、片方だけを指定すると残りが黙って飛ばされます。品質はスライダではなく数値で指定します。
sips -s format jpeg -s formatOptions 85 *.heic *.HEIC --out jpg
値は0から100です。使った数値を書き残しておけば、来月の分が今月と揃います。数千枚に当てる前に、1枚だけ中身を見ておく手間も安いものです。
sips -g format -g pixelWidth -g pixelHeight IMG_3188.HEIC
最も損が大きい間違いは、--out を付けずに実行することです。 付けないと、このコマンドはファイルをその場で書き換えます。しかも拒まずに警告だけを出します。結果として残るのは、名前は .heic のままで中身がJPEGになったファイルで、元は消えています。読めるアプリもありますが、拡張子が実体と違うために弾くアプリもあり、元の解像度と色の情報は戻りません。どの回でも保存先のフォルダを指定する、という形にしておくのが確実です。
出来上がったJPGの中身に入っているもの
驚かれる点が2つあり、どちらも実測できます。
1つは容量です。JPGにすると容量は減らずに増えます。元のほうが効率よく圧縮されていたからです。iPhone 14 Proで撮った4032×3024の写真で測ると、HEICの元が約1.2MB、同じ写真をそのままJPEGに書き出したものが約1.9MBでした。品質を100にすると約3.2MBまで増え、品質80では約1.9MBに収まりました。読み取れることは2つです。品質は80から90あたりで容量の伸びが見た目の差に見合わなくなる、そして1万枚を最高品質で変換するなら保存容量を先に見積もる必要がある、ということです。
もう1つは付随する情報です。変換は写真の情報を落とさずに運びます。同じファイルで確かめると、撮影日時、カメラの製造元と機種名、向き、位置情報の緯度が、JPEG側でもそのまま残っていました。撮影日時が残るのは並べ替えの前提なので、普通はこれが望ましい挙動です。ただし家の外へ写真を送るときは、撮った場所の座標も一緒に動くということになります。形式を変える作業と位置情報を落とす作業は別の工程で、変換は後者をやってくれません。
右クリックで済む形にしておく
表の3番目の道は、人に渡しても使われ続ける唯一の形なので、別に説明する価値があります。ショートカットアプリでもオートメーションでも、変換をクイックアクションとして包むことができ、Finderで選んだファイルの右クリックのメニューに並びます。
ショートカット側では、Finderのクイックアクションとして表示する設定にして、選択されたファイルを入力に取り、画像を変換する手順でJPEGを指定し、保存して終わります。オートメーション側なら、種類を変更する処理を1つ置いたクイックアクションのワークフローで同じことができます。どちらでも、出来上がったものはFinderのメニューに残るので、変換は右クリック1回になります。共有している機械や、ターミナルを開かない相手に渡すなら、この形が実際に使われます。
判断が必要なのは、出力先をどこにするかです。元の隣に書き出す作りにすると、フォルダの中が対になったファイルで埋まります。5枚なら問題なく、500枚なら混乱します。決まった名前の下位フォルダに書き出す作りは片づいて見えますが、そのフォルダが無いと動きません。フォルダを作る工程までワークフローに入れておくと、別の場所で初めて動かしたときに黙って失敗しなくなります。
クリックすら省く変わり種もあります。フォルダアクションは指定したフォルダを見張り、入ってきたファイルに処理を当てます。専用のフォルダが変換の工程そのものになるので、HEICを入れれば出力側にJPGが溜まります。毎週同じ相手へ渡す作業なら、どのコマンドを覚えるより少ない手数で回ります。
カメラの側で止める
同じ変換が何度も来るなら、一番安い対策は上流です。iPhoneの設定にはカメラの項目があり、その中のフォーマットで互換性優先を選ぶと、新しく撮る写真とビデオがJPEGとH.264になります。Appleの案内にも同じ内容が書かれています。
はっきりさせておく点が2つあります。効くのは新しく撮る分だけなので、すでに入っている写真は変わらず、手元のフォルダは一度は変換が必要です。そして圧縮の利点を手放すことになり、保存容量の残りが少ない端末では実際の負担になります。毎週Windowsの事務所へ写真を送る人には正しい取引で、年に2回しか困らない人には向きません。
上流の設定にはもう1つ、試して当てが外れる項目があります。設定の写真の中にあるMacまたはPCへの転送で、自動を選ぶ形です。これは形式を読めない送り先を想定した仕組みで、Macは読めます。Mac上でJPEGを得る手段として頼れるものではありません。撮る時点で互換性優先にしておくか、意図して変換するか。この2つが毎回同じ結果になる道です。
面倒なのは変換ではなく、その前後の行き来
コマンドを覚えたあとも、この作業が煩わしいままなのは、周りの往復が残るからです。1つの窓でフォルダを探し、ターミナルを開き、フォルダの位置を思い出し、パスを打ち、戻って出力を確かめ、結果を選んで送る。変換は2秒で、往復に2分かかります。それが毎回です。
縮められるのはここです。フォルダとターミナルとAIが同じ窓にある形なら、シェルは画面に出ているフォルダの中に既に居るので、--out に渡すのは長いパスではなく名前1つで足り、結果も同じ画面に現れます。窓の中身はできることに、他の道具との違いは他のファイル管理との比較に並べてあります。毎週同じ処理を当てる形にしたい場合は、覚えているコマンドより保存したコマンドのほうが確実で、先に出てくる疑問はよくある質問にまとめてあります。iPhoneやiPadから続きを進める前提もiPhone・iPadから続きをにあります。
手を付ける順番としては、保存先のフォルダを作る習慣を先に固めるのが得です。--out の有無が、変換と紛失の分かれ目になるからです。そのうえで、ちょうどよく見えた品質の数値を書き残しておけば、次の回が今回と揃います。
よくある質問
HEICをJPGに変換すると元の写真は消えますか?
指定を間違えたときだけ消えます。プレビューは書き出し先を別のフォルダにしておけば元が残り、sips は --out で保存先を指定していれば残ります。--out を付けずに sips を実行するとその場で書き換えられ、元は戻せないので、保存先の指定が安全装置になります。
JPGにしたら容量が増えたのはなぜですか?
HEICのほうが同じ見た目の品質で効率よく圧縮できるためです。4032×3024の写真で測ると、約1.2MBのHEICが既定の設定で約1.9MBのJPEGになり、品質100では約3.2MBまで増えました。減る前提ではなく増える前提で保存容量を見積もってください。
撮影日時や位置情報は変換後も残りますか?
残ります。撮影日時、カメラの製造元と機種名、向き、位置情報の緯度は、変換後のJPEGでもそのままでした。並べ替えの前提が保たれる一方、外部へ渡す写真には撮影場所も付いて回るので、共有する前に一度確認しておくとよいです。
フォルダ1つを何も導入せずに一括変換する方法はありますか?
sips がmacOSに同梱されています。出力用のフォルダを作ってから、写真のあるフォルダで sips -s format jpeg *.heic *.HEIC --out jpg を実行します。拡張子を大小どちらも並べる点が要点で、届いた経路によってどちらにもなるためです。
iPhoneがHEICを作らないようにできますか?
できます。設定からカメラ、フォーマット、互換性優先の順に選ぶと、新しく撮る写真がJPEGになります。すでにある写真は変わらず、圧縮の利点も手放すことになるので、写真を外へ渡す機会が多い人に向いた設定です。