Jump to content
  • Advertisement
Sign in to follow this  
EnlightenedOne

Video to a texture in DX9

This topic is 2691 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi,

I am wondering on the right means for streaming video into a graphics environment, looking for an example of DirectX rendering a video to texture which can then be mounted to a model. As far as documents go DirectShow was the means for doing this in a 3D world, however, that has evidently become depreciated.... quite what it has been depreciated by is a much harder question to answer.

I looked around for a means of getting video files into DirectX and the only up-to-date source I could find was Bink Video (with a 6000 dollar price tag). I am wondering if there is anything for Indie developers to use to get video into a scene and if anyone could enlighten me as to its name or usage. Does everyone without a million pound budget develop an application using DirectShows old methods to do it? I am hoping there is something current I have missed, I do not want to have to use sprite board style UV clipping to achieve the desired effect on this one, if there is a better alternative.

Many Thanks

EnlightenedOne

Share this post


Link to post
Share on other sites
Advertisement

ffmpeg / libvorbis



Thanks Hodgeman,

I looked at ffmpeg but their licensing is ladend with landmines and it doesn't look like commercial use is on the cards especially with the Mpeg people scouring for royalties. Vorbis certainly looks like the right direction to go in. Correct me if I am wrong but is libvorbis only audio based? I believe the Vorbis application Theora is the video player SDK they have.

I will scour their wiki for information on plugging video into DirectX thanks for a point in the right direction, as ever :)

I appreciate any advice anyone who has experimented with video in DX might have to say, otherwise I will march on... I am hoping to record video for a texture and height and normal map and use these to produce a parallax relief effect which looks as if water is streaming along its surface via HLSL or perhaps see if I can produce any other interesting effects like arrows moving over a brick surface as if part of the textures height. Just to play around with it for the time being until I make some progress. Maybe I can produce a more realistic water surface with animated changing refraction on a moving layer. I can't think why I didn't try to solve this earlier it opens some fun doors!

EnlightenedOne

Share this post


Link to post
Share on other sites

Correct me if I am wrong but is libvorbis only audio based? I believe the Vorbis application Theora is the video player SDK they have.
Ah yes, sorry. Glad you found the right one anyway ;)
I am hoping to record video for a texture and height and normal map and use these to produce ... interesting effects[/quote]I've never played around with using video textures (except for as regular videos) but what you're suggesting is basically how the extremely detailed facial animations in La Noire are implemented.

Share this post


Link to post
Share on other sites
The Win32 AVIFile interface is free and pretty easy to use, once you get used to copying frames from a DIB to your D3D texture. But the real issue is codec hell - making sure your users have the same codec installed that you used to make the video. Unless you can somehow get (or pay for) rights to distro a decent codec with your app, you'll be stuck with the standard Windows codecs. They're ok, but finding one which works across Win XP, Vista, and 7 is tricky. That's why Bink costs, and it's worth every nickel to avoid the codec mess. Theora is similar to Bink in that it is an API and codec, but the API is a real mind bender compared to Bink.

Share this post


Link to post
Share on other sites

what you're suggesting is basically how the extremely detailed facial animations in La Noire are implemented.

Sounds all the more fun when your confident its plausible, I predicted its how they do the rain on surface effects in many applications and also part of what some were doing to get high quality water. :cool:


The Win32 AVIFile interface is free and pretty easy to use, once you get used to copying frames from a DIB to your D3D texture.

If that is the case I am keen to take a look at it, I believe I have seen an XNA implementation of this copying process in looking for a solution.


But the real issue is codec hell - making sure your users have the same codec installed that you used to make the video. Unless you can somehow get (or pay for) rights to distro a decent codec with your app, you'll be stuck with the standard Windows codecs. They're ok, but finding one which works across Win XP, Vista, and 7 is tricky. That's why Bink costs, and it's worth every nickel to avoid the codec mess. Theora is similar to Bink in that it is an API and codec, but the API is a real mind bender compared to Bink.


Can I ask if there are any royalty free standard video codec's which work accross those three platforms which you are aware of which are variable in compression quality and at a decent level dont suck lemons and a vast amount of memory?

If I had all the money in the world I would use Bink and fmod in my project and 3DS Max for my models instead of Blender these days.

All I can afford with just a curious rookie is VS2010, CrazyBump and Pixexix in terms of things which have a price tag attached. Gotta start simple (or contrivedly convoluted it seems), I am hoping that while the SDK and API will require some elbow grease all the bare necessities involving codecs is not going to get at a very low level loaded onto the stand alone programmer. I will soon tell you if I am wrong!

Thanks for the feedback so far! When I am free to get cracking on with my experiments in Theora I will tell you how it goes maybe even write a manual if I get anywhere good. Certainly looks the part from the time I have spent investigating it.


EnlightenedOne

Share this post


Link to post
Share on other sites
I found the holy grail of Theora abstracting me from the majority of the messy video formatting detail so I can get exactly what I need.
http://sourceforge.net/apps/mediawiki/libtheoraplayer/index.php?title=Main_Page


Brilliant SDK, I found it via an old thread.
http://www.gamedev.net/topic/557959-theora-playback-library-10-rc1/page__p__4610652__hl__theora__fromsearch__1

There are binary demoes on the wiki page you can use to view how much potential it has. I will start hooking this up as soon as I get some free time!

EnlightenedOne

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!