[ANSWERED] Large video playback slows down and freezes
-
Not a bug report, but closest to 'troubleshooting' as the category I suppose.
The videos I am using are 7168x768 pixels, MP4 H264. Using RTX3060 graphics card as the default card for processing/calculations but the output is to an NVS810, 7 projectors. Some of the videos work fine, but some videos I am trying now that have a lot going on (such as swirling ink effects or millions of little animated spheres) tend to play with latency, slow down and ultimately freeze. I don't understand first of all why the complexity of the video would make any difference since video frames are video frames... I am going to try the HAP encoding next and hopefully that helps, but maybe I'm missing something else?
Also a related question. I found that if I play static images the projector is sharp and looks decent, but when playing video it's not nearly as good. Not sure if its interpolation and other artifacts of video playback, but I don't like it. What can I do to minimize this? I would like each frame of the video to clear as an image of the same resolution if possible. My projectors are just cheap consumer ones so I can't play around with quality, I have to squeeze whatever performance I can out of them.
SYSTEM SPECS:
Processor 11th Gen Intel(R) Core(TM) i7-11700K @ 3.60GHz 3.60 GHz
Installed RAM 32.0 GB (31.8 GB usable)
System type 64-bit operating system, x64-based processor
Disk drive: WD Blue SN570 500GB (ssd) -
Hi there,
I'm not an expert with that but I had similar experience with just high quality Full HD videos, tried different codecs, reduce quality, etc. The freezing in my case was very random and difficult to reproduce. Finally I`m quite sure it had something to do with having the player set to Timecode instead of percentage. So I don't use the timecode feature anymore, at least during performances.
Hope this helps.
-
@reload2024 said:
I don't understand first of all why the complexity of the video would make any difference since video frames are video frames.
Well, video frames aren't all the same. You're using H264 video, which is a LONG-GOP compressed codec. Your computer has to decompress each frame of the video, which takes processing power and can slow things down and make playback stutter.
The more movement there is between I frames and P and B frames - the complexity you write about above - the more work the computer has to do. Some NVidia cards to have hardware MP4 decoding, but that would probably only be for 'standard' frame sizes like 1920 x 1080, not for 7168 x 768.You should always use an all-I or uncompressed codec for playback in Isadora, like HAP or Quicktime ProRes.
So yes, try HAP encoding next. That should help.
HTH
Mark (not that Mark) -
@reload2024 said:
Using RTX3060 graphics card as the default card for processing/calculations but the output is to an NVS810
If I recall correctly, this hand-off between video cards is inherently inefficient and could become a bottleneck.
-
@reload2024 as @woland says moving data between gpus is very slow. The slowest part of this is from the 3090 down to the cpu back up to the nvs card is also slow but not as slow as the download. The nvs is also 2 cards in a single sku joined together so there is also a performance penalty splitting a texture over the outputs.
I’m guessing you got the NVS card to get more outputs from your system. This may not have been the best approach and a data path of cheap video wall processor with a 3090 will give better performance.
The video decoding should be hardware accelerated, but as mentioned in this thread standard sizes will decode and encode better. The number of pixels you are using is less than a 4K image, you may get good results manipulating the video so it is packed into a 4K frame and using the mapper or other actors to slice it up reconstruct it to the correct output.
-
@fred Thank you for the suggestions! I did look at wall processors but none of them did edge blending and any that did were much more expensive than the NVS810 card.. Probably $4k or more for a 1x8 wall processor... I will look into your last idea thanks again.
-
@gaspar That's very interesting! I'll check that setting and do some more testing (as well as letting the NVS810 do its own processing and switching codecs). Hopefully that will take care of my issues.
-
@mark_m Thank you !
-
Interesting case. Codecs etc aside, in terms of basics: what exactly are you projecting on to, how far is the audience away from the total surface, what is the nature of the content and whats happening in terms of live action in front of the projection. Of course one doesnt want stutters and stops and h264 is a red flag, just want to get a bird eye view of the situation
-
@reload2024 Isadora will take care of the edge blending very well, there is no need to do it from within a video wall processor. The only thing it needs to do is to take a 4k input and output 4x HD outputs. Isadora is ready to handle this configuration already. If the NVS810 is the only way you have output to all the projectors, then I would suggest disabling the 3060 completely, if you are just playing video and doing a blend the NVS810 should be able to handle it.
You could also take a punt on a cheap video wall controller like this (https://www.aliexpress.com/ite...) - note there are 2 models - you would likely want the more expensive 4k one and if you want 8 monitors (7 projectors and a control screen) you would need 2 (the 3060 does a max of 4 outputs - these devices count as 1). In this case remove or disable your NVS810 as well as any iGPU and use only the 3060, run these controllers at 4k60 and the outputs at 1080p60. To blend, do everything in isadora using the stage setup.