Getting video output

You are an experienced programmer and have a problem with the engine, shaders, or advanced effects? Here you'll get answers.
No questions about C++ programming or topics which are answered in the tutorials!
skumar
Posts: 201
Joined: Thu Feb 14, 2008 6:24 pm
Location: kerala state india
Contact:

Getting video output

Post by skumar »

Hi,
I have an app that can record cameraFPS movement into a file.The same can play the file giving an animation...

I would like to Convert that to video in realtime....Does anyone know any video library(with good licence) that can handle the captured screen to compile an avi file.Is it possible to combine the technique of many screen capture program to irrlicht?

Thanks in advance.....
skumar
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

When you searched the forum, read the previous threads on this subject, and tried them out, what problems did you find with those proposed solutions?
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
skumar
Posts: 201
Joined: Thu Feb 14, 2008 6:24 pm
Location: kerala state india
Contact:

Post by skumar »

I have searched but i failed to get a good solution(im not satisfied by the forum search engine)

Most of the suggestions were external screen capture programs ...but what i want is some library that can compile a series of screenshots to avi or mpg ....

Most of the google searches ended up in avi reading only libs....

I would strain more to reverse such things....if a lib is available....
skumar
aheymann
Posts: 153
Joined: Wed Aug 22, 2007 12:25 pm
Location: England

Post by aheymann »

I have used CamStudio - source code is available.
skumar
Posts: 201
Joined: Thu Feb 14, 2008 6:24 pm
Location: kerala state india
Contact:

Post by skumar »

is that easy to use the code from camstudio...for avi...in irrlicht?

Do you have any working examples...?
skumar
aheymann
Posts: 153
Joined: Wed Aug 22, 2007 12:25 pm
Location: England

Post by aheymann »

It is not easy at all, but I managed to incorporate it into my code - it is not part of irrlicht at all, but can be used within a 3D environment. I have created some classes to allow video/audio capture. I need to look at it and see if I can make it available in general.

Anton
skumar
Posts: 201
Joined: Thu Feb 14, 2008 6:24 pm
Location: kerala state india
Contact:

Post by skumar »

Thanx for that....

When i first looked at its code ...it was too confusing....really i am not a pro...just moving ahead...i need a lot of time for understanding others code...

i think video encoding are one of the hardest part of programming.....

any way my search continues...
skumar
JP
Posts: 4526
Joined: Tue Sep 13, 2005 2:56 pm
Location: UK
Contact:

Post by JP »

What are you trying to achieve? Are you trying to render a cutscene? Do you just want to video your game, like fraps does, so you can upload a video?

If it's either of those then it doesn't have to be realtime at all, it's pretty much acceptable for it to take a week to render it, so long as the resulting video is nice.
Image Image Image
skumar
Posts: 201
Joined: Thu Feb 14, 2008 6:24 pm
Location: kerala state india
Contact:

Post by skumar »

thanx gp..

i just mentioned realtime only...it can take ages to render...no prob...

I am experimenting with different libs....report soon about my advancements.....
skumar
JP
Posts: 4526
Joined: Tue Sep 13, 2005 2:56 pm
Location: UK
Contact:

Post by JP »

There's various things to consider if you're trying to render out video such as getting the timings of animations, movements etc right. This has been discussed a fair amount before so searching the forum should help out.

Some video editing packages, like virtual dub i think, accept a load of .TGA images which it will create into a video for you so you could just render out each frame as a .TGA (a very simple image format) and then get virtual dub to make the video for you.

It all depends on what you want to do though really, if it's for your own personal use that might be a good approach, if it's for users of your game to use then it might not be such a good approach.
Image Image Image
skumar
Posts: 201
Joined: Thu Feb 14, 2008 6:24 pm
Location: kerala state india
Contact:

Post by skumar »

thankx jp.....

But i think i need some integrated solution....not an external app...

I have seen some libraries taking image data pointer for making vids....

I like work on something like those....

I think after taking screenshot()...we can lock() that image to get into the image data of the present screenshot()...

Am i right?
skumar
skumar
Posts: 201
Joined: Thu Feb 14, 2008 6:24 pm
Location: kerala state india
Contact:

Post by skumar »

Finally i got it in a very easy way....with

Revel XviD library...
http://revel.sourceforge.net/

Its very easy to integrate
skumar
skumar
Posts: 201
Joined: Thu Feb 14, 2008 6:24 pm
Location: kerala state india
Contact:

Post by skumar »

Thankx all...

I am almost there....i have made my first irrlicht video...from inside the app itself...i just tested by modifying the hello world demo....

Here is the link to a small video(XviD format)....

http://www.mediafire.com/download.php?c8metzo1d42

There are some issues associated with frame rate....i hope it can be tackled soon....
skumar
fmx

Post by fmx »

The Revel XviD library is really quite useful, thanks for sharing your solution with us! :)

best of luck!
skumar
Posts: 201
Joined: Thu Feb 14, 2008 6:24 pm
Location: kerala state india
Contact:

Post by skumar »

Currently i am trying to make a stable intergration of Revel....The situation is as follows....

Revel needs raw image data ,its color format,and bytes per pixel for making one frame...

Irrlicht only need to take the screenshot and pass the image data by lock(). But there are some doubts about the color format....

My question is...

What are the factors that determine the bits per pixel,color format of the IImage from the createScreenshot() function...What all circumstances it changes...

Is it only related to the prameters i used when creating the device?

Please help
skumar
Post Reply