Page 1 of 1

1.3.1.9 Movie Capture Bugs

Posted: 03.08.2003, 08:40
by don
Greetings Developers,

Just played with the Capture Movie function for a few hours ...

My Celestia Settings (v 1.3.1.9):
    * Selected Object: Earth, 238,000 - 248,000 km, Sync Orbit mode
    * Planet labels: On
    * Planet and Moon Orbits: On
    * Time Rate: 1000x
    * FOV: Default 25
    * Speed: 0
    * Ambient Light: Low
    * Antialiasing: On
    * Galaxies, Clouds, Planets, Stars, Night Side lights: On
    * Filter stars distance: default (1000000)
    * Magnitude Limit 6.5 (AutoMag off)
    * Star Style: Fuzzy Points
    * Latitude: 5.72880
    * Longitude: -95.96747
    * Display Frame Rate (FPS): On

Capture Options / Compressor:
    * Full Frames (Uncompressed)
My system:
    * Dell Dimension 8250, 3.06 GHz Intel P4
    * 1 GB of fast RAM
    * 120 GB hard drives approved for video capture/editing
    * ATI Radeon 9700 Pro w/ 128 MB RAM
    * XP Pro SP1+
    * Running apps: File Explorer and Wordpad
    * Network, Firewall, Anti-Virus, etc. all disabled or exited.

My Frame Rate
When not recording, version 1.3.1.6 showed 50-60 FPS, but 1.3.1.9 is showing only 42-46 FPS. That's quite a performance hit! Also, when time is Paused, FPS still shows 43, which means the renderer is still running when it doesn't have to be, right?


Errors
All frame sizes were tested multiple times.

1) All AVI files had red "dashes" (pieces of the red frame capture area) on the top line of the movie.

2) At all frame sizes, the on-screen display speeds up (goes faster) by 40% to 80% (depends on frame size) when F11 is pressed. It then slows down to normal when F11 or F12 is pressed to pause or stop the recording. If it didn't do this, maybe the stuttering would be gone?

3) When I tried capturing another AVI file, using an existing filename, with the file still open in Windows Media Player 9, it generated an error: "C00D11CD", but no further description was available on the MS web site. Later, when trying the same thing again, Celestia generated an error box, with a red button & white "X", saying "Could not capture movie".

4) In the 160x120 frame size, in the Celestia display, above the capture area frame on the right, where the text "fps Recording" and the Time are displayed, these three text elements are all overlapped on top of one another.

5) When the Cancel button is clicked in the Compressor dialog, an error box appears, with a red button & white "X", saying "Could not capture movie".

6) At all frame sizes, when F11 is pressed, the initial frame rate drops only slightly. Then, a few seconds later, it drops some more to a lot more (depending on frame size), and then stays down there. Maybe a larger buffer could be used, or something else ???


Frame Rates, Display, and AVI Playback

Code: Select all

160x120 x 24 FPS (Too small to be of much use, IMHO):
* Frame Rate ... 40-43 (then down to 22-28, then back up to 40-43 in 2 minutes)
* Display ...... Some stutter
* Playback ..... Smooth

320x240 x 24 FPS (Typical size of Apple QuickTime movies):
* Frame Rate ... 33-36
* Display ...... Some stutter
* Playback ..... Smooth

640x480 x24 FPS (Initial Digital Video size for PC playback):
* Frame Rate ... 18-20
* Display ...... Some stutter
* Playback ..... Some stutter

720x480 x 24 FPS (NTSC-USA/Japan and Digital Video standard size, but not frame rate):
* Frame Rate ... 16-18
* Display ...... No stutter to some stutter
* Playback ..... Some stutter

720x480 x 29.97 FPS (NTSC-USA/Japan and Digital Video standard size and frame rate):
* Frame Rate ... 16-18
* Display ...... Stutter
* Playback ..... Stutter

720x576 x 24 FPS (PAL-Europe standard size and frame rate):
* Frame Rate ... 15-16
* Display ...... No stutter to lots of stutter
* Playback ..... Some stutter


Suggestions
I don't understand why a 3.06 GHz Hyper-Threading (dual processor emulation) CPU, with 1 GB of fast RAM, and a 128 MB ATI graphics card, would not be powerful enough to render the Celestia display and record an AVI file at 24-30 FPS, both at the same time, without stuttering. I can't imagine what kind of AVI files other folks with slower CPUs get.

1) Would it be possible to eliminate any Celestia functionality while recording a video, that is not necessary for the video (like the Info display?), in order to increase video quality?

2) Or, reduce the size of the display area to the frame size the user selected?

3) Or, if a script is running while capturing a movie, disable the display completely?

4) Or ?

Chris, have you seen My initial Beta Test Report? It contains some Movie Capture related items also.

Thank you for looking into these problems.

Re: 1.3.1.9 Movie Capture Bugs

Posted: 03.08.2003, 09:49
by chris
My Frame Rate
When not recording, version 1.3.1.6 showed 50-60 FPS, but 1.3.1.9 is showing only 42-46 FPS. That's quite a performance hit! Also, when time is Paused, FPS still shows 43, which means the renderer is still running when it doesn't have to be, right?
There should be no performance hit at all between 1.3.1pre6 and 1.3.1pre9 . . . In fact, pre9 should be substantially faster in some cases, especially when near a planet. If there is a performance bug in 1.3.1pre9, I need to know exactly what was in view when the frame rate dropped in order to trace the cause. Could you post a cel: URL?

Errors
All frame sizes were tested multiple times.

1) All AVI files had red "dashes" (pieces of the red frame capture area) on the top line of the movie.
Interesting--I thought I'd adjusted the frame so that it was out of the capture area. Perhaps antialiasing is smearing it? Anyhow, I can fix this easily by adjusting the frame so that it's a few pixels larger.

2) At all frame sizes, the on-screen display speeds up (goes faster) by 40% to 80% (depends on frame size) when F11 is pressed. It then slows down to normal when F11 or F12 is pressed to pause or stop the recording. If it didn't do this, maybe the stuttering would be gone?
Not a bug at all . . . In Celestia, time normally advances at a rate equal to the actual time. If the time between rendering the current frame and the last frame was 30ms, Celestia's simulation clock is advanced 30ms (multiplied by the time acceleration factor, if there is one.) When recording a movie, the time delta is locked to the movie frame rate, so that if you are recording at 25 fps, the clock is advanced 40ms (1000/25) regardless of the time elapsed between frames.

3) When I tried capturing another AVI file, using an existing filename, with the file still open in Windows Media Player 9, it generated an error: "C00D11CD", but no further description was available on the MS web site. Later, when trying the same thing again, Celestia generated an error box, with a red button & white "X", saying "Could not capture movie".

4) In the 160x120 frame size, in the Celestia display, above the capture area frame on the right, where the text "fps Recording" and the Time are displayed, these three text elements are all overlapped on top of one another.
It's hard for me to care about this one :) I could make the text layout smarter. Or, just eliminate 160x120 recording, since as you mentioned, it's not that useful.

5) When the Cancel button is clicked in the Compressor dialog, an error box appears, with a red button & white "X", saying "Could not capture movie".
I'll have a look at the error reporting . . . Celestia is probably not distinguishing between a real error and the user clicking the cancel button.

6) At all frame sizes, when F11 is pressed, the initial frame rate drops only slightly. Then, a few seconds later, it drops some more to a lot more (depending on frame size), and then stays down there. Maybe a larger buffer could be used, or something else ???

The buffer size is not something that's really adjustable, as far as I know. Why not try capturing with something other than uncompressed frames? I've had very good luck with the DivX 5.0 codec . . . no stutter on playback, though Celestia's interactive frame rate will drop when encoding.

--Chris

Posted: 03.08.2003, 12:21
by JackHiggins
There's a pre9?!

Posted: 03.08.2003, 18:31
by chris
http://www.celestiaproject.net/~claurel/celest ... 1.pre9.exe

I'll be making a more lengthy post and plea for testers very soon :)

--Chris

Posted: 03.08.2003, 18:39
by JackHiggins
Ah ok so- I always used to go to http://www.celestiaproject.net/celestia/files/

Any -exe only- download for pre9? Or is it an update that requires other files too...?

Re: 1.3.1.9 Movie Capture Bugs

Posted: 03.08.2003, 19:52
by don
Hi Chris,

Thank you for your reply.

chris wrote:There should be no performance hit at all between 1.3.1pre6 and 1.3.1pre9 . . . In fact, pre9 should be substantially faster in some cases, especially when near a planet. If there is a performance bug in 1.3.1pre9, I need to know exactly what was in view when the frame rate dropped in order to trace the cause. Could you post a cel: URL?
OOOPS, very sorry Chris. I was using FPS numbers from my previous movie capture testing, which were obviously obtained with different settings. I just re-tested pre6 vs. pre9, with the same exact settings (uninstalling one version and then installing the other). Not recording a movie, pre6 ranged from 43 to 45 FPS, and pre9 ranged from 41 to 45 FPS.

Here's the Cel://URL I used, and I let it run for about 2 days (simulation time) at 1000x, and ran it several times for each version (p6 and p9):
cel://SyncOrbit/Sol:Earth/2003-08-03T17 ... 743&lm=130
Interesting--I thought I'd adjusted the frame so that it was out of the capture area. Perhaps antialiasing is smearing it?
No, I turned Antialiasing off today and the red "dashes", 2 or 3, still appear at the top.

Don: ... the on-screen display speeds up (goes faster) by 40% to 80% (depends on frame size) when F11 is pressed.
Chris:Not a bug at all . . .
Hmmm, when compared, the recorded AVI file appears to be running faster than the real-time display. Is this the way it's supposed to be? If so, then if I wanted 1000x in real-time to be recorded, I would have to write a script to set the Time Rate to something between 400x and 900x to get the recording at a true 1000x, no?

[the 160x120 frame size text display] It's hard for me to care about this one :) I could make the text layout smarter. Or, just eliminate 160x120 recording, since as you mentioned, it's not that useful.
Private Don Just reporting my findings, sir <smile>. I don't know if this size is appropriate for PDA's or other small, hand-held devices?

Currently, the top text shows: "###x### at ##.### FPS " <recording status> <record time>
and the bottom line shows: "F11 Start/Pause F12 Stop"

Since the <recording status> and <record time> seem to be "exact placement" text (for update writing), an easy fix might be to move these values up one line to be above the frame size and rate text.

I'll have a look at the error reporting . . . Celestia is probably not distinguishing between a real error and the user clicking the cancel button.
Thanks Chris.

Why not try capturing with something other than uncompressed frames?

I will be using Celestia AVI files in a short video project I'm working on and I always work with uncompressed DV files in my editing program to get the best possible output quality -- which is usually compressed.

Posted: 03.08.2003, 21:45
by jamarsa
JackHiggins wrote:There's a pre9?!



surprised, too.. Apparently there are hidden channels out there... :wink:

Posted: 03.08.2003, 23:00
by don
jamarsa wrote:surprised, too.. Apparently there are hidden channels out there... :wink:

I don't think it's "hidden", as I saw the page URL in someone's message post a couple weeks ago. Can't remember where though.

Re: 1.3.1.9 Movie Capture Bugs

Posted: 16.09.2003, 12:11
by DaveM
AS Don said in his posting of August 3rd.


Don: the on-screen display speeds up (goes faster) by 40% to 80% (depends on frame size) when F11 is pressed.

Chris:Not a bug at all . . .

Don:Hmmm, when compared, the recorded AVI file appears to be running faster than the real-time display. Is this the way it's supposed to be? If so, then if I wanted 1000x in real-time to be recorded, I would have to write a script to set the Time Rate to something between 400x and 900x to get the recording at a true 1000x, no?

:? Sorry, Chris, but I would say that this is a bug - if the movie produced does not match the timeline on screen, and there is no obvious way of calculating a different time rate which would at least enable you to work around it accurately, it definitely ain't working the way it should be! I came across this problem when trying to make a movie in which a day passes in the sky in exactly one second in the movie. I haven't managed it yet. Is there any sensible work-around?

Regards
Dave