Video streaming in ParaView (or even VTK)

Perhaps an off-the-wall question, and maybe will all the other Kitware options available not one worth pursuing, but I wonder if there might be an existing workflow for video streaming the ParaView rendering using RTP or something similar, perhaps using the FFmpeg libraries?

(I did a bit of searching, but Google – and even Discourse – of course think I’m asking about streamline visualization, not the streaming of video.)

Anyway, what I’d like to be able to do is render some 360/spherical views from within ParaView, and then stream that to a live viewer elsewhere. So I guess there are two issues – would an alteration to pvserver be a good solution for the streaming, since it’s already doing a form of offline rendering and sending back the images? Also, is there an easy way to do 360/spherical rendering. I know a few years ago my project-team did use ParaView for some 360 rendering, but I don’t have documentation on how we did it anymore.

I appreciate any hints or suggestions. Thanks, Bill

Use the “PanoramicProjection” plugin: https://www.kitware.com/generate-360-images-with-paraview/

stream that to a live viewer elsewhere.

That depends what you mean by that. What is that live viewer ? A screen ? A headset ? Which technology is it using ?

cc: @jaswantp

Ah, very good, thanks Mahieu, that looks like it solves half my problem.

To answer your question, my goal is to stream the video to a WebXR page that just projects it into a sphere, so an HMD on that page can look around the 360 rendering.

FYI @Scott_Wittenburg @Lucas_Givord @LucasGandel

Afaik VTK does not support WebXR, it is however supported by vtk.js

I think the simplest way forward may be to

  • Generate 360 images on a desktop computer using the component I shared above
  • Stream them using XRRemoting component (https://www.kitware.com/stream-vtk-to-the-hololens-2/, Windows only)
  • Display them using a small component able to receive streamed images and not using VTK.

I’m not entirely sure all these components can work together though.

An alternative approach would be to add support for WebXR in VTK and build VTK for the web.

Stream them using XRRemoting component

This requires OpenXR extensions which are only provided by the Hololens so I don’t think it can work with another device.

An alternative approach would be to add support for WebXR in VTK and build VTK for the web.

We are currently working on it with @corentin.munoz

1 Like