Video scaling - can we have no scaling at all?
-
I have a problem with my current project. I have about 100 picture files that are long vertical stripes that I place side by side to fill the screen. I move these up and down rather randomly. Even if some stripes are close at size most are not. Tthe most logical would be not to scale these to not fit to anything - nor smallest, nor largest, nor default. Now I have to do some heavy tweaking in Projector Actor and if I change something I need to do it again...for 100 instances.
I could make the file size of the default output screen and place the picture on transparent background but I rather avoid PNG with alpha for performance issues. Or maybe it does not really matter and this is the way to go? I am not looking forward to remake all these files. -
If you do go with the PNG route, you can use the batch tool in Photoshop to do that for all of the images easily
-
Yes I know, but that is not what I am asking.Multiple files scaling has been the question before and we have been coming long way since with Isadora. Every time I encounter this issue I use some other app, mostly Modul8 or Resolume, where multiple size files can be placed on the top of other unscaled without any problems. But I would prefer Isadora, specially for this project and can not understand why this is not possible here. -
I made this quick proof of concept that resizes your images. I still need to work out the proper percentage calculation. right now it averages the ratios of width and height to the stage size. It may work as you need but just be aware of your settings; you need to let isadora scale things automatically; looks are stage size dependant. I'm sure someone brighter than I can do a proper use of calculation actors. ace9ab-auto_resize.izz
-
Thanks, @LPmode
This is pretty nice juggling with calculators. I did a quick run with it, but it seem to complicate the matters for me. It would be lengthy explanation and I am not sure yet why.The only simple option would be not to scale at all. For now I can tweak Projector Actor to get get one image right, but I can not use the same Projector Actor for different image. So I need Player>Projector for every image. I have 100 images - can you imagine how this patch is looking like and how easy it is to navigate to the right element. If the scaling would not happen I would need only 24 Players.One reason to bring this scaling up again(I think I did this few years back) is to ask if it would be possible to have no scaling option in preferences now when Isadora has developed so much in other features.From Isadora tipsTip 5: Keep all video resolution consistent
When Isadora has to combine two video streams of different resolutions (e.g., with the Video Mixer actor), it has to scale one stream to match the resolution of the other. (Which one gets scaled is determined by the “Video Image Processing” section of the Video tab in the Preferences.) Scaling is slow, and so you want to avoid it as much as possible. If all of the video streams you are processing are the same resolution, you will get the best possible performance.
Would it be more efficient to leave the video streams un-saled if such effect is desired instead of auto-scaling first and then scaling again to undo it. -
?????
-
Do we have any hope on this?Using PNGs with transparency to fill the screen(match all media size) I get frame rate about 6 with 20 players on my MBP. -
Dear Vanakaru,
After reading through this, I'm still not clear on what you want to do: is it that you wish to have the pictures appear at their native resolution (1 pixel in picture = 1 pixel on stage) regardless of the size of the stage? Or???Part of the philosophy of Isadora is that you can resize the stage at any time (full screen vs preview) and the resulting image layouts will look the same. To do this, at some point you need to know the resolution of the output, because you need to adjust the image size in relation to the size of the stage.One way to accomplish your goal is to use the CI actors -- because they actually work in pixels instead of percentages. Take a look at the attached patch. The key element is to set the desired output size in all of the CI Crop actors. This rectangle is the one that will, in the end, be scaled to fit the size of the stage. But since you set this value yourself using the CI Crop actors, you can make any sort of aspect ratio you wish. The pictures themselves will not re-scale within this field.There are two versions: one as a user actor, where each actor has it's own CI Projector. And one that "adds" all the pictures together and then outputs it to one CI Projector. I don't have time at the moment to test which is more efficient... I'll leave that to you.But I think my patch gives you what you want.Best Wishes,Mark -
Thanks, you have the solution always.As for your questions:Yes, I wanted to have the pictures appear at their native resolution (1 pixel in picture = 1 pixel on stage) regardless of the size of the stage. In this way I could use picture larger than the stage and move it around to get the effect like you were looking at picture through the smaller cut-out hole placed over the picture. Moreover the underlaying picture is cut into vertical stripes itself and these stripes are moving on up and down by their own.Coming from this logic I thought that no scaling would be the best (I can fix the final output size to match native input size of the actual projector I use and make the media fit to the size I need).Thank you for the patch. It is rather eloquent way doing this. I keep testing how much more efficient it will be.But for my logic if would not harm to have Scaling option to No scaling in Preferences as well. -
OK. Test with 11 pictures. Output 1024x576, target frame rate 30. I get 19fps with user actor version and 25fps with chain players.
Target frame rate 60 brings actual FPS to 29.It seems that i can not go up to 100 with this MBP without loosing frame rate. I can get by with 23 maybe. Will see how this turns out.I understand the beauty with this approach where I can adjust to any output on the fly. Great.