Rendering Replays to Video - yes it is a headache and a big deal

  • Thread starter RC45
  • 45 comments
  • 6,172 views
Capturing a screen is not equal to rendering 3D scenes.

A game engine processes then renders the 3D scene to screen - a screen capture utility simply captures the rows of pixels on screen.

Forza currently RENDERS the 3D scene as shown by the replay data out to a video file 1 frame at a time.

Now what exactly is it you dont understand?

Perhaps PD and Turn10 should work on a simpler mechanism to take the video page in memory and write it directly out to a large spool file at the same time they light up the pixels on the screen - thereby re-using the rendered frame for a video frame as well as an onscreen frame simultaneously.

Essentially producing a FRAPS that scrubs the paged display rather than the onscreen display - perhaps that is how EIDOS does it in Just Cause - the downside to that method is you need to devote CPU cycles to the cache scrubber and you limited to real-time videos - you dont get to first review your replays then only save what you want - unless they load the cache scrubber during replay plays as well....

Or better yet, they ONLY load the video cache scrubber during replays rather than during the game and you get to stream the replay to disc realtime if you want to "capture" it. This porbably needs to be designed into the game engine which is what EIDOS seem to have done.

This is sort of how I assumed they would solve the issue, anyway. Just dump the contents of the framebuffer to a file on disc as the replay plays. It would be significantly easier, faster, and less system intensive than rendering each frame out in 3D into an image and then creating a video file from that. In essence, it would be real-time, but also less flexible. I think users would be fine with the less flexible part. Someone would complain. But that will always be the case.
 
The time consuming and memory/cpu hungry part of outputting to video isn't saving an image to disk, it's encoding that image into a "stream" which is done by taking a bunch of images and merging them together via an encoding algorithm. It's not as simple as saving a whole bunch of screenshots.

Clever selection of the encoding algorithm and base resolution can mitigate the processing overhead somewhat. Clearly it's been done already in other games, and the PS3's SPUs (and the vector units on the 360) are ideal for the task; the techniques used in parallel / multi-threaded compression on PCs would be needed, with the obvious shortcomings in terms of the marginal loss in compression "quality".
The main issue is that off-the-shelf encoding is not straightforwardly possible, so a bespoke implementation for GT5's rendering engine is required - Kaz said memory requirements prevented the YouTube export from appearing, which may mean they did indeed try a parallel / partitioned method perhaps similar to the method in Just Cause 2...

This is sort of how I assumed they would solve the issue, anyway. Just dump the contents of the framebuffer to a file on disc as the replay plays. It would be significantly easier, faster, and less system intensive than rendering each frame out in 3D into an image and then creating a video file from that. In essence, it would be real-time, but also less flexible. I think users would be fine with the less flexible part. Someone would complain. But that will always be the case.

Uncompressed video is huge. Really, really huge. Uncompressed 720p / 30 Hz is about 100 Megabytes per second. HDTV is only 3 Megabytes per second. Sure, it won't take so long to save it to disk (realtime at 720p / 30 Hz, assuming you can wrangle the memory bandwidth to pull the data from the frame-buffer), but that disk will be full very quickly indeed!
 
Show me a HDD recorder with HDMI/HDCP in.

Show me one that's free, like I posted earlier I shouldn't have to be buying extra hardware to do something I've been doing for quite some time at no charge in a similar game.
 
People were complaining about GT5's installation time, wait till you start rendering videos to harddrive, and reading off it at HD resolutions...
 
People were complaining about GT5's installation time, wait till you start rendering videos to harddrive, and reading off it at HD resolutions...

Been there done that with Forza so it's no big deal. My only gripe would have been if it was necessary to upload it to youtube or could we just get it off the PS3 once it's been rendered. But I still don't get the rationale, people might complain if they have to wait a long time to render so let's not give them the option at all?
 
It should be fairly easy for them to add this "FRAPS" type of capability of screen capture to the game. The export of the replay would then, of course, take as long as the replay itself. But it shouldn't take any longer than that, provided PD doesn't decide to increase the resolution/quality in the way they do for photo travel. If they do then I can see how exporting the replay could take many hours even for a 7 minute clip.

But at least a simple screen capturing tool would end the need for filming your replays from screen and we wouldn't see these wobbly you tube videos any more :)

Considering the amount of strain something like FRAPS can put on a computer that's quite near its limits with processing the game, I don't thing adding something like this to GT5 would work out too well...

Using FRAPS while playing the game has a high chance of causing problems with the gameplay. FRAPS can be used to capture vid during replay. This is what I do when I have mucked around with GTR2 vids. I let GTR2 capture the race and then I replay the race in GTR2 and turn on FRAPS. a PITA, but it is possible.
 
Been there done that with Forza so it's no big deal. My only gripe would have been if it was necessary to upload it to youtube or could we just get it off the PS3 once it's been rendered. But I still don't get the rationale, people might complain if they have to wait a long time to render so let's not give them the option at all?

Buy a capture card then, they are affordable, and much quicker and better than any PS3 game rendering solution.


All my GT5 youtube vids are done with a cheap solution, and look fine
 
Forget about rendering it directly, doing that in HD quality would take forever and the PS3 would probably die in the process, so to speak.

Just add director mode like in GT4, where you pick the angle of every frame and control the time (FF, Rewind, Slow-mo, etc).

If you want the replay on your computer just buy an HD capture card. It costs about $300 but it should be worth it.
 
tdk
Forget about rendering it directly, doing that in HD quality would take forever and the PS3 would probably die in the process, so to speak.

Just add director mode like in GT4, where you pick the angle of every frame and control the time (FF, Rewind, Slow-mo, etc).

If you want the replay on your computer just buy an HD capture card. It costs about $300 but it should be worth it.

Sometimes I really wonder if Kaz even rememebrs his earlier games or what was included? It seems many of the great features from GT3, GT4 and TT seem to have been forgotten.
 
Buy a capture card then, they are affordable, and much quicker and better than any PS3 game rendering solution.


All my GT5 youtube vids are done with a cheap solution, and look fine

If a capture card came with the game then fine, no problem. When I bought the game the feature to upload videos had no been dispelled. Of course it would have done me no good since my main racing is done in a completely different room than my computer. Even if they were right next to each other I use an iMac so I wouldn't be able to install a card any way. I don't think any solution should require me to buy outside products to simulate a feature that was supposed to be built into the game.
 
GT4 had a director mode? News to me :embarrassed:

I've never seen it mine!

Anyway my cpature device (USB3) only cost me $200AUD, which is cheap for the quality I get.
Allows me to watch the PS3 on my PC with Virtual Dub as well, when I'm not capturing
 
Back