Waardoor werken RAW-fotominiaturen wel op het web, maar niet op mobiele apparaten?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

RAW-miniaturen kunnen in een browser werken, maar op mobiele apparaten mislukken omdat de twee clients om verschillende voorbeelden, afgeleiden, formaten of decoderpaden kunnen vragen.

Begin met één werkend RAW-bestand en één RAW-bestand dat mislukt uit dezelfde bibliotheek. Vergelijk het exacte thumbnailverzoek van web en mobiel en maak vervolgens onderscheid tussen ingesloten cameravoorbeelden, door de server gegenereerde afgeleiden en de lokale mobiele cache. Het oorspronkelijke RAW-bestand kan volledig in orde zijn, terwijl slechts één weergavepad defect is.

Bevestig dat mobiel om een ander voorbeeld vraagt

Open hetzelfde RAW-bestand in de webinterface en de mobiele app terwijl je toepassingslogboeken of aanvraagpaden vastlegt. Vergelijk de gevraagde miniatuurafmetingen, extensie, responscode en of de mobiele client terugvalt op het origineel.

Veel RAW-bestanden bevatten een ingesloten JPEG-voorbeeld; een webclient kan die ingesloten afbeelding weergeven, terwijl een andere client de server om een afzonderlijk gegenereerde afgeleide vraagt.

Als de twee clients om verschillende objecten vragen, behandel het probleem dan niet langer als één universele fout bij het decoderen van RAW-bestanden. De volgende test hoort bij het afgeleide of clientpad dat alleen mobiel gebruikt.

Vergelijk het ingesloten voorbeeld met serverweergave

Extraheer of inspecteer het ingesloten voorbeeld van het RAW-bestand en vergelijk het vervolgens met een door de server gegenereerde miniatuur. Een gezonde ingesloten JPEG en een mislukte gegenereerde miniatuur wijzen op verschillende codepaden.

Beheertools voor foto's documenteren verschillend RAW-weergavegedrag voor ingesloten JPEG-voorbeelden en weergegeven RAW-gegevens. Dat verklaart waarom het ene miniatuurpad kan slagen zonder het andere te valideren.

Als alleen gegenereerde miniaturen mislukken, controleer dan de serverdecoder en de taak voor afgeleiden. Als alleen het ingesloten voorbeeld vervormd is, test dan een ander bestand van dezelfde camera voordat je de server aanpast.

Controleer de RAW-variant, niet alleen de extensie

Noteer het cameramodel, de firmware, de RAW-compressiemodus, de bitdiepte en of de probleem bestanden native RAW, DNG of een telefoonspecifieke RAW-variant zijn. Vergelijk dit met één werkend voorbeeld.

Ook DNG kan verschillende voorbeeld- en beeldstructuren bevatten. Daarom zijn verschillen tussen DNG-voorbeelden een betere waarschuwing dan aannemen dat elk bestand met dezelfde extensie via hetzelfde decodeerpad de client bereikt.

Een splitsing per camera is nuttig bewijs. Werk alleen de decodercomponent bij die deze variant niet kan verwerken of vervang die, of genereer een compatibele afgeleide terwijl je het oorspronkelijke RAW-bestand behoudt.

Wis alleen de defecte laag van de mobiele cache

Als de serverlogboeken aangeven dat de miniatuurgeneratie is geslaagd, test je het mobiele bestand met uitgeschakelde cache, na het gericht wissen van de app-cache of op een ander apparaat. Wis niet meteen de volledige miniatuuropslag van de server.

RAW-workflows op telefoons, zoals het ProRAW-verwerkingspad, voegen vóór de weergave nog een verwerkingslaag toe. Daardoor kunnen het gedrag van de clientdecoder en de gecachte afgeleide verschillen van dat in een desktopbrowser, zelfs bij hetzelfde oorspronkelijke bestand.

Als een tweede mobiel apparaat wel werkt, richt je dan op de lokale cache of de appversie. Als elk mobiel apparaat op dezelfde URL voor de afgeleide faalt, ga dan terug naar de serverrespons in plaats van clients steeds opnieuw te installeren.

Genereer één afgeleide opnieuw en test opnieuw

Verwijder of invalideer alleen de mislukte afgeleide voor één gecontroleerd RAW-bestand met de ondersteunde workflow van de toepassing en laat de server die opnieuw opbouwen. Noteer de nieuwe objectgrootte en respons.

De gerelateerde ZimaSpace-handleiding voor de familiale fotobibliotheek van Immich verduidelijkt de aangrenzende grens: behoud originelen en maak het opnieuw genereren van afgeleiden wegwerpbaar, zodat een probleem met een voorbeeld niet verandert in gegevensverlies van foto's.

Verklaar het probleem pas opgelost wanneer hetzelfde RAW-bestand op web en mobiel wordt weergegeven nadat de cache is verlopen, de app opnieuw is gestart en een nieuwe serveraanvraag is uitgevoerd. Als de opnieuw gegenereerde afgeleide nog steeds mislukt, bewaar die dan voor vergelijking op decoderniveau.

Veelgestelde vragen

Waarom kan de miniatuur in de browser werken terwijl de mobiele app niets toont?

De twee clients kunnen om verschillende afgeleiden, formaten, indelingen of cache-items vragen. Een geldige browserweergave bewijst daarom niet dat het mobiele voorbeeldobject in orde is.

Moeten RAW-bestanden alleen voor mobiele weergave naar JPEG worden geconverteerd?

Niet als eerste oplossing. Test eerst of ingesloten voorbeelden of gegenereerde afgeleiden de defecte laag vormen voordat je het oorspronkelijke archief dupliceert of converteert.

Kan één cameramodel het probleem veroorzaken terwijl een ander dat niet doet?

Ja. RAW-indelingen en keuzes voor ingesloten voorbeelden verschillen per cameramodel en firmware. Vergelijk daarom één werkend en één problematisch bestand in plaats van alle RAW-bestanden als gelijkwaardig te behandelen.

Ondersteuning & Tips

Meer om te lezen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.