لتحويل مجلد يحتوي على صور HEIC إلى صيغة JPEG على macOS ونقل بيانات EXIF الوصفية الخاصة بها، استخدم sips لإنشاء ملفات JPEG، ثم ExifTool لنسخ البيانات الوصفية من كل ملف أصلي. احتفظ بملفات HEIC دون تعديل واحفظ الملفات الجديدة في مجلد منفصل. تجعل هذه العملية المكونة من خطوتين نقل البيانات الوصفية صريحاً؛ فالتحويل الناجح للصورة بمفرده لا يثبت انتقال جميع حقول EXIF إلى ملف JPEG.
ما تحتاج إلى معرفته قبل التحويل
تُعد صيغة JPEG ترميزاً جديداً للصورة، مما يعني إعادة ضغط بيانات الصورة. ولا يمكن تحويلها دون أي تغيير في جودة الصورة. أما البيانات الوصفية فهي مسألة منفصلة: قد يتم تخزين تفاصيل الكاميرا وتاريخ الالتقاط وبيانات GPS في الملف الأصلي، ولكن ليس لكل حقل في HEIC حقل مكافئ يمكن لـ JPEG تخزينه. وبالتالي، فإن نسخ البيانات الوصفية لا يضمن بقاء كل حقل دون تغيير. تحقق من النتيجة إذا كان هناك وسم معين يهمك.
يمكن لتطبيق "المعاينة" (Preview) في macOS تصدير صورة واحدة أو عدة صور محددة بصيغة JPEG: افتح الصور في نافذة واحدة، وحددها في الشريط الجانبي، واختر ملف > تصدير (File > Export). توثق Apple عناصر التحكم في التنسيق والجودة، ولكنها لا توثق أن التصدير الجماعي يحافظ على جميع حقول EXIF. إذا كان الاحتفاظ بالبيانات الوصفية أمراً ضرورياً، فاستخدم سير عمل النسخ والتحقق الموضح أدناه. دليل التحويل لتطبيق Preview من Apple
التحويل ونسخ البيانات الوصفية باستخدام Terminal
يستخدم سير العمل هذا أمر sips من Apple لتحويل كل صورة، ثم ExifTool لنسخ البيانات الوصفية من الملف الأصلي المطابق لها. قم بتثبيت ExifTool أولاً باتباع تعليمات التثبيت الرسمية. أنشئ مجلداً مصدراً يحتوي على ملفات HEIC ومجلداً فارغاً للوجهة. في هذا المثال، المجلدان هما ~/Pictures/HEIC-Originals و~/Pictures/JPEG-Converted؛ قم بتغيير هذه المسارات إذا كانت مساراتك مختلفة.
افتح تطبيق Terminal وشغّل مثال Bash الكامل هذا. يتعامل هذا السكربت مع المسافات في أسماء المجلدات والملفات، ويتعرف على امتدادات .heic و.heif بصرف النظر عن حالة الأحرف، ويكتب ملفات JPEG في مجلد الوجهة المنفصل.
src="$HOME/Pictures/HEIC-Originals"
out="$HOME/Pictures/JPEG-Converted"
mkdir -p "$out"
find "$src" -maxdepth 1 -type f \( -iname '*.heic' -o -iname '*.heif' \) -print0 |
while IFS= read -r -d '' file; do
name=$(basename "${file%.*}")
jpg="$out/$name.jpg"
if sips -s format jpeg "$file" --out "$jpg"; then
exiftool -TagsFromFile "$file" -all:all -overwrite_original "$jpg"
else
printf 'Conversion failed: %s\n' "$file" >&2
fi
done
ينشئ الأمر sips ملف JPEG؛ بينما يقوم الخياران -TagsFromFile و-all:all في ExifTool بنسخ البيانات الوصفية من الملف الأصلي المحدد. يمنع الخيار -overwrite_original أداة ExifTool من ترك نسخة احتياطية من كل ملف JPEG. تصف وثائق ExifTool عملية نسخ البيانات الوصفية وتوضح أن الوسوم التي يمكن لتنسيق الوجهة استيعابها تعتمد على ذلك التنسيق نفسه. وثائق تطبيق ExifTool
يبحث السكربت فقط في المستوى الأعلى لمجلد المصدر. إذا كانت صورك في مجلدات متداخلة، فقم بتشغيله على كل مجلد على حدة أو عدّل مسارات البحث والوجهة حتى لا تحل الملفات ذات الأسماء المتطابقة محل بعضها البعض. تأكد من أن مجلد الوجهة فارغ أو أن أسماء ملفاته لا تتعارض مع الملفات الموجودة. احتفظ بالملفات الأصلية حتى تتحقق من المخرجات.
التحقق من احتواء ملفات JPEG على البيانات الوصفية المطلوبة
استخدم ExifTool لفحص ملف JPEG المحوّل بجانب ملفه المصدري. استبدل اسم الملف النموذجي باسم ملف من مجموعتك:
exiftool -a -G1 -s "$HOME/Pictures/HEIC-Originals/IMG_0001.HEIC"
exiftool -a -G1 -s "$HOME/Pictures/JPEG-Converted/IMG_0001.jpg"
قارن الحقول التي تهمك، مثل DateTimeOriginal، والشركة المصنعة للكاميرا وطرازها، وإحداثيات GPS. إذا ظهر حقل في HEIC ولم يظهر في JPEG، فهذا يعني أن عملية التحويل أو نسخ البيانات الوصفية لم تحفظه بصيغة قابلة للاستخدام؛ لا تفترض أنه محفوظ لمجرد أن Finder يعرض تاريخاً أو لأن صورة JPEG تفتح بسلاسة. يمكن لـ ExifTool قراءة البيانات الوصفية من العديد من تنسيقات الصور، ولكن الوسوم المدعومة والحقول القابلة للكتابة تختلف باختلاف التنسيق. وثائق التنسيقات والوسوم لـ ExifTool
المشكلات الشائعة والقيود
إذا أبلغ sips بأنه لا يمكنه قراءة ملف، فتأكد من أنه صورة مدعومة وأن امتداد اسم الملف يطابق نوع الملف. إذا ظهرت رسالة في Terminal تفيد بأن exiftool: command not found، فإن ExifTool غير مثبت أو غير موجود في مسار الـ shell الخاص بك. وإذا كان هناك ملفان أصليان يشتركان في نفس الاسم الأساسي، فسيستهدف السكربت نفس اسم JPEG؛ لذا تعامل مع تلك الملفات في مجلدات وجهة منفصلة أو أعد تسميتها قبل التحويل.
لا يحفظ نسخ EXIF كل خاصية مرتبطة بالصورة الأصلية؛ فلا يمكن لـ JPEG تمثيل البيانات الخاصة بـ HEIC فقط، كما أن نسخ الوسوم لا يجعل وحدات البكسل في JPEG مطابقة للصورة التي فُك تشفيرها من HEIC. بالنسبة للأرشيفات المهمة، احتفظ بملفات HEIC الأصلية وعامل ملفات JPEG كنسخ للملاءمة والتوافق. عندما يتطلب الاستخدام المستهدف مجرد تغيير سريع للتنسيق دون أهمية للبيانات الوصفية، فإن التصدير الجماعي الموثق في تطبيق Preview يكون أبسط؛ أما عندما تهمك حقول EXIF محددة، فقم بالتحويل والنسخ والتحقق منها.
المصادر
تحويل أنواع ملفات الصور باستخدام "المعاينة" على Mac — دعم Apple
وثائق تطبيق ExifTool — ExifTool
أسماء وسوم ExifTool — ExifTool
تثبيت ExifTool — ExifTool