[Released] Demolition Media Hap — multi-platform 8k@60fps GPU video playback

Hap is a video codec which allows to decode high-resolution videos using mainly GPU power and gives ability to play videos with alpha channel transparency.

It proved to be the only one solution which managed to preserve glitch-free high-framerate video playback in our mixed reality playscape with Unity running on 8 FullHD projectors. We tried other solutions, but they just didn’t work. Finally, we made this plugin.

Main features:
— Native hardware Hap video playback support without any codec installation needed.
— Low CPU/memory usage. Frames are decompressed on the GPU
— Works with all the render interfaces (DX9, DX11, OpenGL, Metal) on the desktop platforms.
— Both 32 bit and 64 bit supported! Even on OS X!
Best playback performance achievement: 8k@60fps Hap, 4k@60fps Hap Q
— Play multiple videos at once with minimal CPU overhead
— Transparent videos with Hap Alpha codec!
— Audio output through the Unity Native Audio API
— Can preload video to memory if your SSD isn’t fast enough
— Suits for both programmers and artists: C# API, IMGUI/uGUI wrappers provided
— Demonstration scenes for typical use scenarios
— Demo version provided (see the link on the asset store)

If you work with video in Unity, which includes, but not limited to

  • VR projects
  • multi-display/projector walls and playscapes
  • playing alpha channel-enabled content
  • VJing
  • other cool stuff

get it on the Asset Store (windows, linux)

2 Likes

Thanks for Great Assets!

Can I use this plugin with playback speed rate change?
I want to change playback speed in scene.

Hey! Thanks for your request. I will add playback speed control possibility to the upcoming new version of the plugin. Do you need the audio to be played as well with the varying speed, or what you need is only the video (audio could be a bit more tricky to add) ?

thanks for your quick reply!

I want only Video playback speed change (currently).

Hi, thanks for the asset. My video is now FLYING! I wonder if you have the API documented somewhere. I can snoop around in the C# files but I’d rather look at some documentation.
I fully concur with izm1252 about manipulating playback speed. Yes please! If it helps you crank out an update sooner to focus on just the video playback speed and not the audio playback speed too then please do that, at the moment my primary application would be just video.

does it do any benefit for mobile VR devices like GearVR? Playing 8k on there would be awesome :slight_smile:

@adriaanwormgoor , @izm1252

I have a workable version with playback speed controls here. Please directly contact me via lev.panov@gmail.com, I will send you the needed asset version, and publish on asset store if it works for you!

And I will definitely think of how it’s possible to make some nice-looking docs out of the C# files! Thanks for the idea!

I think it will work in VR environment, since you can render the video onto any material you want! There is an example scene which shows how to do it in the package. You can check it without buying the asset, using the demo version here: https://github.com/DemolitionStudios/DemolitionMediaHap. Important: for 8k you will need a really fast SSD!

Please let me know how it goes! I’m highly interested whether it works, unfortunately have no VR equipment nearby

I’ve just submitted a new version 0.9.3 with playback speed controls and some other changes.
Let’s wait couple of days, so it gets approved by the Asset Store admin!

Updated demo version available for download here!

@leavittx : is it possible to use on mobile (high end Samsung phones, for example) ?
Real 4K or 8k video would be of a great help when doing 360 mono/stereo videos !

@Pode Hi there! No plans to support mobile targets right now! Our main aim is to play videos of killer resolutions, but only on desktop platforms. However things may change in the future, since there is a technical possibility, but as far as I know plenty of other nice-working video assets exist for mobiles

@leavittx yes they are other assets, but nothing for HAP.

How might I got about recording or capturing video with transparency? in particular lets say from a unity camera or rendertexture

@Carpet_Head Hi there! You might use one of these for your needs:
Unity Asset Store - The Best Assets for Game Making (costs money but should work out of the box)
Unity Asset Store - The Best Assets for Game Making (not sure how difficult would be to adapt it to capture video)
GitHub - keijiro/FFmpegOut: Video capture plugin for Unity with FFmpeg. (in an early stage, but looks very promising)

1 Like

@leavittx If the purchase of resources can provide all the source code? I see there are a lot of dll files.

Hey! I’ve replied via e-mail!

New version 0.9.3 is on the asset store!

Changelog:
— Playback speed can be controlled
— Framedrop can be enabled or disabled using the C# API
— Overall stability improvements
— Fix resource leaks (GPU and CPU)
— Updated the IMGUI example scene: set active segment, playback speed, etc
— New Hap Alpha example video

Get it here

1 Like

@izm1252 @adriaanwormgoor Check it out!

Thanks very much!I have already responded to your mail.