Skip to content

Releases: AkshayRao27/golblick

0.8.1 alpha

0.8.1 alpha Pre-release
Pre-release

Choose a tag to compare

@AkshayRao27 AkshayRao27 released this 30 Oct 19:50
e3e3e71

golblick is on PyPI now, and the Nextcloud app works alongside 360 Raw Viewer.

File What it is
golblick-nextcloud-0.8.1-alpha.tar.gz The Nextcloud app. To upgrade, replace the custom_apps/golblick folder with the one in the archive and run occ upgrade. Videos aren't stitched again.
golblick-0.8.1-py3-none-any.whl The command-line tool and library. The same version is on PyPI.

Installing

  • uv tool install 'golblick[render]', or [desktop] for the viewer window, or pip install with the same names. Nothing has to come from GitHub any more.
  • If you installed it from GitHub before, run uv tool uninstall golblick first, then install it again from PyPI.

Nextcloud app

  • 360 Raw Viewer registers .insv videos as video/x-insv, and golblick only recognised its own type, so with both apps installed golblick's video thumbnails and stitching stopped without an error. golblick now accepts both types, and its setup check no longer offers to replace 360 Raw Viewer's. With both apps installed, .insv thumbnails come from golblick, a click on a clip in Files opens 360 Raw Viewer, and golblick's Play as sphere is in the clip's actions menu.

Known issues

The same as in 0.8.0.

Tested on a test copy of Nextcloud AIO in Docker, upgraded from 0.8.0 with 360 Raw Viewer 0.1.91 installed, in Firefox.


🤖 Generated with Claude Code

0.8.0 alpha

0.8.0 alpha Pre-release
Pre-release

Choose a tag to compare

@AkshayRao27 AkshayRao27 released this 26 Oct 10:26

X5, X3 and newer OneR videos are steadier, the X5 now has its rolling shutter corrected with its lens drawn from its own calibration, and the desktop player decodes video on AMD graphics in addition to Nvidia GPUs.

File What it is
golblick-nextcloud-0.8.0-alpha.tar.gz The Nextcloud app. To upgrade, replace the custom_apps/golblick folder with the one in the archive and run occ upgrade. The GPU worker restarts by itself.
golblick-0.8.0-py3-none-any.whl The command-line tool and library: pip install 'golblick-0.8.0-py3-none-any.whl[render]', or [desktop] for the viewer window. It isn't on PyPI.

⚠️ After the upgrade every video is stitched again, because the seam and the X5's geometry changed (below). Until a clip's new copy is ready, the old one keeps playing. If you have a LOT of videos, set stitching hours so that your server isn't bogged down by the stitching.

Steadier video

  • Every X5 and X3 clip, and (my) OneR clips from ~2023 on, store their motion sensor readings in a form golblick read about 6% low, so steadying took back only 94% of each turn and the rest stayed in the picture. They are now read at the scale the file gives. Older OneR clips weren't affected.
  • The X5's rolling shutter is now corrected in the desktop player, in golblick render, and in copies stitched on a GPU worker.

X5 lens

  • The X5 was drawn as a plain fisheye lens. Its files carry a more detailed lens calibration, and golblick now takes the lens's curve from it. Against the panorama the camera stitches into each photo, the typical error went from 11 px to 2 px at 2048 wide, better on 43 of my 45 X5 pictures. This applies to photos, previews in Nextcloud, the desktop viewer and stitched videos. The reading of that calibration follows raw360-formats and GyroView.

The seam in videos

  • Stitched copies now hand over between the lenses in two bands, as the desktop player does: the detail across a narrow band, and the lenses' overall brightness across a wider one, so a difference between them fades in over a few degrees instead of showing as a line. The old brightness correction is gone from the copies. It treated anything close to the camera as a difference in brightness and shifted it, so an arm or a pole near the seam came out a little too light or too dark.
  • The desktop player hands over the same way. It doesn't even out the lenses' brightness: tried next to two bands, it made little difference, and none looked slightly better.

Desktop

  • On AMD graphics, video is now decoded on the card through VA-API. On my Framework 13 laptop (Radeon 860M) an X5 clip decodes at 4 times real time, where the CPU alone just about keeps up. Intel graphics should theoretically work the same way, but I haven't tried it.
  • Long clips open much faster: reading the motion record of a 30-minute X5 clip took 20 seconds before the first frame and now takes 6. The seam settles sooner too (11 seconds instead of 60 on a 1.6 GB X5 clip).
  • golblick has its own icon on the desktop, matching the Nextcloud app's. Run golblick desktop install again to get it.

Nextcloud app

  • The copies get everything above when they are stitched again: the corrected motion readings, the X5's rolling shutter (on a GPU worker), the X5's lens curve and the two-band seam.
  • X5 photo previews use the new lens curve.

Command line

  • ⚠️ Steadied copies of X5, X3 and newer OneR clips made with golblick render before this version were steadied by 94% of each turn. Make them again.

Known issues

  • When one lens catches the sun and the other doesn't, a brighter arc can show along the seam. The old brightness correction hid it, at the cost of the problem above.
  • Copies the Nextcloud app stitches on the server's CPU keep their rolling shutter: it's only undone on a GPU worker.
  • X5 photos are sometimes judged wrongly as shot with lens guards or without (5 of my 46), which shows as a misaligned seam. Videos are judged a similar way, and may get it wrong too.
  • Which of the X5's two video tracks holds which lens is still unsettled. Either way the difference at the seam is a few tenths of a degree.
  • File managers show a video's thumbnail as one lens's fisheye circle.
  • An opening view set in Nextcloud and one set on the desktop are kept separately.

Tested on a test copy of Nextcloud AIO in Docker, with the GPU worker on an NVIDIA RTX 2070 Super, in Firefox; and the desktop viewer on Kubuntu with KDE (NVIDIA) and on a Framework 13 with Kubuntu & KDE (AMD).


🤖 Generated with Claude Code

0.7.0 alpha

0.7.0 alpha Pre-release
Pre-release

Choose a tag to compare

@AkshayRao27 AkshayRao27 released this 20 Oct 08:29

Videos now play in the desktop viewer straight from the camera's .insv file. Rolling shutter on the OneR and X3 video has been nullified, making videos from those two cameras much steadier both in the desktop viewer and in the Nextcloud app.

File What it is
golblick-nextcloud-0.7.0-alpha.tar.gz The Nextcloud app. To upgrade, replace the custom_apps/golblick folder with the one in the archive and run occ upgrade. The GPU worker restarts by itself.
golblick-0.7.0-py3-none-any.whl The command-line tool and library: pip install 'golblick-0.7.0-py3-none-any.whl[render]', or [desktop] for the viewer window. It isn't on PyPI.

⚠️ After the upgrade every video is stitched once more because the geometry changed (below). Until a clip's new copy is ready, the old one keeps playing. If you have a LOT of videos, set stitching hours so that your server isn't bogged down by the stitching.

Steadier video

  • A OneR or X3 reads each frame a row at a time, over 15 to 35 ms, and its sensor sits on its side in the camera, so a fast pan stretches one side of the picture and squeezes the other. That was most of the wobble left on fast turns. It's now undone, row by row, from the camera's motion sensor: in the desktop viewer, in golblick render, and in the copies the Nextcloud app stitches on a GPU worker. On my OneR clips the shake left on fast turns fell to between a third and a fifth of what it was; on the one X3 clip with fast turns I have, by about a third. Claude Code hasn't been able to pin down which way the X5 sensor reads as yet, so videos from that camera are still not all the way there.
  • OneR clips from 2020 and 2021 stamp each frame a little later than it was taken, which showed as a jerk on fast turns. Each frame is now timed from values the file carries.
  • The lens circles of OneR video were 5.3% too small, which left about 9° of the scene out along the seam. Fixed, from how much of the sensor the video keeps, which is now how the X3 and X5 get theirs too.

Desktop

  • golblick open clip.insv plays a video as a sphere, with sound, decoded on an NVIDIA graphics card without first stitching a different file. Double-clicking an .insv opens it this way after golblick desktop install (run it again if you installed before). On a OneR or X3 either of the clip's two files will do.
  • The Desktop Player now has a UI consistent with the the Nextcloud app's player. Controls fade while a clip plays unless the cursor moves to the bottom of the window.
  • A few seconds into a clip, the seam between the lenses moves to where they agree, as in a stitched copy, and an X5 clip shot with lens guards is shown at their narrower field of view.
  • Without an NVIDIA card, or when it can't decode a clip, the CPU decodes it instead. OneR and X3 clips keep up. X5 clips don't on my Ryzen 3700X and the viewer skips ahead every few seconds to stay with the sound.
  • A drag let go while still moving carries on turning and slows to a stop.

Nextcloud app

  • Copies stitched on a GPU worker have the rolling shutter undone (above). A worker set up with an earlier version keeps working, without that; it updates itself with the app.
  • X5 videos opened facing half a turn away from the middle of Studio's export. Fixed.
  • The player's fling is calmer, there's a volume slider, and the controls fade while a video plays.

Command line

  • ⚠️ Steadied copies made with golblick render before this version turned each frame from the fourth on by the next frame's turn, which made them shakier than not steadying at all. Make them again.
  • golblick render copies now face the middle of Studio's export, as the app's do, and have the rolling shutter undone on a OneR or X3.

Known issues

  • X5 video still have rolling shutter, which shows as a jiggle when the camera shakes a lot.
  • The desktop player doesn't even out the two lenses' brightness yet like stitched copies do, so the seam shows more there.
  • A very long clip takes a while to start in the desktop player: about 20 seconds for a 20 GB X5 clip, most of it spent reading the motion record.
  • Copies the Nextcloud app stitches on the server's CPU keep their rolling shutter: it's only undone on a GPU worker.
  • An opening view set in Nextcloud and one set on the desktop are kept separately.

Tested on a test copy of Nextcloud AIO in Docker, with the GPU worker on an NVIDIA RTX 2070 Super, in Firefox; and the desktop viewer on Kubuntu with KDE.


🤖 Generated with Claude Code

0.6.0 alpha

0.6.0 alpha Pre-release
Pre-release

Choose a tag to compare

@AkshayRao27 AkshayRao27 released this 18 Oct 07:46

Videos can now be stitched on a GPU worker instead of the server's CPU, you can now define where photos open facing, the Linux desktop version now has a bare-bones GUI, and double-clicking an .insp opens it as a sphere inside Golblick.

File What it is
golblick-nextcloud-0.6.0-alpha.tar.gz The Nextcloud app. To upgrade, replace the custom_apps/golblick folder with the one in the archive and run occ upgrade. The GPU worker restarts by itself. To have it stitch, not just steady, see below.
golblick-0.6.0-py3-none-any.whl The command-line tool and library: pip install 'golblick-0.6.0-py3-none-any.whl[render]', or [desktop] for the viewer window. It isn't on PyPI.

Nextcloud app

Stitching on the GPU

With a GPU worker running on an NVIDIA card, the worker now stitches the videos as well as steadying them. The server only plans each clip, and the worker decodes, stitches, steadies and encodes it in one pass. On my four-core server with a T1000, a 3840 clip stitched in a little less than its own length, using about 1 CPU-second per second of video instead of about 18, and the server's load stayed low while it ran. The copies look the same as before, except that with steadying baked in, fast camera turns no longer smear: the copy is encoded once, after steadying, where before it was encoded, steadied and encoded again.

The worker reads the clips from Nextcloud's data folder, mounted read-only. A worker set up with an earlier version doesn't have that folder and keeps only steadying copies the server stitched. The Videos section says so, and shows the new compose.yaml: replace the old one with it and run docker compose up -d again. If the worker can't stitch a clip, the server stitches it as before.

Stitching hours

I noticed that video stitching was bogging my entire NC instance down when using the CPU for video. I can move work to my GPU, but other hardware configs may not have that option. Hence:
Stitch new videos from … to … in the Videos section now keeps stitching to the hours you choose, such as overnight. Outside them no new video starts, and finished copies wait to be saved next to their clips, which is the biggest burst of disk writes. Changing the video size now asks first, and says how many videos it would stitch again and roughly how long that takes.

Which way a sphere opens

  • You can now define the point of view that Photos open facing. Panoramas already cached are turned rather than rendered again, a fraction of a second each, and the photos' thumbnails are made again after the upgrade.
  • You can also define which way Videos open facing too. The copies already stitched don't need stitching again.
  • To have a photo or video open somewhere else, look that way and choose Open at this view next time from the ⋮ menu in the sphere view. Only someone with write-permissions on the photo or video file can set it, and nothing is written into the file itself.

Smaller changes

  • The sphere view has a bar of buttons along the bottom to turn, zoom and go full screen.
  • Planning a clip before stitching is faster (on my server, at least): from 55 to 22 seconds on an X5 clip.
  • After an upgrade, a Memories tab that was left open could lose the sphere button for some files until it was reloaded, and play their 360° videos flat. That's fixed.
  • 3840 copies play more smoothly in a browser that decodes video on the graphics card. The README has a note on Firefox.

Command line and desktop

  • golblick open photo.insp shows a photo as a sphere in a window of its own: the graphics card projects the two lenses as it draws, with the same lens model and corrections as render. It needs the new desktop extra (Qt, about 100 MB). golblick desktop install then makes double-clicking a .insp in your file manager open it this way; golblick desktop uninstall undoes it. Not yet tested on systems without a dedicated GPU.
  • Planning a video before stitching it is faster: from 62 to 15 seconds on an 11-second X5 clip, and from 17 to 6 on a OneR clip.

Known issues

  • Videos stitched with golblick render still open facing the old way in other 360° players. The Nextcloud app compensates when it plays them, so its copies aren't affected.
  • An opening view set in Nextcloud and one set on the desktop are kept separately.
  • After choosing a new opening view, Memories may show the old one for up to a day, because the browser keeps the image that long.

Tested on Nextcloud 35.0.0 with Memories 10.1.0 on Nextcloud AIO, with the GPU worker on an NVIDIA T1000 8GB, in Firefox; on a test copy of AIO in Docker; and the desktop viewer on Kubuntu with KDE.


🤖 Generated with Claude Code

0.5.1 alpha

0.5.1 alpha Pre-release
Pre-release

Choose a tag to compare

@AkshayRao27 AkshayRao27 released this 17 Oct 07:26

Two fixes to the Nextcloud app's video support. The command-line tool hasn't changed; use the 0.5.0 wheel.

File What it is
golblick-nextcloud-0.5.1-alpha.tar.gz The Nextcloud app. To upgrade, replace the custom_apps/golblick folder with the one in the archive and run occ upgrade. If you run the GPU worker, restart it once after this upgrade (docker compose restart in its folder); from this version on it restarts by itself.

Fixed

  • Thumbnails of the .360.mp4 copies saved next to their clips no longer have a dashed line along the bottom. That line is the strip of frame numbers the sphere player uses to steady each frame; the copies still carry it, but their thumbnails now leave it out. Upgrading deletes the copies' old thumbnails so they're made again. A browser that has already shown one may keep it for up to a day.
  • The GPU worker stopped baking after the app was upgraded: the upgrade replaces the app's folder, and the worker kept looking at the old one, so new copies were saved without the steadying baked in. The worker now notices when its files are gone, exits, and is started again by Docker on the new folder.

Tested on a test copy of Nextcloud AIO (Nextcloud 35.0.0), upgrading from 0.4.0.


🤖 Generated with Claude Code

0.5.0 alpha

0.5.0 alpha Pre-release
Pre-release

Choose a tag to compare

@AkshayRao27 AkshayRao27 released this 16 Oct 14:03

The command-line tool can now stitch whole videos. The Nextcloud app's video support, until now tried only on test instances, has been running on my live instance since this version's first build. Video is still newer and less tried than photos, so the warning in the README applies: have backups, and try it somewhere disposable first.

File What it is
golblick-nextcloud-0.5.0-alpha.tar.gz The Nextcloud app. To upgrade, replace the custom_apps/golblick folder with the one in the archive and run occ upgrade. For a new install, follow the install steps.
golblick-0.5.0-py3-none-any.whl The command-line tool and library: pip install 'golblick-0.5.0-py3-none-any.whl[render]', then golblick --help. It isn't on PyPI.

Command line: whole videos

golblick render clip.insv now stitches the whole clip into a 360° MP4, clip.360.mp4 unless you pass -o. It's steadied from the camera's motion sensor, keeps the sound, and is marked as 360° video, so VLC and other 360° players open it as a sphere. It needs ffmpeg and the render extra. docs/usage.md has the details.

  • --no-steady gives the plain stitch, levelled at the start only. --lock keeps the direction the clip opens in, like Direction Lock in Insta360 Studio.
  • The default size is 2880 × 1440, as in the Nextcloud app. -w changes it, and --jobs sets how many processes do the work.
  • Each frame is steadied as it's stitched, so the picture is resampled once rather than stitched and then turned again.
  • At 2880 on a 16-thread desktop, a second of video took 8 to 11 seconds on OneR and X3 clips, and 19 on an X5 clip.
  • With -o ending in .jpg or .png, it still renders just the opening frame.

golblick report on a video now gives a summary for the video issue form, with how the clip stores its opening frame and how much motion data it holds. It also recognises the second file of a OneR or X3 clip (_10_) as a complete MP4, instead of calling it damaged.

Nextcloud app

  • Setting up the GPU worker is easier. While no worker is running, the Videos section shows a compose.yaml for the worker with your server's folders filled in, and a Copy button. On Nextcloud AIO the paths are worked out for you; if you gave AIO its own data directory, add that one line to a .env file next to it.
  • The Videos section shows which clip is being stitched, how far it has got, and roughly how long it has left, or that it's being steadied on the GPU. It also shows how many clips are still waiting, and how many GB of camera files they add up to.
  • A new button, Delete copies saved next to clips, removes the .360.mp4 copies from the clips' folders. They go to the trash bin, and with stitching and saving on they're made again. You don't need it to change the video size: each clip is stitched again at the new size and its copy replaced.
  • "Report to golblick" in Files now works on .insv files too, and opens the video issue form.
  • 3840 copies look sharper but are harder to play: in Firefox decoding video on the CPU the sphere drew about 19 frames a second of a 30 fps copy, against about 25 at 2880. The settings page says so under Video size.
  • Shorter wording in the Videos section, and the switch is now called Bake steadying into each copy. If you want baked copies, start the worker and switch baking on before stitching: a copy that finishes while no worker is running stays unbaked.

Known issues

  • If you run the GPU worker, restart it after upgrading the app (docker compose restart in the worker's folder). Upgrading replaces the app's folder, and until the worker is restarted it can't find its files, so the steadying stops being baked into new copies. The next release restarts the worker by itself.
  • The thumbnail of a .360.mp4 copy shows a dashed line along its bottom edge. That's the strip of frame numbers the sphere player uses to steady each frame. The next release should fix it.
  • Memories 10.0.1 can't play videos flat from a group folder with advanced permissions, and that includes the .360.mp4 copies. This is a Memories bug, fixed upstream but not yet released. golblick's sphere player isn't affected.

Tested on Nextcloud 35.0.0 with Memories 10.0.1 on Nextcloud AIO, in Firefox, with the GPU worker on an NVIDIA T1000, and on a test copy of AIO in Docker.


🤖 Generated with Claude Code

0.4.1 alpha

0.4.1 alpha Pre-release
Pre-release

Choose a tag to compare

@AkshayRao27 AkshayRao27 released this 14 Oct 17:53

A fix to the Nextcloud app for Memories 10. The command-line tool hasn't changed; use the 0.4.0 wheel.

File What it is
golblick-nextcloud-0.4.1-alpha.tar.gz The Nextcloud app. To upgrade, replace the custom_apps/golblick folder with the one in the archive and run occ upgrade.

Fixed

  • With 360° photos in Memories set to Open as a sphere on the personal settings page, a .insp opened flat in Memories 10. Memories 10 marks a .insp as a wide panorama and gives it a "View panorama" button, but only opens a sphere by itself for photos tagged as 360°, and golblick was leaving it to Memories. It now opens the sphere itself.

Memories 10

Memories 10 has its own sphere view. A .insp gets Memories' "View panorama" button in place of golblick's once Memories has re-indexed it (occ memories:index --force), and golblick makes that view show the stitched panorama rather than the two fisheye circles. Stitched .360.mp4 copies keep golblick's button and player, since Memories' sphere view doesn't play video.

Tested with Memories 10.0.0 on Nextcloud 35.0.0 (Nextcloud AIO), in Firefox.


🤖 Generated with Claude Code

0.4.0 alpha

0.4.0 alpha Pre-release
Pre-release

Choose a tag to compare

@AkshayRao27 AkshayRao27 released this 11 Oct 19:20

This one is about video. The Nextcloud app can now stitch Insta360 .insv clips into ordinary 360° MP4s, play them as a sphere, steady them from the camera's motion sensor, and put them in Memories. All of it is off until you switch it on, and it's newer and less tried than the photo side, so the warning in the README matters even more here: have backups, and try it on a test instance first.

File What it is
golblick-nextcloud-0.4.0-alpha.tar.gz The Nextcloud app. To upgrade, replace the custom_apps/golblick folder with the one in the archive and run occ upgrade. For a new install, follow the install steps.
golblick-0.4.0-py3-none-any.whl The command-line tool and library: pip install golblick-0.4.0-py3-none-any.whl, then golblick --help. Rendering needs the render extra (numpy and Pillow). It isn't on PyPI.

Nextcloud app: videos

The Videos section of the app's README has the details. In the order you'd switch things on:

  • Register .insv files in the setup check gives each clip a panoramic thumbnail of its opening frame in Files. OneR and X3 clips need ffmpeg for it; X5 clips don't.
  • Stitch videos in the background makes a stitched copy of each clip, newest first, one at a time, with ffmpeg at the lowest priority. Clicking any file of a clip in Files then plays it as a sphere. It's slow and the copies are big: at the default 2880 × 1440, each second of video takes about 12 CPU-seconds, a render needs about 1 GB of memory, and the copies take about 5 GB per hour of video.
  • The sphere player steadies the video as it plays: the horizon stays level and the view follows where the camera turns, without the shake. One button in the player switches that off, and another locks the direction, like Direction Lock in Insta360 Studio. Videos on public share links play and steady the same way.
  • Save each stitched copy next to its clip saves each copy in the clip's folder as <clip>.360.mp4, marked as 360° video, so Memories shows it in the timeline and other 360° players play it as one. Each user picks on their personal settings page whether Memories opens it as a sphere or flat. The copies count against the folder's storage (about 125 MB for every GB of clips) and sync to desktop clients, which don't need them, so add *.360.mp4 to each client's ignored files.
  • Bake the steadying into each copy needs an NVIDIA GPU and a small worker container next to Nextcloud; the README has a compose file. With it, the copies play steady in any player and when downloaded, the way Studio's stabilised exports do. It has been tried on one GeForce card only.

On the stitching itself: the two lenses are evened out along the seam as the clip plays, since the camera doesn't do that for video. On an X3 or X5 the seam can line up someone close to the camera, such as whoever is holding it. X5 clips shot with lens guards are detected and rendered at their own angle.

Each stitched copy carries its frame numbers in a thin strip along its bottom edge. The sphere player never shows it, but a flat player shows a flickering line along the bottom, and another 360° player shows a small spot straight below the camera. The player needs that strip to steady the right frame in every browser.

Command line

  • golblick render on a OneR or X3 video renders its opening frame, which needs ffmpeg on the PATH. For an X5 video, golblick preview already gives you the camera's own stitched opening frame.
  • golblick stabilise <clip> writes the rotation that steadies each frame of a video as JSON, worked out from the camera's motion sensor.
  • X3 videos render at 185.5 degrees, not the 192 measured on X3 photos.

It doesn't stitch whole videos yet; that's what's next.

Tested on Nextcloud 35.0.0 with Memories 9.0.1 and PHP 8.4, on the official Docker image and on Nextcloud AIO.


🤖 Generated with Claude Code

0.3.0 alpha

0.3.0 alpha Pre-release
Pre-release

Choose a tag to compare

@AkshayRao27 AkshayRao27 released this 08 Oct 06:36

The command-line tool and the Nextcloud app both get new features in this one, so they now share a version number: 0.3.0. The same warning applies as before: read the one in the README and have backups.

File What it is
golblick-nextcloud-0.3.0-alpha.tar.gz The Nextcloud app. To upgrade, replace the custom_apps/golblick folder with the one in the archive and run occ upgrade. For a new install, follow the install steps.
golblick-0.3.0-py3-none-any.whl The command-line tool and library: pip install golblick-0.3.0-py3-none-any.whl, then golblick --help. Rendering panoramas needs the render extra (numpy and Pillow). It isn't on PyPI.

Reporting a problem or a new camera

The app and the command-line tool can now write a short summary of a photo for a GitHub issue. It leaves out the file's name, its folder and the camera's serial number. In Nextcloud, it's Report to golblick in a .insp file's menu in Files; on the command line, it's golblick report <file>. Either one opens the right issue form with the summary already filled in:

  • a photo from a camera golblick has been tested with (OneR, X3, X5) that looks wrong or won't open
  • a camera golblick hasn't been tested with, which is worth reporting even if everything looks right

In the app, the menu entry is switched on and off together with "View as sphere" in Files, on the settings page.

Command line

  • golblick share <files> writes copies of photos you can send to someone else. The copies don't have the location, the dates or the camera's serial number, and are otherwise byte for byte the same, so they render the same in golblick and in Insta360 Studio. If you can send a few original photos from an untested camera, run this first; you'll get a private upload link in a reply to your issue.
  • golblick render now levels X5 photos against the panorama the camera stitched and levelled itself. It used to go by the camera's motion sensor alone, which can be far off when the camera was moving as the photo was taken: one of my photos came out upside down. Of my 48 X5 photos, 47 now come out within 3 degrees of the camera's own panorama, most within half a degree; the last is an all-black frame and falls back to the motion sensor. It adds about 8 seconds to a render. --level picks a method if you want a different one.

Nextcloud app

  • Background rendering does your newest photos first, by the file's modification date. It used to go in the order the photos were added to Nextcloud, so after uploading a whole library at once your latest trip could wait days behind photos from years ago.
  • The app's scripts are minified. The sphere viewer's script goes from 849 KB to 531 KB (129 KB compressed).

Tested on Nextcloud 35.0.0 with Memories 9.0.1 and PHP 8.4, on the official Docker image and on Nextcloud AIO, and running on my own instance.


🤖 Generated with Claude Code

0.2.0 alpha

0.2.0 alpha Pre-release
Pre-release

Choose a tag to compare

@AkshayRao27 AkshayRao27 released this 06 Oct 18:17

Second alpha of the Nextcloud app. I now run it on my own production Nextcloud (an AIO install with Memories), on photos from three Insta360 cameras (OneR, X3 and X5). It has only run on my own instances so far, so read the warning in the README and have backups before you point it at anything you care about.

File What it is
golblick-nextcloud-0.2.0-alpha.tar.gz The Nextcloud app. To upgrade from 0.1.0, replace the custom_apps/golblick folder with the one in the archive and run occ upgrade. For a new install, follow the install steps.

The command-line tool hasn't changed, so there's no new wheel; use the one from 0.1.0 alpha.

New: a settings page

It's under Administration settings → Golblick (360° Photos).

  • A setup check: whether .insp is registered as a JPEG, GD, PHP's memory limit, whether the Memories zoom fix works with your Memories version, and whether ImageMagick can read RAW files. Its Register .insp files button does the mimetype mapping step for you. That was the step most likely to go wrong in 0.1.0: without it nothing happens, and nothing tells you why.
  • The panorama size. Zooming in Memories and the sphere view use a full-size panorama, rendered the first time someone zooms into a photo or opens its sphere view. You can now choose its width (1024 to 4096 pixels; 4096 is the default and what 0.1.0 used). Smaller is faster: about 6 seconds at 2048 and 19 at 4096 for a OneR photo.
  • The panorama cache: how many panoramas are stored and how much space they take, with a button to clear them.
  • Background rendering, off by default. When it's on, the full-size panoramas are rendered ahead of time in Nextcloud's background jobs, so the first zoom doesn't wait. It costs about 19 seconds of CPU per OneR photo at 4096.
  • A switch for each integration: the zoom fix in Memories, and each "View as sphere" button (in Memories, in Files, and in the image viewer that Files and Photos open). These rely on details of other apps that an update can change. If one breaks, you can turn it off without affecting previews.

Other changes

  • Memories releases after 9.1.0-alpha.2 have their own panorama viewer. On those, golblick hides its button for a .insp once Memories has re-indexed it (occ memories:index --force), and makes Memories' viewer show the stitched panorama instead of the two fisheye circles.
  • On Nextcloud AIO, ImageMagick crashes PHP on DNG files unless you add the imagemagick-raw package. golblick doesn't cause this, but Insta360 cameras shooting RAW save a DNG next to each .insp, so browsing your 360 photos in Memories leads straight to them. The setup check warns about it, and the app README says how to fix it.

Upgrading from 0.1.0

Your .insp mapping and existing previews carry over. If you set the panorama size with occ in 0.1.0, the settings page picks it up.

Tested on Nextcloud 35.0.0 with Memories 9.0.1 and PHP 8.4, on the official Docker image and on Nextcloud AIO v14.2.0. The app still declares Nextcloud 33 to 35, but this release hasn't been tested on 33 or 34.

Bug reports with the camera model and Nextcloud version are the most useful. Please don't attach photos you wouldn't want public.


🤖 Generated with Claude Code