Recording game play

Member
Posts: 61
Joined: 2007.01
Post: #1
Hi,

I'm not sure if this is the correct place to ask the question, but it does say "ask newbie questions" so here goes.

I've seen a few videos online of people recording game play or videos of academic simulations. I was wondering if anyone knows how that's done? Is it something that people code themselves or are the applications that will record video from a window?

Thanks,

Anthony
Quote this message in a reply
Nibbie
Posts: 1
Joined: 2010.11
Post: #2
It's not to difficult to output TGA, BMP or TIFF files every frame but this can slow your app down on an older computer. An easier way to do this is just to use software like snapz pro: http://www.ambrosiasw.com/utilities/snapzprox/ or something like it.
Quote this message in a reply
Moderator
Posts: 335
Joined: 2002.04
Post: #3
It depends on the quality you need. The easiest method with vaguely ok quality is to take the S-Video output of a Mac into a suitable video camera input or video capture box/card into another Mac. It's not particularly hi-def (actually it's pretty lo-def) but usually the frame rate is watchable. Rather handy for debugging btw Wink

There are capture apps (I think Ambrosia's Snapz records video), but they tend to be more useful for office apps and not so good for recording gameplay.

If you need to do serious gameplay capture for promos etc. then there are some pretty high end capture rigs that syncronise to the video output and capture in hi-def. but They're expensive! (assuming Apple don't build them into iMovie at WWDC today of course)
Quote this message in a reply
Member
Posts: 749
Joined: 2003.01
Post: #4
for windows Fraps is pretty awesome

©h€ck øut µy stuƒƒ åt ragdollsoft.com
New game in development Rubber Ninjas - Mac Games Downloads
Quote this message in a reply
EdwardT
Unregistered
 
Post: #5
Quote this message in a reply
Member
Posts: 20
Joined: 2006.06
Post: #6
EdwardT Wrote:iShowU works well:
http://www.shinywhitebox.com/home/home.html
I second this.
Quote this message in a reply
Sage
Posts: 1,199
Joined: 2004.10
Post: #7
I wrote my own gl-capture recording API -- if what you're interested is in recording the output of your own game/3d app, it will probably work well enough for you.

Here's an example recording: http://zakariya.net/shamyl/etc/ParticleApp.mov

If this is what you need ( e.g, recording the output of your own app ) you can find the source here ( as part of a larger framework ): http://zakariya.net/shamyl/etc/SGF.zip

It's C++, threaded, and requires boost; If that doesn't turn you off ( there's a lot of c++ haters out there ), it should be easy-enough to separate from the rest of the framework, should you want to integrate it.
Quote this message in a reply
Moderator
Posts: 3,573
Joined: 2003.06
Post: #8
Hey TomorrowPlusX, that's excellent! It's been a while since I looked through your game framework. I was thinking about writing a movie capture class just a few weeks ago but decided against it because the whole screenshot thing is so slow that I couldn't imagine actually doing a movie! So I have some questions for you:

1) is it actually fast enough to be of any real use (even without compression)?
2) it appears that all of your movie stuff is in the recording group, is this true?
3) you don't mind if I rip off your recording code do you? I'd have to re-write it to exorcize the C++ of course... Sneaky (I don't hate C++, I just can't/won't work with it.)
Quote this message in a reply
Sage
Posts: 1,403
Joined: 2005.07
Post: #9
this is better than Snapz in my opinion http://www.shinywhitebox.com/home/home.html

Sir, e^iπ + 1 = 0, hence God exists; reply!
Quote this message in a reply
Moderator
Posts: 3,573
Joined: 2003.06
Post: #10
unknown Wrote:this is better than Snapz in my opinion http://www.shinywhitebox.com/home/home.html
Is that like the one EdwardT was talking about?
Quote this message in a reply
Sage
Posts: 1,199
Joined: 2004.10
Post: #11
AnotherJake Wrote:Hey TomorrowPlusX, that's excellent! It's been a while since I looked through your game framework. I was thinking about writing a movie capture class just a few weeks ago but decided against it because the whole screenshot thing is so slow that I couldn't imagine actually doing a movie! So I have some questions for you:

1) is it actually fast enough to be of any real use (even without compression)?
2) it appears that all of your movie stuff is in the recording group, is this true?
3) you don't mind if I rip off your recording code do you? I'd have to re-write it to exorcize the C++ of course... Sneaky (I don't hate C++, I just can't/won't work with it.)

It's all yours! Do with it what you will.

Answers:

#1) The performance is good, but not great. IIRC I can capture 800x600 on my MBP at 30fps without stress -- a better programmer than me would be able to make it faster. That being said, compression is done by Qt on a separate thread while grabbing. As a side note, I experimented with direct serialization of the framebuffer to disk, and I was bottlenecked by my MBP's hard drive write speed. The bottleneck now is Qt's compression. I profiled the actual grab of pixels and was able easily to get 60fps in fullscreen (IIRC, again). It's doing something with that data that is trouble.

#2) More or less correct. 99% of it's in there, but there are likely a few helper bits outside. Shouldn't be impossible to extract.

#3) It's your pet peeve. My warning: I'm using boost for smart pointers and threading. I use smart pointers pervasively, so you'll have to take that into consideration. Boost.threads will be easily replaced with pthreads. If I were you, I'd just write a C wrapper to it...

I know people have their reasons to hate C++ Grin, but hell, I say use the right language for the job. I use C, C++, ObjC and python all the time.
Quote this message in a reply
Moderator
Posts: 3,573
Joined: 2003.06
Post: #12
Awesome! Looks like it's worth the trouble then. I'll probably look closely through the code since I'm curious how you did it anyway. Looking at your screenshot code, your coding style/problem solving is very similar to mine, so I might be able to figure out what you're doing with the movie code. I might just write a wrapper for it though, as per your suggestion, I don't know. I can easily use pthreads so that won't be a problem. Heck my stuff's almost always threaded already anyway, so Cocoa is already in threaded mode (thinking out loud). I might just be able to drop it in. We'll see. It's not high on my priority list at the moment, but movie capturing has been something I've been thinking about. Hopefully I can get to it within a week or two.

Thanks! Grin
Quote this message in a reply
Sage
Posts: 1,199
Joined: 2004.10
Post: #13
AnotherJake Wrote:Hopefully I can get to it within a week or two.
Thanks! Grin

Let me know how it goes. If you have any questions, PM me and I'll give you my email so we can discuss.
Quote this message in a reply
Oldtimer
Posts: 834
Joined: 2002.09
Post: #14
We're not worthy! Grin
Quote this message in a reply
Sage
Posts: 1,199
Joined: 2004.10
Post: #15
Eh.. BAD NEWS. Perhaps somebody can help me, and do some testing, but it seems that the upgrade to Quicktime 7.2 has broken my recording code.

I'm not certain. All I can tell is this:

1) All my apps using my recording code crash now, and Xcode can't tell me where ( thanks, xcode ).

2) My last provably successful recording was made may 3rd ( the creation date of the demo recording I linked to ).

3) I checked out of SVN the last version of SGF before may 3rd, and it crashes, too.

I guess there is no step four. All I can tell is that it used to work, and now it doesn't. I've spent the last hour and half picking through my svn changelog and can't find anything I've done since may 3rd which even *touched* my recording code. Once I got recording working reliably, I basically left it alone.

I assume this is a quicktime 7.2 issue.
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Video recording app capable of recording opengl games smooothly? Najdorf 7 4,349 Jan 8, 2009 07:59 AM
Last Post: monteboyd
  Recording Mac screen Carlos Camacho 2 2,772 Sep 3, 2008 07:44 AM
Last Post: JustinFic