Im working on an interactive installation and would really appreciate some pointers. Essentially high res videos (2560 pix x 2560 pix) are cued by RFID tags. Im experimenting with codecs, so far h.264 seems to yeild the best results yet the VBR rate has to be quite low for decent fps and this is before image warping. Is there anyway to optimise this. Current hardware is i7 3,4 ghz and GeForce 580. Movie files are served from an SSD. Would love to experiment with Cineform but Im on a commercial licence. Can this be optimised in TD or perhaps this is a hardware issue?
Couple notes:
-doing multipass on h.264 files seems to level out the bit rate quite a bit. Apparently you can make it moderately constant using ffmpeg, but I’ve not had success trying
-HAPQ is great if you have the grunt SSD speed for it since it’s free for the other components of your computer
-Might be worth trying the other HAPs, although they are lower quality than HAPQ
Thanks! Is Hap not Mac only though?
You can also split the movie into 4 , thereby lowering resolution per mov, which means you can go higher on the bit rate … That together with hapq and you should be good
HAP is supported by TD for both encoding and decoding. There is a Quicktime plugin for Windows that isn’t publicly available, but if you want it email me at malcolm@derivative.ca and i’ll send you the link.
If you are using HAP there is no reason to split up the file actually. The main reason to split a large res file is to get even better use of CPU cores, but since HAP has very little CPU decode overhead, you won’t gain much from that.
Thanks Malcolm, so would the best bet be to render out an AVI. or still frame sequence in Premiere Pro and then encode in TouchDesigner?
Yep. You’ll want to set a windows env var TOUCH_PARTITIONED_HAP equal to 1 to enable the newer faster codec mode. Only TD can play these files so far though.
Apologies for my ignorance but is setting a Windows env var for before encoding or just for playback?
Hello Malcolm,
Yes, It would be great if you can elaborate a bit on this.
What do you mean by “newer faster codec mode”
and it is a system / touch variable ?
Thanks,
Xavier
It’s a system environment variable that TouchDesigner will read when encoding the video. It causes the video data to be split up into chunks so when it’s decoded the work can be spread across multiple CPUs. It’s only needed for encoding. When playing back TD will automatically detect if a file has been encoded as chunks and decode it appropriately, regardless of if that env var is set.
Hi Malcolm,
I forgot to ask you by mail, but I think it would be interesting for anyone:
What do you mean about Windows env var? Sorry if it is a stupide question.
Do you set it in Touch or Windows registry somehome?
Thanks
Guide on how to set env variables.
Thank you elburz, that’s of great help indeed.
Just to tell that I spent couple of days testing a lot of codecs with TD for 4K playback cut in 4 HD for a video wall. As far as I could see, Hapq is pretty much the only codec (without too much of a quality compomise) that can handle playback flawlessly and system will still have plenty of power to handle additionnal processing.
The files are huuuuuuge though and you’d better have a great ssd or raid setup. 5:30 min of high quality 4k video (30fps progressive) is around 120Gb.
Also, looking around, TD handles pretty well the encoding duty (never stopped being amazed what this software can do!) as long as one doesn’t forget to lock the Movie In to the timeline.
All great comments. When setting a env var is this a user variable or a system variable? Presumably this just requires ‘TOUCH-PARTIONED_HAP’ in name column with ‘1’ as variable value?
Yup. Watch your spelling, jonathank.
TOUCH_PARTITIONED_HAP
Thanks Elburz! So should this be a user or system variable?
It can be either.
sounds great! Is there any further documentation on this new hap mode? Any disadvantages or should I exclusively use this with Touch from now on?
I’d love to read more about it.
It’s possible the files will be slightly larger, but I haven’t tested on too many assests about that. The other disadvantage is that other apps won’t play the files right now.
I may make the encoder smarter in the future for smaller resolutions to reduce the number of partitions, if I hear that there are issues.