Page 1 of 1
Outputting HD still frame sequences?
Posted: 20.06.2005, 18:57
by disc0stu
I need to find a way to output high definition still frame image sequences in celestia and am not sure exactly where to begin (and have tried searching the forums). Any help is greatly appreciated.
Posted: 20.06.2005, 20:04
by selden
Unfortunately, Celestia really doesn't have that capability exactly. There are a few awkward workarounds, though.
Some of the video resolution options supposedly are compatible with hidef. You should be able to use a video editor to export individual frames from an uncompressed video file.
Another option would be to take higher resolution screenshots (assuming your monitor and video card are good enough to support a high enough resolution) and use an image processing package to reduce the horizontal and vertical resolutions by different amounts to match the resolution that you need. Don't forget that there are several hi-def standards.
Alternatively, you could use an external framerate convertor to convert the video card's RGB output to something more appropriate.
I hope this helps a little.
Posted: 20.06.2005, 20:23
by disc0stu
Thanks for the info, that certainly does help. Also, is there any way to write a script that will capture screen shots at given intervals of time? I cant find anything in the scripting guide about how to capture images using a script.
thanks again
Posted: 20.06.2005, 22:21
by selden
Apparently a CELX command to do frame capture was added to the source code after v1.4.0pre6 was released. Unfortunately, that's all I know about it right now.
Posted: 21.06.2005, 07:50
by Harry
selden wrote:Apparently a CELX command to do frame capture was added to the source code after v1.4.0pre6 was released. Unfortunately, that's all I know about it right now.
Taking screenshots was possible with CELX for quite some time. However a command to take screenshots was added to CEL scripting recently, and as a result some restrictions on taking screenshots from CELX were lifted because they can be circumvented by using a CEL script anyway (you can overwrite any file from a CEL script, but this is still not possibly using only CELX).
Harald
Posted: 22.06.2005, 20:03
by disc0stu
I have not been able to find the CEL command to capture an image in the scripting guide that I have been looking at (which I believe is current). Does anyone have a link to a more current scripting guide that includes that command? Otherwise, could you give a shorte example of how the command is used (arguments etc.)
thanks so much
Posted: 22.06.2005, 21:15
by Harry
disc0stu wrote:I have not been able to find the CEL command to capture an image in the scripting guide that I have been looking at (which I believe is current).
The only scripting guide for CEL-scripting I am aware of is the one by Don Goyette, which doesn't include the command.
Does anyone have a link to a more current scripting guide that includes that command? Otherwise, could you give a shorte example of how the command is used (arguments etc.)
Don is no longer actively working on Celestia related stuff, so his guide is not being updated anymore. I am not aware of any effort to take over his work. However the changes to CEL scripting have been relatively minor.
The command I was referring to is:
Code: Select all
capture { type "..." filename "..." }
type can either be "jpeg" or "png". filename is the path where the screenshot is written to, existing files will be overwritten.
There have been two more new commands:
This command terminates Celestia immediately.
This command changes the renderpath. path can be one of basic, multitexture, vp, vp-nv, glsl.
Harald
Posted: 22.06.2005, 22:30
by disc0stu
Upon trying to use the new commands, I get an error: "Unknown command name 'xxxxx' " .
I have version 1.3.2 and am running it on windows. What do I need to support the new commands?
thanks again and sorry for all of the questions.
Posted: 22.06.2005, 23:02
by Harry
disc0stu wrote:Upon trying to use the new commands, I get an error: "Unknown command name 'xxxxx' " .
I have version 1.3.2 and am running it on windows.
You need a version of Celestia that was created later than 2004-12-22.
Harald
Posted: 06.07.2005, 23:49
by disc0stu
Is there any way to have Celestia capture an image every X seconds? Other than simply pasting in a bunch of capture commands (which would not be on precise time intervals), I cant figure any way to do it. Any help is greatly appreciated.
Posted: 07.07.2005, 06:31
by Harry
disc0stu wrote:Is there any way to have Celestia capture an image every X seconds? Other than simply pasting in a bunch of capture commands (which would not be on precise time intervals), I cant figure any way to do it. Any help is greatly appreciated.
A CELX script can do that - a few keys won't work while it is running, you shouldn't press ESC or you'll terminate it and the taking of the screenshots will be pretty annoying because the computer stops while writing it to disk. To allow this to work, you may have to edit your celestia.cfg and set ScriptScreenshotCount(?) value to -1. And it won't work to create smooth animations:
Code: Select all
while true do
wait(1)
celestia:takescreenshot("png", "")
end
(I currently can't test if this works as it should - please report errors)
Posted: 07.07.2005, 18:31
by disc0stu
I dont think I was clear enough in my question (or perhaps I am not fully understanding the response).
I am trying to run a celx script and at the same time be capturing images every X seconds without repeating the original celx script.
Does the above response still hold or does the clarification change what needs to be done? Let me know if I need to further clarify my question.
thanks in advance for the help
Posted: 07.07.2005, 18:45
by Harry
In this case you would have to modify the original script, which requires considerably more work.
Posted: 07.07.2005, 19:12
by disc0stu
So are you saying that a series of capture and wait commands is the only way to do it?
Posted: 08.07.2005, 14:16
by Harry
disc0stu wrote:So are you saying that a series of capture and wait commands is the only way to do it?
You would have to put them into the original script at the right places. Getting the timing right is difficult. I still don't understand what you are trying to do: if you want to create screenshots suitable to create a movie sequence, than this won't work due to delays. If you only need screenshots from a couple of key scenes, than this works if you put the capture commands at the right places in the script.
Harald