HAP!
Hey- did anyone else hear about Hap?
Looks like an amazing hardware-accellerated codec. What are the chances of getting it in Jitter? Or, since it's in GL-Land, at least in an external like jit.bc.qtkit?
Could be a great way to accelerate video in Jitter!
: j
I agree. This would make a great addition to Jitter!
up.
Heads up to developers of Max!
"You can then play the videos in any app – even those that lack Hap support. But you’ll need updated versions of your VJ apps to support the codec. For now, that means only VDMX is working, but that promises to change if people do like the codec. (I’d love to see creative coding apps, too, like Processing, OpenFrameworks, Cinder, and the like.)"
“5 Layers of 1080p encoded in Hap playing in VDMX on 2.6 GHz Intel Core i7 Retina MacBook Pro.”
For folks using Jitter, I think the 'Hap Alpha' version would be particularly useful.
Unfortunately I know it would stick a sore spot in c74's current move to 64-bit which I've read is hampered by QuickTime, so I thought I'd mention that we're hoping to have Hap working with AVFoundation as soon as Apple makes this possible for 3rd party developers.
Also of note, Millumin released an update today adding native support too:
http://blog.anomes.com/post/44289008530/millumin-dynamic-mask-with-matte-hap-support
- Dave @ VV
hey folks.
i've got an open-source jitter external that provides native HAP support ready to go!
https://cycling74.com/tools/jit-gl-hap/
32 bit mac 10.6+, and Max 6.1+ only.
please give it a go, and let me know if you run into any problems.
with my limited testing so far, i can say the performance is pretty amazing.
many thanks to Tom, David and the Vidvox team.
the source is up on github, so feel free to make modifications / improvements (once the 6.1 sdk is released).
https://github.com/robtherich/jit.gl.hap
Great to see a hap implementation for jitter!
I played around with the help-file and it seems to work fine for straight playback of HD files.
I noticed that palindrome loop mode doesn´t work well when using hapq, at least on my setup (it works fine when using hap).
A bigger problem for me is that I don´t seem to be able to connect a jit.gl.slab to the output of jit.gl.hap. The output just turns black, and even after removing the jit.gl.slab there is still no output. I need to reopen the helpfile to get it working again.
hc
Sweet! Will try to find some time to give it a test drive in between gigs.
hi hc. thanks for the report regarding slabs. TBH, I haven't tried that yet.
I'm not at my computer, but I suspect the problem is that gl.hap, when playing back HAP files, outputs Texture2Ds. but the default gl.slab shaders are all written to work with Texture2DRects, and the output textures have @rect enabled by default.
in this case, jit.gl.pix might be the better option for processing gl.hap output.
I'll take a look and confirm this when I get a chance.
In the meantime, you could try inserting an instance of jit.gl.texture after jit.gl.hap for one extra texture copy.
There maybe other issues, however.
hi,
Thanks for this object... it seems to be the right way to have a good codec and avoid using jitter matrix.
i need to insert jit.gl.slab too.
Insert jit.gl.pix or jit.gl.texture doesn't work for me...
Thanks again
thanks for the report guys.
turns out i was completely wrong with my initial diagnosis. no surprise there :)
i've fixed the problem and updated the Toolbox download link.
please give a look and lemmeknow if that doesn't fix things for you.
Hi Rob,
thanks for the quick update.
My initial tests are successful with slabs, will test more extensively later.
hc
I have just tried this and it gives amazing results. Thanks! Doing some extensive testing today with the different HAP codec's as well.
But Is it difficult to make a Max 6.0.8 compatible version as well? Or is it depending on something in Max 6.1 which is not in the 6.0.8 version?
I have been struggling with not being able to play back a lot of High res video at the same time, this is really the solution, but since I am really depending on the Jamoma framework (currently not compatible with Max 6.1) I was wondering if making a Max 6.0.8 version would be possible?
Thanks,
first test is successful.
fxw
Fantastic, thanks :D
Will this be making it's way in officially with the next release? Also, it didn't work until I installed the QT component from here: https://github.com/vidvox/hap-qt-codec/ Is that correct? If so, might be worth linking to it in the instructions :)
hello rob,
thank you very much for porting hap to jitter !
this is the biggest improvments for me since years :-)
the performance is really great !
i have one little feature request.
it would be great, if the outcomming texture is not flipped, if you load an non hap encoded movie.
i know, that i can flip the texture afterwards.
but if i have a setup with mixed encoded movies, i dont know if a movie is hap encoded or not.
or can i detect, if the movie is hap encoded or not ?
all the best,
kugelschreiber
@ricardo 6.1.1 will be out shortly, which should address the Jamoma issues.
@DiGiTaLFX - thanks for the note, i've updated the toolbox page to include that link.
@kugelschreiber - in my testing i found that most non-hap qt movies required the texture flip to display properly, only a few did not.
unfortunately i was unable to determine why some did and some didn't.
so i made it default behavior based on that.
if anyone has more info about the texture flipping inconsistency, i'd love to hear it.
@Joshua Really? That is great news. Thanks for the heads up.
@Rob, I have tested with the three different HAP codecs and i'm getting great results. Thank you for sharing this tool!
@Rob, will you make it available for 64bit too? Or is it not possible at the moment because of open 64bit jitter/QT issues?
I'm hearing Resolume is following suit and open-sourcing its similar DXV codec. Didn't find that news online yet though.
@Funk Eater - 32 bit only, for the time being as it's relies on some Quicktime api calls that aren't available in 64 bit.
if and when, as david mentions above, apple provides a workaround, the object will be updated.
however supporting max 6.0.* is very simple, so if anyone still needs a version to run on pre 6.1, let me know.
Hey,
I would be glad to use it on 6.0.8 ! still relying on some third parties libraries, so i'm not using 6.1 right now.
Second that!
and i forgot 'thanks for your work' :)
Is it possible to have it for Windows 7 ?
@benoit Unfortunately, there is no support for QT to provide OpenGL textures under windows, or many of the other infrastructure that this object relies upon.
@Rob YOU ARE THE MAN
Agreed =)
Any solution for smooth fullHD playback on windows would be great. Maybe dxv from resolume could be a good first step for a solutiom? I had very good experiences with the dxv codec in resolume on windows...
Super helpful to the 6.0.8 version. Thanks so much!
Hi,
I've problem with the loop 'looppoints' message.
It's like the looppoints is not reset when you read a new movie file...
I need to use looppoints with pattrstorage.
Thanks
fxw
Hi,
Here is a more simple patch to show the looppoints problem....
Hope i'm clear.........
Thanks
fxw
Is there a way to send a jit.gl.hap to multiple GL rendering destinations?
The standard method would be to send it into a texture and use @shared 1 on your windows/contexts
It could be a good way to support libav and cineform codecs as in Derivative TouchDesigner?
Libav reads any kind of video (as VLC), Cineform allows to play 4k video in TouchDesigner.
Armonico
Hi
Excuse me for insisting, but I need to use the messages 'looppoints'.
Without initialization of these variables when you open a new file, this 'hap' object remains unusable for me ...
Does anyone have an idea to fix it?
thanks again
HAP is AMAZING !!!!
With a patch I'm working on it goes from 10-15fps to 30-35 !
Thank you VDMX team and Tom Butterworth !
Now I'm even surprised it didn't happen before...
And also a big thank to Rob Ramirez for the jitter support.
It would have been really frustrating to know it exists and not be able to use it ;)
@Francois
Something like this ?
@Yoann
Yes, of course, but if you want to use pattr to store the looppoints, it's a little bit more complex (prority between messages....).
the good way will be that the hap object reset the looppoints when call a new file.... as jit.qt.movie does....
Thanx
fxw
hi francois.
yeah i see that's a discrepancy with qt.movie.
however, it's easy enough to work around with the "clear_looppoints" message, triggered on the movie read notification.
i'll make sure that get's fixed for a future update.
Hi Rob,
thank you, i try it ....
i've found an other strange behavior ;
Order (priority ?) of the output messages is changing according to the position of objects connected.
Thanks again
yeah, i think i defer the read notification to the low priority queue, and maybe that's causing the print to display the order strangely.
doesn't really seem like a problem with the functionality however.
Thanks Rob,
The "clear_looppoints" message work fine for me !
So, i'm hap_py...
[jit.hap] is incredible... This is at least something, that can push video in jitter into cutting-edge standards. I'm just encoded and played some video in 5000x1000 pixels resolution and my radiator in my MBP even didn't start...
I'm curiose about 64bit version... anyway: it's great.
I see now that Derivative touch designer lists support Hap.
See product list: https://github.com/Vidvox/hap or Derivatives site.
Since Touch is windows only seems they may have ported the codec to windows?
Would love someone to release a windows version opensource same as the mac version.
dusx: the max object supports windows now:
https://github.com/robtherich/jit.gl.hap
Is it possible to output quicktime using the codec on windows ye?
the hap windows codec is still in beta. I'll announce here as soon as the public release is available.
I was wondering if it would be possible to add the loadram function in the jit.gl.hap? I have noticed that when i start several movies at once, it freezes for a moment before resuming the playback.
And... maybe.. @soc parameter for jit.gl.hap... please... please... please...
is hap codec available for window? or will it be?
Actually jit.gl.hap (or just an idea of unpack-to-texture) is something I can imagine as regular part of jitter, much more up to date than existing solution.
hello! I have 2 small HD video playing in my patch with hap and they freeze when they have to loop. I'm using the frame message for sync them. Any ideas how to avoid the freezing?
I tried to load the same video in the help file of the jit.gl.hap and it is doing the same. I notice this happen only when I am using counter -> prepend frame attached to the jit.gl.hap
thanks in advance
here is the patch edited from the help file
Hi Martina
I'm not sure, about details of your project, but I'm using multiple [jit.gl.hap] objects in one of my project with no issues. For looping try @loop 1 (or @loop 2) parameter for [jit.gl.hap].
Hi Yaniki. First of all thanks for the reply! But unfortunatly loop 1 (or 2) is not possible for my project.
The project part where hap is involved needs the two movie to be sync toghether. So that is why I'm using the counter for playing the frame of the video loaded in the hap object, banging the frames.
Everything is fine except for the ending, mean that when the hap has to start again the movie (let's say from frame 1200 to frame 1) it freeze and then it goes again. In the patch i posted i have this issue, also tested in different mac os 10.6 (mac book pro 17 " e 13 ") and on mac os 10.7 (mac mini ) as well.
I wonder if I am doing something hap don't support, if anybody else have the same issue with the patch i posted (loading small hd video 1280 x 720) and if somebody have a solution how to avoid this freezing while using the play of the video controlled by the FRAMES (so not with loop 1 parameter)
Thanks again
Martina
I played a bit with patch you posted... strange, but, seems to be ok on my computer (MacBook Pro, OSX 10.8.4, Max 6.1.2) - looping is ok, no freezes when video reaches end.
But, maybe a workaround this: if you have to sync 2 videos (with the same length) you can compose both videos into single one (eg. one on the left, second on the right side) and play this video from single player (let's say from [jit.gl.hap]). And you can use two [jit.gl.videoplane] objects textured by the same image, but with different tex_offset_x/y, tex_scale_x/y attributes to show different part of the texture.
Thanks for the reply, I'll try to test it in a 10.8.4 system and see. The workaround you suggest would be amazing, but unfortunatly the company wants to sync 6 videos (each computer will have 2 monitors attached to it)... But really, thanks to let me know on 10.8 works with no problem... I wonder why thou! I'll let you know if i'll still have this freeze on 10.8 too
ok I juts tested in a 10.8.4 system and it still freeze when have to go back to the first frame... just to be sure, did you tested with a 1280x720 video exported with hap codec? In fullscreen?
hi martina.
make sure that the movie is not playing when you give the frame message.
meaning, @autostart 0, and you don't ever send the start message, you control all playback with the frame message.
are you able to playback from an SSD drive?
another suggestion is to have two copies of the same movie, and when copy A reaches the end, switch to copy B.
oh god sorry for this... I was so into the programming i forgot the basic of @autostart 0! Thanks a lot Rob!!!!
Hi,
I am working on an installation that will use multiple video screens. I am playing around with the HAP codec as it seems really good. The problem I am having is getting multiple hap moves playing, and or, displaying the same HAP movie on multiple screens. It seems that what screen is made first, will work, and the others just display white. I can't even switch the destination of the video to different screens.
Not sure if any one else has had this problem?
Thanks
K.
Max 6.1.2 OSX 10.8.3 2.2Ghz Intel Core i7 on MacBook Pro.
Try "@shared 1" attribute for booth windows.
Kudos to all who have contributed to this libraries. I just made a quick test with my "monster" - size video I have for serious performancetests, (2048 x 3488 px), and it runs with solid 60fps on my 4.5 year old macbook pro. (I have an SSD).
I am impressed.
Thanks a lot.
PS. This obviously means I have to "sizeup" my performance test video :-)
Hi Yaniki,
Thank you so much, works perfectly.
These libraries are great.
K.
I wonder if it is a human constant to always have to go as fast as possible ...
So I want to go on the fast lane too. But there are some involuntary stops in the playback of the movie.
can we come back to the [loadram] message subject?
this procedure is asked for above but seems to be still not available.
could this be implanted?
there are some 'hangs' occurring every 2/3 seconds when you trigger the movie in very short intervals (200ms). is [loadram] a solution for that behavior? or is it more due to the [qmetro] flow, that is to be low hierarchy? and then what would be the antidode for that?
+ 1
for loadram
not sure how difficult a loadram implementation will be, or how helpful, but i'll put it on my list.
for anything other than straight playback from start to finish, or simple looping, your best bet is to leave playback stopped, and control frames with the frame or time message, and your own timing mechanism.
good to hear, Rob, I really appreciate your work and your input here.
very instructive.
is there another way to trigger [jit.gl.hap] with a 'high priority' [bang]?
when I go to openGL coming from a [jit.qt.movie], RAM loaded, that is banged with a normal [metro] everything is accurate.
Hello i'm one of the adventurous/suicide MAX users that has installed mac os 10.9
i actually have no problems with max itself but i do encountered a problem with jit.gl.hap.
the object is working fine when loading non HAP movie files but, crashing MAX when trying to load HAP compressed files
i work on a 13" macbook pro 2010
same here.
It seems to me that it has something to do with the hap codec and not the jit.gl.hap object.
I cannot playback hap files in quicktime either.
Can you confirm this?
Same here.
I try installing the last vdmx update, which has a hap update
http://www.vidvox.net/forums/viewtopic.php?f=22&t=8008
but it didn't work. Max doesn't crash, but the video is not playing....
I forgot: quick time can play Hap files, so it might be something with jit.gl.hap
Update with this dmg. http://vidvox.net/download/Hap_Codec_2.dmg
Should work.
Works for me.
Not super stable though..... seems that it might be something with jit.gl.hap as well.
OK, I have done some more testing, and with the new hap installer everything is working ok for me
Hi,
Thank you Ricardo for that test. It solve the crash problem. But I have now the same issue that I previously had: With HAP files, no images are displayed, only sound. The framecount is also not running. Though, other codec are playing perfectly and it plays well with QT or VDMX.
I'm testing it simply with the help file.
The only solution that I found previously was to replace the HAP.component with the older one (March 17th), but unfortunately it crash while running on OS 10.9...
If somebody could help me, it would be wonderful because it's quite urgent...
Tested on MacBookPro Retina 10.8.2 // Max 6.1.4
Also with an already compiled app (with my retina) on MacbookAir and Mac mini... same problem...
Thanks.
B.
Anyone?
I can confirm the issue described by Simon. Maverics + Max 6.1.4 + Hap = no image.
thanks for the reports everyone.
just a heads up, it will be some time before i update to 10.9 and can investigate this.
so in the meantime, it seems advisable to stick with 10.8.
of course the code is on github, if anyone else cares to take a look...
Anyway, I just finished my 2nd project based on HAP (both codec and external) and I'm still impressed with how well it works.Both stability and performance are great. I think that HAP is currently the best way to work with video in Max. I would be delighted if - some already outdated and inefficient - jit.qt.movie took a bit of youthful energy from jit.gl.hap...
> of course the code is on github, if anyone else cares to take a look…
Actually, maybe I should dust off my coding skills in C... ;-)
Hmmmmm, I used this installer and now everything works perfect.
I have cloned the hap project from git hub. Dont know if that makes a difference in some way, but I have an image.
After Ricardo's posts I reinstalled codec (http://vidvox.net/download/Hap_Codec_2.dmg) again and now hit.gl.hap is working.
Hi,
First of all thank you for the wonderful work, Ricardo!
I am on OSX 10.9 with Max 6.1.3. I just wnted to say that I have problems playing hap encoded files. Actually nothing is being played. Even after I installed Hap_Codec_2.dmg.
With a ProRes file, it works just fine. Better than with jit.qt.movie. But after a few minutes playing the same movie, it starts to freeze (1 frame per 5 to 15 seconds). Any ideas why? Anyone else experience this?
Thank you all for any input!
PS: QuickTime tries to convert the hap movie if I try to play it with it. And does not want to play the original. So I am guessing I still have problems with the codec. Any ideas what I should do?
Hi guys,
jit.gl.hap works now properly (sound and image) on my Mac (10.8) with the new HAP_codec_2 since I removed :
- all HAP.component file (one was hidden in HD>System>Library>Quicktime)
- all jit.gl.hap (i had one in Max 6.0 search path - yes I still have Max 6.0 and Max 6.1 on the same machine)
And then I download and install them properly from here:
http://vidvox.net/download/Hap_Codec_2.dmg
https://github.com/robtherich/jit.gl.hap
I guess that should work on OS 10.9 since Max 6.1.5 has been released.
Hope this helps.
Benoit.
I have no luck getting hap to work in max 6.1.5 on Mavericks. It works fine in quicktime 7 and vdmx so I suspect it is the jit.gl.hap object which is the problem.
Has anybody managed to compile it for mavericks? Xcode crashes when I try to open the jit.gl.hap project..
so I finally got this to work by replacing the jit.gl.package from the one on the github page. Thanks Ricardo for helping me out offlist.
Hi, I'm a beginner of Max in Japan.
I want to use hap codec on Mavericks, but now I can't.
I found Quicktime on Mavericks has no support for third-party codecs so I installed Quicktime 7.6.6.
Hap runs on it, but I don't know how use it on Max instead of QuickTime10.3
I hope anyone help me!
Just a quick question. Can anyone else confirm that the "loopreport" and the "framereport" functions does not work?
When enabling "loopreport" I do not receive any notification that a loop has ended.
Ticking the "framereport" gives me only a "framereport 0" syntax.
Hi Ricardo,
I can confirm this. Nothing happens when loopreport is on, and I get the framereport 0 message when enabling framereport.
thanks for bringing this to my attention.
it's a simple fix, and i'll post back here when i get it fixed up.
hey guys, i've updated the toolbox link with a new package that fixes the loopnotify issues, and adds loadram functionality.
enjoy!
Hey!
Thanks Rob. This is a great implementation. Thank you so much for doing this :)
Merry x-mas.
Great! Thank you Rob!
Is it 32 or 32/64bit compilation?
32 only for the time being