4 पॉइंट द्वारा GN⁺ 2024-01-06 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • जब iCloud स्टोरेज 200GB सीमा के करीब पहुँच गया और सिर्फ़ फ़ोटो ही लगभग 127GB घेर रही थीं, तो 1TB अपग्रेड करने के बजाय बड़े वीडियो खुद ढूँढकर हटाने वाला एक वैकल्पिक तरीका अपनाया गया
  • Apple Photos और iCloud वेब में फ़ाइल साइज़ के अनुसार sort करने का विकल्प नहीं है, और अलग ऐप्स भी iCloud पर offload की गई फ़ोटो को 0B जैसा दिखाते थे, इसलिए उन्हें सफ़ाई के मानदंड के तौर पर इस्तेमाल करना मुश्किल था
  • iCloud Photos वेब में वीडियो प्लेबैक समय का बैज video-text-badge HTML एलिमेंट होने का फायदा उठाकर, JavaScript से लंबे वीडियो ढूँढे गए और उन्हें लाल बॉर्डर से चिह्नित किया गया
  • 30 सेकंड से लंबे वीडियो डाउनलोड करके हटाने पर, डाउनलोड की गई फ़ाइलें लगभग 7GB थीं, लेकिन iCloud स्टोरेज लगभग 55GB कम हुआ—यह एक अप्रत्याशित अंतर था
  • नए 4K वीडियो में फ़ाइल साइज़ और iCloud में दिखने वाला बदलाव लगभग मेल खाते थे, लेकिन पुराने वीडियो iCloud में वास्तविक फ़ाइल से बड़े दिखे, इसलिए पुराने बड़े वीडियो सफ़ाई की प्राथमिकता हो सकते हैं

iCloud वेब में लंबे वीडियो चुनना

  • Apple की स्टोरेज चेतावनी के बाद, 200GB से 1TB पर जाने पर लागत 3 गुना से ज़्यादा बढ़ रही थी, इसलिए विकल्प ढूँढना शुरू किया गया
  • स्टोरेज का ज़्यादातर हिस्सा फ़ोटो का था और वे लगभग 127GB घेर रही थीं, लेकिन Apple Photos और iCloud ब्राउज़र में फ़ोटो को फ़ाइल साइज़ के अनुसार sort करने की सुविधा नहीं थी
  • डुप्लिकेट फ़ोटो या वीडियो फ़ाइल साइज़ दिखाने वाले ऐप्स भी iCloud पर offload की गई फ़ोटो को 0B जैसा दिखाते थे, इसलिए वे वास्तविक सफ़ाई में बहुत मददगार नहीं थे
  • iCloud वेबसाइट के Photos -> Media Types -> Videos पर जाकर स्क्रीन को जितना संभव हो उतना zoom out किया गया ताकि एक बार में ज़्यादा वीडियो दिखाई दें
  • यह मानकर कि हर वीडियो का प्लेबैक टाइम बैज एक HTML एलिमेंट है, JavaScript से खोज/फ़िल्टर करने योग्य होगा, लंबे वीडियो को highlight करने वाला कोड लिखा गया
    • प्लेबैक टाइम बैज की class video-text-badge है
    • पेज के अंदर के बैज खोजकर उन्हें प्लेबैक समय के आधार पर sort किया गया और एक तय threshold से ऊपर के आइटम highlight किए गए
    • iCloud सिर्फ़ स्क्रीन पर लोड हुए एलिमेंट ही लाता है, इसलिए नए scroll होकर आने वाले एलिमेंट भी प्रोसेस हों, इसके लिए timer से कोड बार-बार चलाया गया
  • इस्तेमाल का तरीका यह था कि iCloud पेज पर JavaScript console खोलकर पूरा gist paste किया जाए
  • नतीजतन 20 सेकंड से लंबे वीडियो लाल बॉक्स से चिह्नित हो गए, जिससे कई बड़े वीडियो चुनना, डाउनलोड करना और फिर हटाना आसान हो गया

हटाने के बाद स्टोरेज में बदलाव और दो प्रयोग

  • स्क्रिप्ट से iCloud वीडियो में 30 सेकंड से लंबे सभी आइटम हटाने पर, डाउनलोड किए गए वीडियो लगभग 7GB थे, लेकिन iCloud स्टोरेज लगभग 55GB कम हो गया
    • डाउनलोड किए गए पूरे वीडियो डिस्क पर 8GB लेते थे
    • iCloud उपयोग 199GB से घटकर 143GB हो गया
  • पहले प्रयोग में, ज़्यादा motion वाले 4K वीडियो अपलोड करके iCloud स्टोरेज की प्रतिक्रिया देखी गई
    • अपलोड की गई फ़ाइल का साइज़ 281MB था
    • अपलोड के बाद iCloud उपयोग 145.33GB था
    • डाउनलोड करके हटाने के बाद भी फ़ाइल 281MB ही रही
    • हटाने के बाद iCloud उपयोग 145.6GB दिखा, यानी दिखाए गए मान में अंतर लगभग 270MB के स्तर का था
  • दूसरे प्रयोग में, पुराने वीडियो में से ऐसा छोटा वीडियो चुना गया जिसे iCloud बड़ा फ़ाइल मानकर दिखा रहा था
    • iCloud उस वीडियो को 128MB दिखा रहा था
    • डाउनलोड की गई फ़ाइल 47MB थी
    • हटाने से पहले iCloud उपयोग 145.29GB था, और हटाने के बाद 145.12GB, यानी लगभग 170MB की कमी
  • लगभग 7GB की फ़ाइलें हटाने से 7 गुना से भी ज़्यादा स्टोरेज खाली हुआ, और ऐसा लगा कि पुराने बड़े वीडियो iCloud में वास्तविक फ़ाइल से ज़्यादा स्टोरेज उपयोग रखते हैं
  • कारण की पुष्टि नहीं हो सकी, लेकिन नतीजतन 50GB से ज़्यादा iCloud स्टोरेज खाली हुआ और वही काम दोबारा करने के लिए एक छोटा JavaScript स्क्रिप्ट भी बच गया

1 टिप्पणियां

 
GN⁺ 2024-01-06
Hacker News की राय
  • Photos.app में फ़ाइल साइज नहीं दिखता, इसलिए सोचा था कि कोई Photos.app extension या अलग app बनाऊँ जो बड़ी फ़ाइलें ढूँढ दे
    लेकिन API शायद “फ़ाइल साइज” expose नहीं करता था, और कम से कम कोई आसान तरीका नहीं मिला
    मेरे हिसाब से “फोटो” या “वीडियो” underlying “photo or video object” दिखाने वाले view जैसे हैं। वीडियो trim करने पर भी पूरा original वीडियो बचा रहता है, और export करने पर ही trimmed छोटी फ़ाइल का साइज सच में बनता लगता है
    इसलिए फ़ाइल साइज अलग दिखता होगा। साथ ही किसी ने फ़ाइल साइज query करने वाला AppleScript बनाया है: https://discussions.apple.com/docs/DOC-250000422

    • सही, Photos app unmodified original files को रखता है और edit/trim जानकारी अलग से save करता है। कभी भी original पर वापस जाकर फिर edit कर सकते हैं, इसलिए edit से पहले और बाद वाली वही image कई copies में stored हो सकती है
      “फ़ाइल साइज” किस API में ढूँढ रहे थे, यह जानने की उत्सुकता है
      PhotoKit API से Photos.app में size data मिल पाया था: https://alexwlchan.net/2023/finding-big-photos/
      मैंने सिर्फ़ अपनी लगभग 26 हजार items वाली library पर test किया, लेकिन सबसे बड़े items ढूँढने के metric के तौर पर उपयोगी था। हालांकि 1GB वीडियो export करने पर iCloud usage 1GB घटता है या नहीं, यह verify नहीं किया
    • इसके अलावा, अभी detail में नहीं देखा, लेकिन RAW+JPG photos import करने पर “original” को दोनों में से किसी एक पर set किया जा सकता है। Menu check न करें तो यह जाने बिना import और edit कर सकते हैं कि कौन-सा इस्तेमाल हो रहा है
      इसलिए library में एक thumbnail जैसा दिखने वाला अभी-अभी import किया गया photo असल में 5MB भी हो सकता है, 50MB भी
    • अगर code लिखने को तैयार हैं तो जानना चाहूँगा कि क्या आपने internal database देखा था। पिछली बार देखा था तो वह बस sqlite था, और ऊपर-ऊपर देखने पर भी कुछ हद तक समझ में आ जाता था
    • फ़ाइल साइज बदलने की वजह के तौर पर यह सबसे plausible लगता है। मैंने भी unexpected media restoration देखा है। लगा था कि वीडियो trim या edit कर दिया, लेकिन वह पूरी length और resolution में वैसा ही बचा था
      इससे यह भी समझ आता है कि iPhone storage इतना compulsively manage करने पर भी हमेशा limit के करीब क्यों रहता है
    • https://github.com/RhetTbull/osxphotos से यह किया जा सकता है:
      osxphotos query --min-size 100MB --add-to-album "Big Files"
      100MB से बड़े सभी photos और videos ढूँढकर “Big files” album में add करता है
      अधिक जानकारी के लिए osxphotos query --help देखें, और browser में docs खोलने के लिए osxphotos docs देखें। संदर्भ के लिए, यह मेरा बनाया हुआ टूल है
  • यह bug हो सकता है, लेकिन कुछ cases में संभव है कि iCloud एक ही फ़ाइल के कई versions चुपचाप store कर रहा हो। Apple दूसरे media files के साथ भी ऐसा मिलता-जुलता काम करता है
    आख़िरी example दिलचस्प है:
    “iCloud कहता है कि वीडियो 128MB का है, लेकिन download करने पर actual वीडियो 48MB था, और delete करने पर free space लगभग 170MB बढ़ गया”
    यह इस तरफ़ इशारा करता है कि iCloud सिर्फ़ example file size गलत नहीं दिखा रहा। 128MB file हटाने पर iCloud space भी लगभग 128MB ही खाली होना चाहिए था, लेकिन असल में displayed size 128MB और downloaded version 48MB के योग 176MB के करीब space खाली हुआ। अगर iCloud free space को 10MB units में round करके दिखाता है, तो यह काफ़ी match करता दिखता है

    • Differential backup या किसी तरह का version management सबसे obvious causes में से एक लगा। File preservation के लिए पूरी duplicate storage भी संभव है। समस्या यह है कि यह सब पूरी तरह opaque है
      अंततः storage किसी service से और ज़्यादा बँधता जाता है, और total storage के आधार पर recurring payment करते हैं, लेकिन उस storage को optimize कैसे करें इसकी जानकारी लगभग नहीं होती। fixed cost slab में रहना चाहने या storage/cost ratio घटाना चाहने वाले consumer के नज़रिए से लगता है कि बस हाथ पर हाथ धरे रहें और और पैसे देते रहें?
      tech industry की modern business strategy complexity के पीछे छिपना है। Costs इतने complex हैं कि समझना मुश्किल है, और कह दिया जाता है कि internal information competitors को बहुत ज़्यादा expose हो जाएगी। लेकिन जब देखना होता है कि company cost से ऊपर operate कर रही है या नहीं, तो ऐसे metrics किसी तरह निकाल ही लेते हैं। Consumer समझना चाहे तो अचानक सब बहुत complex हो जाता है
      समस्या यह है कि technology अक्सर सचमुच इतनी complex scale तक बढ़ जाती है, और management भी यह जानता है, इसलिए यह काफ़ी प्रभावी बहाना बन जाता है। और सुविधाजनक रूप से वे ठीक उसी जगह investment focus करते हैं और margin जोड़ते हैं
    • iPhone पर photo और video edits सिर्फ़ metadata होते हैं और original file बनी रहती है। अभी वीडियो record करके उसे आधा trim किया और iCloud से file download करके test किया
      trimmed file iCloud के दिखाए size से छोटी थी, लेकिन unmodified original download करने का option चुनने पर size iCloud के displayed size से match हुआ
    • confusion की जड़ में यह भी है कि Photos library के photos और videos सिर्फ़ storage में copy की गई files नहीं हैं। Photos edits, rendered versions, thumbnails, और app features के लिए ज़रूरी कई data के लिए metadata भी store करता है
      इसलिए photo को iCloud में sync करते समय सिर्फ़ individual file sync नहीं होती, बल्कि Photos app द्वारा manage किया गया “Photos Library” container sync होता है
      Finder या Files app में individual file सीधे add करें तो iCloud और local file system में size ठीक-ठीक match करता है
    • शायद असल में ऐसा ही मामला हो सकता है, लेकिन इससे उसे छूट नहीं मिलती
      hard disk या USB stick खरीदें तो एक तय GB अपनी मर्ज़ी से इस्तेमाल कर सकते हैं। 1GB file डालें तो free space 1GB घटता है। file system के हिसाब से metadata के कुछ KB खो सकते हैं, लेकिन file system चुनना user के हाथ में है और storage device उसे force नहीं करता
      NAND controller ने block mapping table store करने के लिए overprovisioning area के कुछ MB इस्तेमाल किए हों, या सुविधा के लिए data duplicate store किया हो, तब भी user से उस overprovisioning area का पैसा नहीं लिया जाता
      यहाँ HTTP से access होने वाला storage device बेचते हुए, 1GB file लिखने पर वे अपनी सुविधा के लिए replication/conversion आदि करते हैं और user ने जिस duplicate copy को request नहीं किया, उसके storage cost तक charge करते हैं। यह नया और unexpected है
  • इस आइडिया/solution को TamperMonkey/Greasemonkey script में बदल दिया
    criteria से मेल न खाने वाले सभी elements को “hide” करने वाला feature भी जोड़ दिया
    https://github.com/seffignoz/icloudcleanup

  • मेरे self-hosting करने की एक वजह यही है। cloud providers की clarity और transparency पर भरोसा नहीं है। भले ही self-hosted solutions कहीं कम stable, कम secure और कम performant हों, शायद मैं फिर भी switch नहीं करूंगा
    मैं personally immich इस्तेमाल करता हूं। iOS/Android apps, server components और sync/backup options वाला काफी complete solution है
    https://immich.app/

    • लगता है Apple को अभी तक यह एहसास नहीं हुआ कि quota management UI कितना शानदार sales opportunity हो सकता है। storage और बेचने के लिए इससे बेहतर जगह नहीं हो सकती
      Google ऐसा करता है। https://one.google.com/storage और https://photos.google.com/quotamanagement देखें—ये delete करने लायक items ढूंढने में अच्छी मदद करते हैं, और अंत में structure ऐसा है कि delete करते-करते थककर आप ज्यादा storage खरीद लें
    • दिलचस्प लग रहा है, लेकिन ऊपर वाली warning देखकर लगता है कि इसके और stable होने तक इंतजार करना चाहिए
  • मेरी समझ में iCloud full-quality originals store करता है, और फोन पर lower-quality optimized versions download करता है
    iPhone settings में Apple ID > iCloud > Photos पर जाएं तो “Optimise iPhone Storage” option होता है, जो default रूप से on रहता है
    इस option के description में लिखा है कि अगर phone में space कम हो, तो full-resolution photos और videos अपने-आप छोटे device versions से replace हो जाते हैं, और full-resolution versions कभी भी iCloud से download किए जा सकते हैं
    यह काफी reasonable लगता है

    • फिर भी download को original file ही return करनी चाहिए, इसलिए storage size difference समझाने के लिए इसका इस्तेमाल नहीं किया जा सकता
    • यह उस case को explain नहीं करता जब author ने नई file upload करके download की और file size में ज्यादा फर्क नहीं आया। लगता है file size difference सिर्फ पुराने video files में होता है
    • यह relevant नहीं है
      यह Settings > Manage storage में दिखने वाले phone storage के बारे में है, cloud storage से इसका संबंध नहीं है
  • दिलचस्प लेख है। मुझे भी इसी तरह की problem की वजह से अपना iCloud plan upgrade करना पड़ा था, इसलिए Apple के लिए इसे fix करना शायद high priority न हो
    RAW+JPEG में shoot करने पर Apple Photos दोनों images को bundle कर देता है। photo enthusiasts के लिए यह कोई बहुत rare तरीका नहीं है, और library में duplicate-जैसी photos भरने के बजाय RAW और JPEG के बीच आसानी से switch कर पाना उपयोगी है
    लेकिन इस pairing method और लेख में बताए file system design की वजह से, दोनों को आसानी से अलग करके सिर्फ RAW delete करना असंभव-सा लगता है। कई साल बाद अब विशाल RAW files बची हैं जिन्हें मैं कभी छूने वाला नहीं, लेकिन बहुत छोटी JPEG files रखना चाहता हूं, इसलिए delete नहीं कर सकता
    originals export करके library से delete करना और फिर सिर्फ JPEGs वापस import करना सबसे आसान लगता है, लेकिन ऐसा करने पर library में वर्षों से जमा metadata खो जाएगा
    इसलिए plan upgrade करना ही पड़ता है

    • शायद बेवकूफी भरा सवाल हो, लेकिन metadata export करके फिर import नहीं किया जा सकता? EXIF data के अलावा कोई और metadata है, या Apple सब कुछ export नहीं करता—यह जानना चाहूंगा
      अगर face recognition जैसी extra features की बात है, तो JPEG को वापस import करने के बाद app उसे फिर process नहीं करता क्या?
    • open-source tool osxphotos(https://github.com/RhetTbull/osxphotos) मदद कर सकता है। third-party exiftool utility के साथ metadata preserve करते हुए JPEG images export कर सकते हैं:
      osxphotos export /path/to/export --has-raw --skip-raw --exiftool
      RAW pair वाली सभी images export करता है लेकिन RAW component skip करता है, और exiftool(https://exiftool.org/) का इस्तेमाल करके keywords जैसे metadata को exported JPEG files में लिखता है। बाद में इन्हें Photos में drag करके या osxphotos import /path/to/export/* चलाकर वापस import किया जा सकता है
      export और import commands में export directory आदि control करने के लिए और भी कई options हैं। osxphotos help export देखें, या browser में docs खोलने के लिए osxphotos docs इस्तेमाल करें। बता दूं, मैं osxphotos का author हूं
    • अभी मेरी situation ऐसी नहीं है, लेकिन photo nerd होने के कारण लगता है आखिरकार मुझे भी यह झेलना पड़ेगा, इसलिए खोजा
      File/Export Unmodified Originals चलाने पर RAW+HEIC और metadata वाली अलग sidecar file export होती लगती है। फिर RAW file को अलग हटा दें और HEIC file import करें तो कहा जाता है कि sidecar metadata file भी automatically import हो जाती है
      हालांकि edits खो जाते हैं। फिर भी somehow “copy edits” संभव लगता है। technical व्यक्ति हो तो AppleScript से इस process को automate कर सकता है
      लेकिन यह बेवजह झंझट है और Photos.app में built-in feature होना चाहिए। यह ज्यादा महंगे iCloud plan की ओर धकेलने में मदद करता है, इसलिए साफ लगता है कि इसकी priority low है
    • मैं भी अभी इसी हालत में हूं और यह tedious काम अभी शुरू नहीं कर पाया। पक्का solution ढूंढ रहा हूं
  • हैरानी की बात है कि छुट्टियों से पहले Apple से मुझे भी ऐसा ही storage notification मिला था, और iCloud पर रखने के बजाय मैंने सभी photos/videos अपने media server पर डाउनलोड करने का फैसला किया
    iCloud से archive डाउनलोड करने का कोई आसान और सहज तरीका नहीं है। कई machines और devices इस्तेमाल करके धीरे-धीरे कर रहा हूँ
    हाल में Apple के बदलावों की समस्या यह है कि वे बिना किसी खास वजह के कीमत बढ़ा देते हैं। हम लगातार photos और videos लेते रहेंगे, और नई technology और features की वजह से file size भी लगातार बढ़ना ही है

    • data लाने का आसान तरीका है। बस थोड़ा छिपा हुआ है
      Google Takeout की तरह काम करता है। Mac, iPhone, iPad, PC पर appleid.apple.com के Apple ID account page में login करें, “Data & Privacy” पर जाएँ और “Manage Your Data and Privacy” चुनें
      अगले page में “Get a copy of your data” पर जाकर “Get started” चुनना होता है
    • जिंदगी बदल देने वाला tool:
      https://github.com/icloud-photos-downloader/icloud_photos_downloader
    • मैं PhotoSync(https://www.photosync-app.com/home) से iPhone photos को NAS पर copy करता हूँ। शानदार program है
      जरूरत हो तो iCloud से photos डाउनलोड भी कर सकता है और format conversion भी कर सकता है। हर कुछ दिनों में नए photos NAS पर भेजता हूँ ताकि local copy हमेशा बनी रहे, और ये copies हर रात Backblaze B2 पर भी backup होती हैं
      format conversion की वजह से photos को HEIC+JPG pair के रूप में रख सकता हूँ, जिससे original और ज्यादा आसानी से इस्तेमाल होने वाला version दोनों मिल जाते हैं
      सच में जो चाहिए, वह iCloud Drive के लिए भी यही काम करने वाला tool है। वहाँ कई चीजें रखता हूँ, लेकिन उन्हें reasonable तरीके से backup करने का तरीका नहीं है, इसलिए चिंता रहती है। Apple का सुझाया तरीका(https://support.apple.com/en-us/HT204055) काफी निराशाजनक है
    • अगर आपके पास MacOS है तो Photos app कैसा रहेगा? मैं iCloud Photo Library की local copy रखता हूँ और MacOS Photos app से sync करता हूँ
  • सबसे खराब बात 200GB से सीधे 2TB पर जाने वाला अजीब plan tier है। कई परिवारों के लिए ठीक बैठने वाले 500GB या 1TB को incremental रूप से pay करने का कोई तरीका नहीं है
    storage जब commodity बन चुका है, तो used GB के हिसाब से charge होना चाहिए

    • ऐसा करने से free tier को subsidize किया जा सकता है
    • जरूरत हो तो 200GB में जितनी चाहें उतनी 50GB units जोड़ सकें
  • मेरे iCloud storage का बड़ा हिस्सा photos के “live” video versions खाते हैं। बहुत छोटे motion clip के साथ वाली photo, file size में काफी बड़ी हो जाती है
    अब तक जो तरीका मिला है वह बस यही है: files local में download करो, iCloud से delete करो, फिर local video हटाकर बची हुई still images ही upload करो
    इसमें बहुत समय लगता है, तरीका भद्दा है, और process के दौरान कुछ delete हो जाने या कोई जरूरी चीज खो जाने का डर रहता है
    सोचता हूँ कि क्या कोई ऐसा tool है जो इस process को automate करे और साथ ही कुछ editing control भी दे, ताकि जिन थोड़ी-सी “live” images को सच में रखना है उन्हें पहचानकर बचाया जा सके

  • क्या मैंने ठीक पढ़ा?
    अगर यह व्यापक घटना है, तो क्या इसे Apple द्वारा upgrade के लिए push करने के मकसद से numbers inflate करना माना जा सकता है, और क्या इससे lawsuit तक बात जा सकती है?
    मैं legal expert नहीं हूँ

    • original post इस बात पर ध्यान नहीं देता कि Photos में media जोड़ना सिर्फ “file copy करके save” करना नहीं है। Photos app का भी दूसरे apps की तरह अपना Photos Library file format होता है
      जब photo या video जोड़ी जाती है, तो Photos app उसका analysis करता है, और edit history समेत app के काम करने के लिए जरूरी कई metadata save करता है। आखिर में यही iCloud से sync होता है
    • अगर photo/video को नई file के रूप में save किए बिना उसी जगह edit किया जाए, तो iOS undo या revert के लिए original file संभालकर रखता है। Photos या iCloud gallery में कहीं भी original नहीं दिखाया जाता। वजह यह हो सकती है
    • मैंने भी इस article को ऐसे ही पढ़ा। किसी cloud storage से एक तय मात्रा में files download करके दूसरे cloud पर upload करके देखा जा सकता है कि कोई साफ difference दिखता है या नहीं
      संभव है Apple अभी भी iCloud में पुराना file system format इस्तेमाल कर रहा हो। यह काफी पहले आया था और शायद उन्होंने storage format बदलने पर ध्यान नहीं दिया। पुराने accounts की images/videos “पुरानी” drives पर होने की संभावना भी है