Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

Video with alpha support


headkaze

Recommended Posts

naborneo: Can you try posting a video of the animated logo with alpha channel support? If you like I can see if I can get it rendering in GameEx.

absolutly! this would be great, I'll put together a few different versions using different codec to see what works best.

To be honest though, the best way to accomplish this I would think, is an image sequence. If it was possible for GameEX to look for a folder called (for example) "Sega 32X" and understand the images inside that folder was a 24fps (or whatever we decide) image sequence. Kinda what the "Selection Bar" Animation is.

I'll put some options together for you.

Link to comment
Share on other sites

absolutly! this would be great, I'll put together a few different versions using different codec to see what works best.

To be honest though, the best way to accomplish this I would think, is an image sequence. If it was possible for GameEX to look for a folder called (for example) "Sega 32X" and understand the images inside that folder was a 24fps (or whatever we decide) image sequence. Kinda what the "Selection Bar" Animation is.

I'll put some options together for you.

A video format is much better than an image sequence because they use compression designed for video. If you had a sequence of images it would be super laggy to load them from disk and transfer them to video RAM at 24 fps.

Link to comment
Share on other sites

A video format is much better than an image sequence because they use compression designed for video. If you had a sequence of images it would be super laggy to load them from disk and transfer them to video RAM at 24 fps.

The only video formats that accepts alphas are AppleProRes4444 and Animation+ The stange thing about videos that use alpha is that they are more CPU hogs than GPU.

I have rendering right now an Animation+ video and ProRes video along with a TIFF and PNG sequence. I guess you can give them all a try and see what works on your end.

ProRes4444 should work on windows machines if you have the latest version of QuickTime installed

Link to comment
Share on other sites

A video format is much better than an image sequence because they use compression designed for video. If you had a sequence of images it would be super laggy to load them from disk and transfer them to video RAM at 24 fps.

https://www.dropbox.com/sh/kvtn1ydlc5z83g7/dxLaEX2idJ

Here is a link to an Animation & ProRes video along with a TIFF & PNG Sequence.

Let me know if you have any luck.

Link to comment
Share on other sites

i want to contribute to this too.

here is my MAME-animation with alpha. it uses the Lagarith Lossless Codec in an .AVI container. Superb Quality and small size... in my case for a 21sec. 800x310 pixel animation, took about only 59MB :D .

This codec is incredible regarding compression. i would prefer this codec over all others, but see for yourself.

here is the link: http://www8.zippyshare.com/v/11933270/file.html

you can find the codec here: http://lags.leetcode.net/codec.html

Try it Headkaze and tell us your results...

as soon as we got a supported video+alpha codec, i will contribute much more.

Link to comment
Share on other sites

I can play the video with alpha from here using the Shark Codecs so perhaps this is the format to go for? The only problem is when the video ends and tries to loop there is a long pause. Not sure why.

I will check out these other formats soon.

The Codec used in the linked video was a QuickTime shell with a PNG codec. I added a the same option to the folder I linked ealier "PNG.mov"

Link to comment
Share on other sites

I can play the video with alpha from here using the Shark Codecs so perhaps this is the format to go for? The only problem is when the video ends and tries to loop there is a long pause. Not sure why.

I will check out these other formats soon.

user naborneo is right. the fire-mov is a .png-mov. i can loop this movie without problems in windows media player and quicktime. maybe the delay has to do with the .png codec, but i think it is another problem.

the lagarith-codec is included in shark´s codec pack for windows 7:

Package Components:

● ffdshow DirectShow Video Codec 20120109 x86 Revision 4238 by clsid.

● ffdshow DirectShow Video Codec 20120105 x64 Revision 4225 by clsid.

● LAV Video decoder 0.44 x86 & x64.

● XviD Video (Encoder) Codec v1.3.2.

● Lagarith Video (Encoder) Codec v1.3.27 x86 & x64.

● Flash Video Splitter/Decoder v1.5.2.3456 x86 & x64.

● AC3Filter v1.63b AC3/DTS Decoder x86 & x64.

● LAV Audio Decoder 0.44 x86 & x64.

● DivX Audio Decoder 4.1

● Lame MP3 v3.98.2 ACM Encoder/Decoder Codec.

● DSP-worx Bass Source Filter/Decoder v1.30.

● Haali Media Splitter/Decoder 16/09/11 x86 & x64 – For MP4, MKV, OGM and AVI files.

● LAV Splitter 0.44 x86 & x64.

● VSFilter v2.39.5 x86 & v2.37 x64 – Subtitle Readers.

● CDXA Reader v1.5.2.3456 – Also known as Form 2 Mode 2 CD or XCD x86 & x64.

● GSpot Codec Information Appliance v2.70a.

so if you installed shark´s codec pack, you dont need to install it, just grab my movie and try it.

i still would prefer Lagarith, cause the size is way smaller than png, pro-res or anything else i have ever seen.

the fire movie is not colorful and has a relative small size in pixel (yes it is full HD, but with much black around the fire ;) ).

my movie is a 21sec. animation and colorful and takes only 59MB ;) .

Link to comment
Share on other sites

Hey guys so far the results are looking really good. Every video plays using the Shark Codecs alone and there is no problem with looping. The only video with an issue is ProRes4444 which is rendered without the alpha channel. I tried installing the latest version of QuickTime but it didn't help. I'm not sure if QuickTime installs DirectShow compatible codecs or not although admittedly I didn't reboot after the install when it prompted me to. Either way we don't want to force users to install QuickTime; we want to require the Shark Codec pack only.

To get a better comparison it would be nice to have naborneo's video using the Lagarith codec. From there I will need to try some performance tests and decide on the best format to go forward with.

Bottom line is we can use alpha video in GameEx using the Shark Codecs so this will definately be a supported feature :)

Link to comment
Share on other sites

Well the fact of the matter is apart from ProRes4444 all the videos work. So I guess there is no problem with people picking their own codec as long as it's supported in Shark Codecs. I just wanted to do a performance comparison. So perhaps u-man can download your PNG sequence and create a Lagarith version for my tests?

Anyway the PNG format seems to be the lowest filesize but likely uses more CPU for decompression than Animation+. Anyway we wont know for sure until I can do some testing.

In the mean time I will contact Tom and have a discussion about adding this feature now rather than having people wait for the new engine.

  • Like 1
Link to comment
Share on other sites

I created a Lagarith version of naborneos PNG-seq.

It can be downloaded here: http://www41.zippyshare.com/v/32528903/file.html

the resulting movie is 30MB big, so it is nearly twice as small as the ProRes-codec.

in the meantime, i will look for a better mac-videocodec with alpha-support ;).

I would really ignore the ProRes4444 file, that is a very highend video editing format, I just threw it in there because I knew it could handle Alphas. That codec is mostly used for things shot on a RED camera and greenscreen. Very high bandwidth possibilities with that codec with a small video size compared to RAW video.

Link to comment
Share on other sites

I am really aware of this problem, as there are not many video-codecs supporting a Alpha-Channel and nearly all of them, produce huge sizes. we need to be aware, that future themes created, can easily reach 1GB in size, if we would use uncompressed avi´s or animation-codec...its not only the size, a user would need good hardware, for this to work in realtime and fluently, especially the hard disks need to be fast ;)... so there are not many alternatives...

i wrote it headkaze allready. the only reasonable choices would be to use two movies. one with containing the content and another who has the alpha, but then both movies need to play in sync, which would lead to trouble really fast.

as i am very interested to have a option to use a video+alpha in created themes, i found the Lagarith codec accidentally, by trying out the codecs i have. i was suprised of the relative small sizes it produced, thats why i was thinking it would be a good choice for using it with GameEx.

Link to comment
Share on other sites

The problem with alpha is once you apply a lossy video compression algorithm you end up with ugly artifacts. That's why I believe most alpha supported codecs would not perform any sort of serious compression.

Either way, what I think will be useful for this, is GameEx intro videos that can be overlayed at startup.

Thanks for the Lagarith example u-man; when I get some time I will do some performance comparisons. Also sorry I didn't get back to you in IM, I did read what you wrote though, and perhaps we can keep this sort of thing for intro videos only. There is also the chance we could use the video card and DirectX to either ColorKey or blend a color channel out. Although I believe we would likely encounter issues with artifacts.

Link to comment
Share on other sites

Does Huffyuv support alpha channels? I remember using Huffyuv to dramatically decrease filesize when I was doing capturing. Maybe it's a possible alternative?

"Lagarith offers better compression than codecs like Huffyuv, Alparysoft, and CorePNG. There are a few lossless codecs that can compress better than Lagarith, such as MSU and FFV1 (but they dont support ALPHA); however Lagarith tends to be faster than these codecs. Lagarith is able to operate in several colorspaces - RGB24, RGB32, RGBA, YUY2, and YV12. For DVD video, the compression is typically only 10-30% better than Huffyuv. However, for high static scenes or highly compressible scenes, Lagarith significantly outperforms Huffyuv. Lagarith is able to outperform Huffyuv due to the fact that it uses a much better compression method. Pixel values are first predicted using median prediction (the same method used when "Predict Median" is selected in Huffyuv). This results in a much more compressible data stream. In Huffyuv, this byte stream would then be compress using Huffman compression. In Lagarith, the byte stream may be subjected to a modified Run Length Encoding if it will result in better compression. The resulting byte stream from that is then compressed using Arithmetic compression, which, unlike Huffman compression, can average fractional bits per symbol. This allows the compressed size to be very close to the entropy of the data, and is why Lagarith can compress simple frames much better than Huffyuv, and avoid expanding high static video. Additionally, Lagarith has support for null frames; if the previous frame is mathematically identical to the current, the current frame is discarded and the decoder will simply use the previous frame again."

The problem with alpha is once you apply a lossy video compression algorithm you end up with ugly artifacts. That's why I believe most alpha supported codecs would not perform any sort of serious compression.

Either way, what I think will be useful for this, is GameEx intro videos that can be overlayed at startup.

Also sorry I didn't get back to you in IM, I did read what you wrote though, and perhaps we can keep this sort of thing for intro videos only. There is also the chance we could use the video card and DirectX to either ColorKey or blend a color channel out. Although I believe we would likely encounter issues with artifacts.

1.) Yep, thats true. A Alpha-Channel need to be clean, any compression-artefacts could cause a not desireable result ;).

2.) We could use this for so much more :D

3.) No prob. Sometimes there is no time for a hobby ;). The colorkey could work for simple cases. In more complicated cases, it will need a lot of tweaking.

Please make this feature available to more than just a intro-video. small alpha-keyed animations could live up a theme so much more than now. jumping marios, street fighter moves, bubble bobble dragons.... all possible :D

if this feature is implemented in GameEx, i would be happy to see links to sites with nice arcade .gif animations :D

Link to comment
Share on other sites

Please make this feature available to more than just a intro-video. small alpha-keyed animations could live up a theme so much more than now. jumping marios, street fighter moves, bubble bobble dragons.... all possible :D

if this feature is implemented in GameEx, i would be happy to see links to sites with nice arcade .gif animations :D

The feature is definately coming but you wouldn't want to use it for gif animations. That will be coming in a different form (texture animation).

naborneo: I can't help but think we have hijacked your thread a bit. If you want I can split out all the compression discussion into a separate thread. Up to you.

  • Like 1
Link to comment
Share on other sites

naborneo: I can't help but think we have hijacked your thread a bit. If you want I can split out all the compression discussion into a separate thread. Up to you.

It's probably better to move it, I'm sure this conversation will continue for quite awhile.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...