4 คะแนน โดย GN⁺ 2024-01-06 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เมื่อพื้นที่จัดเก็บ iCloud ใกล้ถึงขีดจำกัด 200GB และรูปภาพเพียงอย่างเดียวกินพื้นที่ประมาณ 127GB จึงลองใช้วิธีอ้อมด้วยการค้นหาและลบวิดีโอขนาดใหญ่เอง แทนการอัปเกรดเป็น 1TB
  • Apple Photos และ iCloud บนเว็บไม่มีการ จัดเรียงตามขนาดไฟล์ และแอปแยกต่างหากก็แสดงรูปภาพที่ถูก offload ไว้บน iCloud เหมือนเป็น 0B ทำให้ใช้เป็นเกณฑ์ในการจัดระเบียบได้ยาก
  • อาศัยข้อเท็จจริงที่ว่าแบดจ์ระยะเวลาวิดีโอบนเว็บ iCloud Photos เป็นองค์ประกอบ HTML ชื่อ video-text-badge แล้วใช้ JavaScript หาเหล่าวิดีโอที่ยาวและทำเครื่องหมายด้วย กรอบสีแดง
  • หลังจากดาวน์โหลดและลบวิดีโอที่ยาวเกิน 30 วินาที ไฟล์ที่ดาวน์โหลดมามีขนาดประมาณ 7GB แต่พื้นที่จัดเก็บ iCloud ลดลงประมาณ 55GB ซึ่งเป็นความแตกต่างที่ไม่คาดคิด
  • วิดีโอ 4K ใหม่มีขนาดไฟล์และการเปลี่ยนแปลงที่ iCloud แสดงใกล้เคียงกัน แต่สำหรับวิดีโอเก่า iCloud นับว่ามีขนาดใหญ่กว่าไฟล์จริง ทำให้ วิดีโอเก่าขนาดใหญ่ อาจเป็นลำดับความสำคัญในการจัดระเบียบ

คัดเลือกวิดีโอยาวบนเว็บ iCloud

  • หลังจาก Apple แจ้งเตือนเรื่องพื้นที่จัดเก็บ หากอัปจาก 200GB เป็น 1TB ค่าใช้จ่ายจะเพิ่มขึ้นมากกว่า 3 เท่า จึงเริ่มมองหาทางเลือก
  • พื้นที่จัดเก็บส่วนใหญ่เป็นรูปภาพและกินพื้นที่ประมาณ 127GB แต่ Apple Photos และ iCloud บนเบราว์เซอร์ไม่มีฟังก์ชันจัดเรียงรูปภาพตาม ขนาดไฟล์
  • แอปที่แสดงรูปภาพซ้ำหรือขนาดไฟล์วิดีโอก็แสดงรูปภาพที่ถูก offload ไปยัง iCloud เหมือนเป็น 0B จึงไม่ได้ช่วยในการจัดระเบียบจริงมากนัก
  • ไปที่ Photos -> Media Types -> Videos บนเว็บไซต์ iCloud แล้วซูมหน้าจอออกให้มากที่สุด เพื่อให้มองเห็นวิดีโอจำนวนมากในครั้งเดียว
  • มองว่าหากแบดจ์ระยะเวลาของแต่ละวิดีโอเป็นองค์ประกอบ HTML ก็สามารถค้นหาและกรองด้วย JavaScript ได้ จึงเขียนโค้ดสำหรับไฮไลต์วิดีโอที่ยาว
    • คลาสของแบดจ์ระยะเวลาคือ video-text-badge
    • ค้นหาแบดจ์ในหน้า จัดเรียงตามระยะเวลาเล่น และไฮไลต์รายการที่เกินค่า threshold ที่กำหนด
    • เนื่องจาก iCloud โหลดเฉพาะองค์ประกอบที่อยู่บนหน้าจอ จึงให้รันซ้ำด้วย timer เพื่อประมวลผลองค์ประกอบใหม่ที่เลื่อนเข้ามา
  • วิธีใช้งานคือเปิด JavaScript console บนหน้า iCloud แล้ววาง gist ทั้งหมดลงไป
  • ผลคือวิดีโอที่ยาวกว่า 20 วินาทีถูกแสดงด้วยกล่องสีแดง ทำให้เลือกวิดีโอขนาดใหญ่หลายรายการ ดาวน์โหลด แล้วลบได้ง่ายขึ้น

การเปลี่ยนแปลงพื้นที่หลังลบและการทดลองสองครั้ง

  • เมื่อลบรายการวิดีโอ iCloud ที่ยาว เกิน 30 วินาที ทั้งหมดด้วยสคริปต์ วิดีโอที่ดาวน์โหลดมามีขนาดประมาณ 7GB แต่พื้นที่จัดเก็บ iCloud ลดลงประมาณ 55GB
    • วิดีโอทั้งหมดที่ดาวน์โหลดมากินพื้นที่บนดิสก์ 8GB
    • ปริมาณการใช้งาน iCloud ลดจาก 199GB เหลือ 143GB
  • ในการทดลองแรก อัปโหลด วิดีโอ 4K ที่มีการเคลื่อนไหวมาก เพื่อตรวจสอบการตอบสนองของพื้นที่จัดเก็บ iCloud
    • ขนาดไฟล์ที่อัปโหลดคือ 281MB
    • หลังอัปโหลด ปริมาณการใช้งาน iCloud อยู่ที่ 145.33GB
    • หลังดาวน์โหลดและลบ ไฟล์ยังคงมีขนาด 281MB
    • หลังลบ ปริมาณการใช้งาน iCloud แสดงเป็น 145.6GB ดังนั้นส่วนต่างของค่าที่แสดงอยู่ราว 270MB
  • ในการทดลองที่สอง เลือกวิดีโอสั้นจากบรรดาวิดีโอเก่าที่ iCloud แสดงว่าเป็นไฟล์ขนาดใหญ่เพื่อตรวจสอบ
    • iCloud แสดงว่าวิดีโอนั้นมีขนาด 128MB
    • ไฟล์ที่ดาวน์โหลดมามีขนาด 47MB
    • ก่อนลบ ปริมาณการใช้งาน iCloud อยู่ที่ 145.29GB และหลังลบอยู่ที่ 145.12GB ลดลงประมาณ 170MB
  • การลบไฟล์ราว 7GB ปลดพื้นที่จัดเก็บได้มากกว่า 7 เท่า และวิดีโอเก่าขนาดใหญ่ดูเหมือนมี การครอบครองพื้นที่จัดเก็บ บน iCloud มากกว่าไฟล์จริง
  • ยังไม่ทราบสาเหตุ แต่สุดท้ายก็ได้พื้นที่จัดเก็บ iCloud คืนมามากกว่า 50GB และเหลือสคริปต์ JavaScript เล็ก ๆ ที่สามารถใช้ทำงานแบบเดียวกันได้อีกครั้ง

1 ความคิดเห็น

 
GN⁺ 2024-01-06
ความคิดเห็นจาก Hacker News
  • Photos.app ไม่แสดง ขนาดไฟล์ เลยเคยคิดว่าจะทำส่วนขยายของ Photos.app หรือแอปแยกต่างหากที่ช่วยหาไฟล์ขนาดใหญ่
    แต่ดูเหมือน API จะไม่เปิดเผย “ขนาดไฟล์” และอย่างน้อยก็หาวิธีง่าย ๆ ไม่เจอ
    ผมมองว่า “รูปภาพ” หรือ “วิดีโอ” น่าจะใกล้เคียงกับวิวที่แสดง underlying “photo or video object” มากกว่า ต่อให้ตัดวิดีโอ วิดีโอต้นฉบับทั้งไฟล์ก็ยังอยู่ และเหมือนว่าต้อง export ออกมาก่อนถึงจะได้ไฟล์ที่ถูกตัดแล้วซึ่งมีขนาดเล็กลงจริง ๆ
    เลยทำให้ขนาดไฟล์ดูต่างกันไป นอกจากนี้มีคนบอกว่าเคยทำ AppleScript สำหรับดูขนาดไฟล์ไว้ด้วย: https://discussions.apple.com/docs/DOC-250000422

    • ใช่แล้ว แอป Photos จะเก็บ ไฟล์ต้นฉบับที่ยังไม่ถูกแก้ไข ไว้ และเก็บข้อมูลการแก้ไข/การตัดแยกต่างหาก เพราะสามารถย้อนกลับไปต้นฉบับและแก้ไขใหม่ได้ทุกเมื่อ จึงอาจมีรูปเดียวกันหลายชุดทั้งก่อนและหลังแก้ไขถูกเก็บอยู่ก็ได้
      อยากรู้ว่าไปหา “ขนาดไฟล์” จาก API ไหน
      ผมดึงข้อมูลขนาดจาก Photos.app ได้ด้วย PhotoKit API: https://alexwlchan.net/2023/finding-big-photos/
      ทดสอบแค่กับไลบรารีของผมที่มีรายการประมาณ 26,000 รายการ แต่ใช้เป็นตัวชี้วัดเพื่อหาไฟล์ที่ใหญ่ที่สุดได้ดี อย่างไรก็ตามยังไม่ได้ยืนยันว่าถ้า export วิดีโอ 1GB ออกมาแล้ว พื้นที่ใช้งาน iCloud จะลดลง 1GB หรือไม่
    • เพิ่มเติมคือยังไม่ได้ดูละเอียดนัก แต่ถ้านำเข้ารูป RAW+JPG จะตั้งค่า “ต้นฉบับ” ให้เป็นอย่างใดอย่างหนึ่งได้ ถ้าไม่เช็กเมนู ก็อาจนำเข้าและแก้ไขโดยไม่รู้ว่ากำลังใช้ฝั่งไหนอยู่
      ดังนั้นรูปที่เพิ่งนำเข้าในไลบรารีซึ่งเห็นเป็น thumbnail เดียว จริง ๆ อาจมีขนาด 5MB หรือ 50MB ก็ได้
    • ถ้ายินดีเขียนโค้ด ก็สงสัยว่าเคยลองดู ฐานข้อมูลภายใน หรือยัง ครั้งสุดท้ายที่ดูมันเป็น sqlite ธรรมดา ๆ และแม้จะกวาดตาดูคร่าว ๆ ก็พอเข้าใจได้ระดับหนึ่ง
    • ถ้าถามว่าทำไมขนาดไฟล์ถึงต่างกัน เหตุผลนี้ดูสมเหตุสมผลที่สุด ผมเองก็เคยเห็น การกู้คืนสื่อ ที่ไม่คาดคิดเหมือนกัน นึกว่าตัดหรือแก้ไขวิดีโอไปแล้ว แต่ไฟล์ยังคงอยู่เต็มความยาวและความละเอียดเดิม
      นี่ยังอธิบายได้ด้วยว่าทำไมพื้นที่เก็บข้อมูล iPhone ถึงมักเฉียดเต็มตลอด แม้จะจัดการอย่างย้ำคิดย้ำทำแค่ไหนก็ตาม
    • ทำได้ด้วย https://github.com/RhetTbull/osxphotos:
      osxphotos query --min-size 100MB --add-to-album "Big Files"
      ค้นหารูปภาพและวิดีโอทั้งหมดที่ใหญ่กว่า 100MB แล้วเพิ่มเข้าอัลบั้ม “Big files”
      ดูรายละเอียดได้ที่ osxphotos query --help หรือถ้าต้องการเปิดเอกสารในเบราว์เซอร์ให้ใช้ osxphotos docs หมายเหตุว่าเครื่องมือนี้ผมเป็นคนทำเอง
  • อาจเป็นบั๊กก็ได้ แต่ในบางกรณีก็เป็นไปได้ว่า iCloud แอบเก็บไฟล์เดียวกันไว้หลายเวอร์ชัน เพราะ Apple ก็ทำเรื่องคล้าย ๆ กันกับไฟล์มีเดียอื่นด้วย
    ตัวอย่างสุดท้ายน่าสนใจ:
    “iCloud บอกว่าวิดีโอมีขนาด 128MB แต่พอดาวน์โหลดลงมา วิดีโอจริงมีขนาด 48MB และเมื่อลบออก พื้นที่ว่างเพิ่มขึ้นประมาณ 170MB”
    เรื่องนี้ชี้ไปในทางว่า iCloud ไม่ได้แค่แสดงขนาดไฟล์ตัวอย่างผิดเฉย ๆ เพราะถ้าลบไฟล์ 128MB พื้นที่ iCloud ก็ควรว่างขึ้นประมาณ 128MB เท่านั้น แต่จริง ๆ แล้วพื้นที่ว่างเพิ่มขึ้นใกล้เคียง 176MB ซึ่งเป็นผลรวมของขนาดที่แสดง 128MB กับเวอร์ชันที่ดาวน์โหลดมา 48MB ถ้า iCloud แสดงพื้นที่ว่างโดยปัดเป็นหน่วย 10MB ก็ถือว่าเข้ากันได้พอดี

    • การสำรองข้อมูลแบบส่วนต่าง หรือการจัดการเวอร์ชันบางรูปแบบดูเป็นหนึ่งในสาเหตุที่ obvious ที่สุด หรืออาจเป็นการเก็บซ้ำเต็มชุดเพื่อการรักษาไฟล์ก็ได้ ปัญหาคือทั้งหมดนี้ไม่โปร่งใสเลย
      สุดท้ายพื้นที่เก็บข้อมูลก็ถูกผูกกับบริการบางอย่างมากขึ้นเรื่อย ๆ และเราจ่ายค่าสมาชิกเป็นประจำตามปริมาณพื้นที่รวม แต่แทบไม่มีข้อมูลว่าจะปรับใช้พื้นที่นั้นให้มีประสิทธิภาพได้อย่างไร ในมุมผู้บริโภคที่อยากอยู่ในระดับค่าใช้จ่ายคงที่ หรืออยากลดอัตราส่วนพื้นที่/ค่าใช้จ่าย ก็เหมือนทำได้แค่นั่งเฉย ๆ แล้วจ่ายเพิ่มไปเรื่อย ๆ
      กลยุทธ์ธุรกิจสมัยใหม่ของวงการเทคโนโลยีคือการซ่อนตัวหลังความซับซ้อน ต้นทุนซับซ้อนเกินกว่าจะเข้าใจ และการเปิดข้อมูลภายในมากเกินไปจะทำให้คู่แข่งเห็นข้อมูลมากเกินไป อะไรทำนองนั้น แต่เวลาบริษัทต้องตรวจว่าดำเนินงานสูงกว่าต้นทุนหรือไม่ พวกเขาก็หาวิธีคำนวณตัวชี้วัดแบบนั้นออกมาได้อยู่ดี พอผู้บริโภคพยายามทำความเข้าใจ กลับกลายเป็นว่ามันซับซ้อนเกินไปทันที
      ปัญหาคือเทคโนโลยีมักโตไปถึงระดับที่ซับซ้อนเกินไปจริง ๆ และผู้บริหารก็รู้เรื่องนี้ จึงกลายเป็นข้ออ้างที่ค่อนข้างใช้ได้ผล แล้วก็สะดวกตรงที่พวกเขาไปทุ่มการลงทุนและบวกมาร์จินไว้ตรงจุดนั้นพอดี
    • บน iPhone การแก้ไขรูปภาพและวิดีโอเป็นเพียง เมตาดาตา เท่านั้น ส่วนไฟล์ต้นฉบับยังคงอยู่ ผมเพิ่งทดสอบโดยอัดวิดีโอ ตัดให้เหลือครึ่งหนึ่ง แล้วดาวน์โหลดไฟล์จาก iCloud
      ไฟล์ที่ถูกตัดมีขนาดเล็กกว่าที่ iCloud แสดง แต่เมื่อเลือกดาวน์โหลดต้นฉบับที่ไม่ได้แก้ไข ขนาดก็ตรงกับขนาดที่ iCloud แสดง
    • ต้นตอของความสับสนยังอยู่ที่รูปภาพและวิดีโอในไลบรารี Photos ไม่ใช่ไฟล์ที่ถูกคัดลอกไปเก็บในสตอเรจแบบง่าย ๆ Photos ยังเก็บ เมตาดาตา สำหรับการแก้ไข ไฟล์ที่เรนเดอร์แล้ว thumbnail และข้อมูลหลายอย่างที่ฟีเจอร์ของแอปต้องใช้ด้วย
      ดังนั้นเมื่อซิงก์รูปภาพกับ iCloud สิ่งที่ซิงก์ไม่ใช่แค่ไฟล์รายตัว แต่เป็นคอนเทนเนอร์ “Photos Library” ที่แอป Photos จัดการอยู่
      ถ้าเพิ่มไฟล์รายตัวโดยตรงจาก Finder หรือแอป Files ขนาดใน iCloud และระบบไฟล์โลคัลจะตรงกันพอดี
    • อาจจะเป็นกรณีนั้นจริง ๆ แต่ก็ไม่ได้ทำให้พ้นความรับผิด
      ถ้าซื้อฮาร์ดดิสก์หรือ USB stick คุณก็ใช้ GB จำนวนหนึ่งได้ตามต้องการ ใส่ไฟล์ 1GB เข้าไป พื้นที่ว่างก็ลดลง 1GB อาจเสียไปอีกไม่กี่ KB สำหรับเมตาดาตาตามระบบไฟล์ แต่การเลือกระบบไฟล์อยู่ที่ผู้ใช้ ไม่ใช่อุปกรณ์จัดเก็บข้อมูลบังคับ
      ต่อให้ NAND controller ใช้พื้นที่ overprovisioning ไปไม่กี่ MB เพื่อเก็บตาราง mapping ของบล็อก หรือเก็บข้อมูลซ้ำเพื่อความสะดวก ผู้ใช้ก็ไม่ได้ถูกเรียกเก็บค่าใช้จ่ายสำหรับพื้นที่ overprovisioning นั้น
      แต่กรณีนี้คือขายอุปกรณ์จัดเก็บข้อมูลที่เข้าถึงผ่าน HTTP แล้วพอเขียนไฟล์ 1GB ก็ทำ replication/แปลงไฟล์ ฯลฯ เพื่อความสะดวกของตัวเอง และยังเรียกเก็บค่าพื้นที่เก็บข้อมูลของสำเนาที่ผู้ใช้ไม่ได้ร้องขอนั้นด้วย นี่เป็นเรื่องใหม่และเกินคาด
  • ผมได้นำไอเดีย/วิธีแก้นี้ไปทำเป็น สคริปต์ TamperMonkey/Greasemonkey แล้ว
    และเพิ่มฟังก์ชันสำหรับ “ซ่อน” องค์ประกอบทั้งหมดที่ไม่ตรงตามเกณฑ์ด้วย
    https://github.com/seffignoz/icloudcleanup

  • นี่เป็นหนึ่งในเหตุผลที่ผมทำ self-hosting เอง ผมไม่เชื่อมั่นในความชัดเจนและความโปร่งใสของผู้ให้บริการคลาวด์ ต่อให้โซลูชัน self-hosting จะเสถียรน้อยกว่า ปลอดภัยน้อยกว่า และประสิทธิภาพต่ำกว่ามาก ผมก็คงไม่เปลี่ยน
    ส่วนตัวผมใช้ immich อยู่ เป็นโซลูชันที่ค่อนข้างสมบูรณ์ มีแอป iOS/Android, คอมโพเนนต์ฝั่งเซิร์ฟเวอร์ และตัวเลือกซิงก์/สำรองข้อมูล
    https://immich.app/

    • ดูเหมือน Apple ยังไม่ตระหนักว่า UI จัดการโควตา เป็นโอกาสในการขายที่ยอดเยี่ยมแค่ไหน ไม่มีตำแหน่งไหนเหมาะกว่านี้สำหรับการขายพื้นที่เก็บข้อมูลเพิ่มแล้ว
      Google ทำแบบนั้น ลองดู https://one.google.com/storage และ https://photos.google.com/quotamanagement จะเห็นว่ามันช่วยให้หาไฟล์ที่จะลบได้ดี และสุดท้ายก็ออกแบบมาให้คุณเหนื่อยกับการลบจนยอมซื้อพื้นที่เก็บข้อมูลเพิ่ม
    • ดูน่าสนใจ แต่จากคำเตือนด้านบน คิดว่าควรรอจนกว่าจะ เสถียร กว่านี้ก่อน
  • เท่าที่ผมเข้าใจ iCloud เก็บ ต้นฉบับคุณภาพเต็ม ไว้ แล้วดาวน์โหลดเวอร์ชันที่ปรับให้เหมาะสมคุณภาพต่ำกว่าลงมาบนโทรศัพท์
    ในการตั้งค่า iPhone ถ้าไปที่ Apple ID > iCloud > Photos จะมีตัวเลือก “Optimise iPhone Storage” ซึ่งเปิดไว้เป็นค่าเริ่มต้น
    คำอธิบายของตัวเลือกนี้บอกว่า หากพื้นที่ในโทรศัพท์เหลือน้อย รูปภาพและวิดีโอความละเอียดเต็มจะถูกแทนที่โดยอัตโนมัติด้วยเวอร์ชันขนาดเล็กกว่าสำหรับอุปกรณ์ และสามารถดาวน์โหลดเวอร์ชันความละเอียดเต็มจาก iCloud ได้ทุกเมื่อ
    แบบนี้ดูสมเหตุสมผลดี

    • ถึงอย่างนั้น การดาวน์โหลดก็ควรคืนค่าเป็น ไฟล์ต้นฉบับ ดังนั้นจึงใช้อธิบายความต่างของขนาดพื้นที่เก็บข้อมูลไม่ได้
    • มันอธิบายกรณีที่ผู้เขียนอัปโหลดไฟล์ใหม่แล้วดาวน์โหลดกลับมา แต่ขนาดไฟล์ไม่ต่างกันมากไม่ได้ ดูเหมือนความต่างของขนาดไฟล์จะเกิดเฉพาะกับไฟล์วิดีโอเก่าเท่านั้น
    • เรื่องนี้ไม่เกี่ยวกัน
      นี่เป็นเรื่องของพื้นที่เก็บข้อมูลในโทรศัพท์ที่เห็นได้ใน Settings > Manage storage และไม่เกี่ยวกับ พื้นที่เก็บข้อมูลบนคลาวด์
  • เป็นบทความที่น่าสนใจ ผมก็ต้องอัปเกรดแพ็กเกจ iCloud เพราะปัญหาคล้าย ๆ กัน ดังนั้นจากมุมของ Apple มันอาจไม่ใช่เรื่องที่มีลำดับความสำคัญสูงในการแก้
    ถ้าถ่ายแบบ RAW+JPEG Apple Photos จะจับภาพสองภาพนั้นเป็นคู่กัน วิธีนี้ไม่ใช่สิ่งที่หายากมากสำหรับคนรักการถ่ายภาพ และมีประโยชน์เพราะสลับระหว่าง RAW กับ JPEG ได้ง่าย โดยไม่ทำให้มีรูปที่คล้ายซ้ำกันเต็มไลบรารี
    แต่เพราะวิธีจับคู่นี้และการออกแบบระบบไฟล์ที่อธิบายในบทความ ดูเหมือนจะไม่สามารถแยกทั้งสองออกจากกันง่าย ๆ แล้วลบเฉพาะ RAW ได้ ตอนนี้มีไฟล์ RAW ขนาดมหึมาที่ผ่านมาหลายปีและผมจะไม่แตะมันอีกแน่นอน แต่ก็ลบไม่ได้เพราะอยากเก็บ JPEG ที่เล็กกว่ามากไว้
    วิธีที่ดูง่ายที่สุดคือนำต้นฉบับออกมา ลบออกจากไลบรารี แล้วนำกลับเข้าไปเฉพาะ JPEG แต่แบบนั้นจะเสียเมทาดาทาหลายปีที่สะสมไว้ในไลบรารี
    สุดท้ายก็เลยจำใจต้องอัปเกรดแพ็กเกจ

    • อาจเป็นคำถามโง่ ๆ แต่ส่งออกเมทาดาทาแล้วนำกลับเข้าไปใหม่ไม่ได้หรือ? ผมสงสัยว่ามี เมทาดาทา อื่นนอกจากข้อมูล EXIF หรือว่า Apple ไม่ส่งออกทั้งหมดกันแน่
      ถ้าหมายถึงฟีเจอร์เพิ่มเติมอย่างการรู้จำใบหน้า พอนำ JPEG กลับเข้าไปแล้วแอปก็น่าจะประมวลผลใหม่ไม่ใช่หรือ?
    • เครื่องมือโอเพนซอร์ส osxphotos(https://github.com/RhetTbull/osxphotos) อาจช่วยได้ สามารถส่งออกภาพ JPEG โดย รักษาเมทาดาทาไว้ ด้วยยูทิลิตี exiftool ของบุคคลที่สาม:
      osxphotos export /path/to/export --has-raw --skip-raw --exiftool
      คำสั่งนี้จะส่งออกภาพทั้งหมดที่มีคู่ RAW แต่ข้ามคอมโพเนนต์ RAW และใช้ exiftool(https://exiftool.org/) เขียนเมทาดาทาอย่างคีย์เวิร์ดลงในไฟล์ JPEG ที่ส่งออก หลังจากนั้นสามารถลากกลับเข้า Photos หรือรัน osxphotos import /path/to/export/* เพื่อนำกลับเข้าไปได้
      คำสั่ง export และ import ยังมีตัวเลือกอื่น ๆ อีกมากสำหรับควบคุมไดเรกทอรีส่งออก ฯลฯ ใช้ osxphotos help export หรือถ้าต้องการเปิดเอกสารในเบราว์เซอร์ให้ใช้ osxphotos docs อนึ่ง ผมเป็นผู้เขียน osxphotos เอง
    • ผมไม่ได้อยู่ในสถานการณ์เดียวกันตอนนี้ แต่เป็นคนบ้ากล้อง เลยคิดว่าสุดท้ายคงเจอเหมือนกัน จึงลองค้นดู
      ถ้ารัน File/Export Unmodified Originals ดูเหมือนจะส่งออก RAW+HEIC พร้อมไฟล์ sidecar แยกที่มีเมทาดาทา จากนั้นถ้าย้ายไฟล์ RAW ออกไปต่างหากแล้วนำเข้าไฟล์ HEIC ก็ว่ากันว่าไฟล์เมทาดาทา sidecar จะถูกนำเข้าอัตโนมัติด้วย
      แต่จะเสียข้อมูลการแก้ไขไป ถึงอย่างนั้น somehow ดูเหมือนจะ “copy edits” ได้ คนที่มีทักษะทางเทคนิคน่าจะใช้ AppleScript ทำกระบวนการนี้ให้อัตโนมัติได้
      แต่มันยุ่งยากโดยไม่จำเป็น และควรเป็นฟีเจอร์ที่มีใน Photos.app อยู่แล้ว เห็นได้ชัดว่าลำดับความสำคัญต่ำ เพราะมันช่วยผลักให้ผู้ใช้ไปใช้แพ็กเกจ iCloud ที่แพงขึ้น
    • ผมก็อยู่ในสภาพเดียวกันตอนนี้ และยังไม่ได้เริ่มงานยุ่งยากนี้เลย กำลังมองหาวิธีแก้อย่างจริงจัง
  • น่าประหลาดที่ก่อนวันหยุดยาว ผมก็ได้รับ การแจ้งเตือนพื้นที่จัดเก็บ คล้าย ๆ กันจาก Apple และตัดสินใจว่าจะดาวน์โหลดรูปภาพ/วิดีโอทั้งหมดลงมายังมีเดียเซิร์ฟเวอร์ของตัวเอง แทนที่จะเก็บไว้บน iCloud
    ไม่มีวิธีที่ง่ายและตรงไปตรงมาในการดาวน์โหลดอาร์ไคฟ์จาก iCloud ผมกำลังค่อย ๆ ทำอยู่โดยใช้เครื่องและอุปกรณ์หลายตัว
    ปัญหาของการเปลี่ยนแปลงล่าสุดของ Apple คือการขึ้นราคาโดยไม่มีเหตุผลชัดเจน เรายังจะถ่ายรูปและวิดีโอต่อไป และด้วยเทคโนโลยีกับฟีเจอร์ใหม่ ๆ ขนาดไฟล์ก็ย่อมใหญ่ขึ้นเรื่อย ๆ

    • มีวิธีง่าย ๆ ในการดึงข้อมูลออกมา เพียงแต่มันถูกซ่อนไว้พอสมควร
      ทำงานคล้าย Google Takeout ให้ล็อกอินหน้าบัญชี Apple ID ที่ appleid.apple.com จาก Mac, iPhone, iPad หรือ PC ไปที่ “Data & Privacy” แล้วเลือก “Manage Your Data and Privacy”
      ในหน้าถัดไป ไปที่ “Get a copy of your data” แล้วเลือก “Get started” ก็ได้แล้ว
    • เครื่องมือที่จะเปลี่ยนชีวิต:
      https://github.com/icloud-photos-downloader/icloud_photos_downloader
    • ผมใช้ PhotoSync(https://www.photosync-app.com/home) เพื่อคัดลอกรูปจาก iPhone ไปยัง NAS เป็นโปรแกรมที่ยอดเยี่ยม
      ถ้าต้องการ มันยังดาวน์โหลดรูปจาก iCloud และแปลงฟอร์แมตได้ด้วย ทุก ๆ ไม่กี่วันผมจะส่งรูปใหม่ไปยัง NAS เพื่อให้มีสำเนาโลคัลอยู่เสมอ และสำเนาเหล่านี้ก็ถูกแบ็กอัปไปยัง Backblaze B2 ทุกคืนด้วย
      ด้วยการแปลงฟอร์แมต ผมสามารถเก็บรูปเป็นคู่ HEIC+JPG ได้ ทำให้มีทั้งต้นฉบับและเวอร์ชันที่ใช้งานง่ายกว่า
      สิ่งที่ผมอยากได้จริง ๆ คือเครื่องมือที่ทำแบบเดียวกันนี้กับ iCloud Drive ด้วย ผมเก็บข้อมูลหลายอย่างไว้ในนั้น แต่กังวลเพราะไม่มีวิธีแบ็กอัปที่สมเหตุสมผล วิธีที่ Apple แนะนำ(https://support.apple.com/en-us/HT204055) ยังน่าผิดหวังมาก
    • ถ้ามี MacOS แล้ว แอป Photos ล่ะเป็นอย่างไร? ผมเก็บสำเนาโลคัลของ iCloud Photo Library ไว้และซิงก์กับแอป Photos บน MacOS
  • สิ่งที่ผมเกลียดที่สุดคือ ช่วงแพ็กเกจราคา แปลก ๆ ที่กระโดดจาก 200GB ไป 2TB ไม่มีวิธีจ่ายเพิ่มแบบขั้นกลางเป็น 500GB หรือ 1TB ซึ่งน่าจะพอดีกับหลายครอบครัว
    ในยุคที่พื้นที่จัดเก็บกลายเป็นสินค้าโภคภัณฑ์แล้ว ควรคิดเงินตาม GB ที่ใช้จริง

    • ต้องทำแบบนั้นถึงจะช่วยอุดหนุนแพ็กเกจฟรีได้
    • ถ้าต้องการ ก็ควรต่อเพิ่มจาก 200GB ได้เป็นหน่วยละ 50GB ตามจำนวนที่ต้องการ
  • สิ่งที่กินพื้นที่ iCloud ของผมมากคือรูปเวอร์ชันวิดีโอ “live” ไฟล์ใหญ่กว่ารูปที่มีชิ้นส่วนการเคลื่อนไหวสั้น ๆ แนบมาด้วยเสียอีก
    วิธีจัดการที่ผมพบจนถึงตอนนี้มีแค่ดาวน์โหลดไฟล์ลงมาในเครื่อง ลบออกจาก iCloud จากนั้นลบวิดีโอในเครื่องแล้วอัปโหลดกลับเฉพาะภาพนิ่งที่เหลือ
    มันใช้เวลานานและเทอะทะ และระหว่างทำก็รู้สึกกังวลว่าจะลบอะไรผิดหรือทำของสำคัญหาย
    ผมสงสัยว่ามีเครื่องมือที่ทำกระบวนการนี้ให้เป็นอัตโนมัติ พร้อมให้ การควบคุมด้านการแก้ไข ในระดับหนึ่ง เพื่อระบุและเก็บภาพ “live” จำนวนน้อยที่อยากเก็บไว้จริง ๆ ได้หรือไม่

  • ผมอ่านถูกหรือเปล่า?
    ถ้านี่เป็นปรากฏการณ์ที่แพร่หลาย ก็อาจมองได้ว่า Apple ปั่นตัวเลขให้สูงขึ้นเพื่อกระตุ้นให้อัปเกรด และอาจนำไปสู่การฟ้องร้องได้ไม่ใช่หรือ?
    ผมไม่ใช่ผู้เชี่ยวชาญด้านกฎหมาย

    • ต้นฉบับไม่ได้คำนึงว่า การเพิ่มสื่อเข้าไปใน Photos ไม่ใช่แค่ “คัดลอกไฟล์แล้วเก็บไว้” แอป Photos ก็มี รูปแบบไฟล์ Photos Library ของตัวเองเหมือนแอปอื่น ๆ
      เมื่อเพิ่มรูปหรือวิดีโอ แอป Photos จะวิเคราะห์สิ่งนั้น และจัดเก็บเมตาดาต้าหลายอย่างที่จำเป็นต่อการทำงานของแอป รวมถึงประวัติการแก้ไข สุดท้ายสิ่งเหล่านี้ก็จะถูกซิงก์ขึ้น iCloud
    • หากแก้ไขรูป/วิดีโอแบบ inplace โดยไม่บันทึกเป็นไฟล์ใหม่ iOS จะเก็บ ไฟล์ต้นฉบับ ไว้เพื่อให้ undo หรือ revert ได้ Photos หรือแกลเลอรี iCloud จะไม่แสดงต้นฉบับให้เห็นเลย นั่นอาจเป็นเหตุผลก็ได้
    • ผมก็อ่านบทความนี้แบบนั้นเหมือนกัน ถ้าดาวน์โหลดไฟล์ปริมาณหนึ่งจากคลาวด์สตอเรจแห่งหนึ่งแล้วอัปโหลดไปยังอีกแห่ง ก็น่าจะตรวจสอบได้ว่ามีความแตกต่างชัดเจนหรือไม่
      Apple อาจยังใช้ฟอร์แมตระบบไฟล์เก่ากับ iCloud อยู่ก็ได้ มันออกมานานพอสมควรแล้ว และอาจไม่ได้ใส่ใจเปลี่ยนรูปแบบการจัดเก็บ รูปภาพ/วิดีโอของบัญชีเก่า ๆ ก็มีความเป็นไปได้ว่าจะอยู่บนไดรฟ์ “เก่า”