I've been keeping a blog for my current Android game and as I get closer to an actual playable version of the game, screenshots just aren’t enough to show new progress anymore. What I need is video. The problem is, my game won’t run on the current emulator (uses OpenGL ES 2.0), and my computer couldn’t run the emulator if it wanted to anyways. So desktop video capture is out of the question. The only real idea I have is holding the phone in front of the only video camera I own: a webcam… yeah. Does anyone know a better (preferably free) way to capture video from an Android device?
-
\$\begingroup\$ Can Android devices do video-out to like your TV or something? \$\endgroup\$– jhockingCommented Sep 6, 2011 at 19:25
-
\$\begingroup\$ @jhocking I may be able to do that with the HDMI port on my device. What would be the best way to capture it from the TV? \$\endgroup\$– Amplify91Commented Sep 6, 2011 at 19:52
-
\$\begingroup\$ I dunno, I don't have a TV :P I was just thinking out loud. \$\endgroup\$– jhockingCommented Sep 6, 2011 at 20:08
-
\$\begingroup\$ Outputting to the TV via HDMI then using a TV tuner definitely sounds like a good idea, however I have neither the special HDMI cable nor the TV tuner. Someone else may find that helpful though. \$\endgroup\$– Amplify91Commented Sep 7, 2011 at 4:27
9 Answers
Perhaps something like Droid@Screen would work? Here's a video of setting it up and capturing video using CamStudio. Droid@Screen is in alpha, so it might work. Good luck! I'll keep an eye out for those videos on your blog .)
Hopefully your computer can handle that much :/
If your android device is rooted, there's an entirely on the phone option with ScreenCast & Recorder. Here's an article and the android market page for paid and free. Free version limits to 30 seconds of recording.
-
\$\begingroup\$ Droid@Screen is definitely very cool and easy to use. If I can get a better framerate, that will definitely work. I'll probably end up rooting my phone so I'll look into your other suggestion later. Thanks for the help and I'll definitely see you around on tumblr! \$\endgroup\$ Commented Sep 7, 2011 at 4:31
-
\$\begingroup\$ I don't think you can get an acceptable framerate with Droid@Screen ... \$\endgroup\$ Commented Sep 17, 2012 at 20:28
I'm not familiar with Android development, but I've used this technique on other platforms.
As you can take screen shots, could you simply lock your time step to say 1/30th sec (instead of using actual elapsed time) and save a screen shot every frame, which you can reassemble afterwards into a video on your PC.
The main downside of that method is that audio capture is more difficult - you will probably need to recreate it or replace it with something else.
It's also helps if you can record and replay any required user inputs since the game will be running in slow motion thanks to the screen shot saving.
I know this question is a little old but Android has changed some in the past 3 years so I think it's worth posting this answer.
Starting in Android 4.4, there's native screen recording. You can use ADB from a computer the phone is connected to or there are at least a dozen or so apps to help you do it (some with root, some without).
Without root, you'll be able to record the screen. I don't think you can get ANY of your phones audio if you don't have root. However, I've found a 3.5mm to 3.5mm cord can connect my phone's headphone jack to my laptop's mic jack and Audacity can record the audio just fine. My favorite app for screen recording is Lollipop Screen Recorder (and I have tested it all the way out to Marshmallow, it works great). Here's a video produced with this exact setup and what it looks/sounds like. I'm a crappy youtuber, but let this stand as hopefully a victory for the setup.
With root, you should be able to find an app that can record the screen and any audio produced by your device without any additional cords or computers. I have less experience with these apps so I can't make a good recommendation although I think Shou.tv should be able to do this. Shou.tv can also stream if that's something you want to do.
I am not a developer of any apps or games mentioned or linked to. Also, for the record, all of this software is free. An 8 foot cable for you headphone/mic jack connection can run $12 but is really useful to have on hand for more than just this task.
Unfortunately, I don't know if there are any good, solid, simple answers, since a lot of it depends on the device you're using and the game itself. A quick google of android video capture
turns up some info on media and video recording, some of the top results are here
- http://developer.android.com/reference/android/media/MediaRecorder.html
- https://stackoverflow.com/questions/1817742/android-video-recording-sample
- https://stackoverflow.com/questions/2550743/android-video-capture-sample-app
- http://thetechjournal.com/electronics/android/how-to-capture-screenshots-and-record-video-on-android-device.xhtml
This issue is that some of these solutions might take too long to implement, or plain old won't work for OpenGL games. And none of these will really show off any elements of the game that rely on touch, or accelerometer, or microphone/camera. So in some cases, the best option is to just stick the phone on a flat, well lit surface, point a camera at it, and play your game. In some cases, a web cam might be good enough to show the game in action, and you can entice people with pretty screenshots as well. If the web cam really is terrible, there's the option of finding a friend with a camera you can borrow for a few hours (or less)
This isn't the easiest way, but it doesn't require rooting your phone. You can slow down your game, run it in the emulator, record a video of the emulator, and then speed up the video. More details on http://www.firedroid.net/2010/07/01/recording-android-games/
we now have a free SDK that allows you to record videos with no overhead (we capture all the OpenGL calls) within any app or game.
And any Android game developer that sends us their video could be featured at Game Developers Conference in San Francisco
Details: http://www.lunarg.com/seemegaming/
-
3\$\begingroup\$ If you explain a bit about how your solution works, it is likely that people won't see it as spam. \$\endgroup\$ Commented Jan 21, 2012 at 2:40
-
\$\begingroup\$ Sure, we provide SDK that you download. The developer creates a "start recording" button with their app that calls our library, which captures all of the OpenGl calls into a trace file. Once recording is stopped the tracefile is uploaded to our webserver where it is converted and posted to your YouTube or Facebook or Vimeo account as video and you get the link back. \$\endgroup\$– TomasVCommented Jan 24, 2012 at 18:18
This has been brought up but if you are serious about recording videos of your game, one of the most time and quality efficient paths is to get a 60$ hdmi recorder and an hdmi output cable. You get both sound and video in your devices native quality and you save a bunch of time.
Another cheaper option is sending a demo of your game to someone who has an hdmi recorder and asking them to kindly record a video of your game.
You should be able to record gameplay hdmi output with a compatible device like this, hdmi recorder. What you won't be able to do (probably as it's illegal) is record TV shows because the ouput is often encrypted.
So if you care about quality and framerate, getting the right hardware or asking someone who has it would be an option you could consider which may yield preferable results to software solutions.
You can use kamcord to record video or game in phone. See detail in https://www.kamcord.com/
-
2\$\begingroup\$ This reads very much like an advertisement. Perhaps you can flesh out the answer with a little more detail? \$\endgroup\$– HouseCommented Mar 21, 2014 at 14:22
-
\$\begingroup\$ It is pretty straight forward. Does not make perfect sense but can't say it won't work. The general idea is streaming to the web like twich.tv and then record it on the pc. \$\endgroup\$– AturSamsCommented Aug 21, 2015 at 16:57
You should port your game on Desktop. OpenGL ES 2.0 can be easily port on OpenGL 2.1. With a desktop version, you can use many tools to debug and profile your OpenGL code. Yes, it is a lot of work but you will develop quicker with a Desktop port. If you refuse to port your OpenGL ES code, there are OpenGL ES emulator on windows too (Theren't android emulators).
Note: With a video capture tool, you can't expect 30FPS. Only hdmi output present on many devices can help you...
Note 2: an OGLES 2.0 android emulator with hardware support is in the google labs, but no availability date.
-
1\$\begingroup\$ I guess you missed the part where the emulator won't run his game. As for porting the game to desktop, I don't agree that porting an Android app to desktop is easy. I mean, first you say it's easy, then you say it's a lot of work. okaaaay... \$\endgroup\$– jhockingCommented Sep 6, 2011 at 21:40
-
\$\begingroup\$ Our own engine is working on OS X, Windows, IOS and Android. The specific code for Android is very small. I understand that you didn't want port on Desktop but you should. There are so many advantages. \$\endgroup\$– EllisCommented Sep 6, 2011 at 22:09