Sawadee krub, #417 - https://gitlab.com/whitebox-aero/whitebox/-/issues/417 SRS server ready, streaming through it via RTMP works, and streaming that to the browser mostly works. Current observations: - With the streaming perpetually active, we need to "intervene" to also start recording. Second connection causes the first one to drop, so we might need a "centralized daemon" for per-Insta360-device handling. Leaving the investigation for a later iteration - Streaming to RTMP dies after some time, but restarting it causes browser playback to seamlessly continue - Browser playback over WebRTC is not exactly ideal. Playing non-3D equirectangular video with pure Video.js works great, but mixing it up with Pannellum seems to be flaky. I'm getting it working currently with a horribad `setTimeout(initialize, 2000)`, couldn't workaround it - On the other hand - from a few tests today, desynchronization is gone! :D Not only does the video play consistently and smoothly, HLS recording has pretty much zero delay from pressing `Start Flight` to when it actually starts recording. Also launched it on three devices and waved my hands around with "abrupt stops", all three screens were, to my eyes, in absolute perfect sync. Really love where this is going, but I've hit a small wall and will postpone the rest for a later iteration to not have spillovers. I'll put all this into appropriate tickets tomorrow
Hi Milos, On Thu, Dec 18, 2025, at 23:06, Milos Petkovic via whitebox-dev wrote:
Really love where this is going, but I've hit a small wall and will postpone the rest for a later iteration to not have spillovers. I'll put all this into appropriate tickets tomorrow
The current state and tests look like a good news! What is the wall you have hit, the equirectangular display? -- Xavier Whitebox.aero <https://whitebox.aero/>
Yes? Maybe? I've written a custom "Tech"[1] implementation to handle WebRTC's WHEP[2] protocol with quite a bit of LLM assistance. It works well with standard video (just playing equirect video as-is), but initializing Pannellum with has been flaky. Native video playback is super resilient, but Pannellum (and all alternatives I found) use WebGL to do the spherical 3D playback, which has some quirks in our use-case. From what I understand so far, with videos, you always get metadata with the first frames, but with WebRTC, the video is a bit "late" (by design[3]). It seems to be the issue with initializing the WebGL context, as it's not that tolerant to "resizing" that effectively has to happen after the first frame is received. That's why `setTimeout(init, 2000)` works. If you `init` immediately, it breaks. If you load the page and press play immediately, it breaks. You have to load the page, wait for 2+ seconds, and only then press play for it to work. Surprisingly, some workarounds I've tried were very Firefox friendly, but none of them worked well on Chrome and Safari. It's not a showstopper, but I do need to dive deeper into it to understand it and be able to workaround it. [1] https://videojs.org/guides/tech/ [2] https://dev.to/dolbyio/what-is-whep-intro-to-webrtc-streaming-part-2-3d99 [3] https://github.com/ossrs/srs/issues/3950#issuecomment-1982040069
Detailed explanation in https://gitlab.com/whitebox-aero/whitebox/-/merge_requests/201
participants (2)
-
milos@whitebox.aero -
Xavier Antoviaque