05
Nov
m8jf0po4imu8t5eemjdd

One of the many footnotes that came with the announcement of Android 4.4 KitKat was the inclusion of native screen recording. This was pitched as a tool for developers to easily make video demos of apps, but we at Android Police were obviously pretty pleased as well. Google was a bit vague about how the functionality would be accessible, except to point to the developer tools. Now that the Nexus 5 is in the wild, we can take it for a spin and see what this feature can do.

How It Works

There is no way to activate the screenrecord function from the device, at least at this time. It's possible some root method will be developed later, but this is designed to work with the Android developer tools. The easiest way to start the recording is to connect your device to a computer running the Android developer tools and run an ADB shell command like this:

adb shell screenrecord /sdcard/movie.mp4

That command will start recording as soon as you press enter and output a video file called 'movie' in the root SD card directory. When you want to stop the recording, you just press ctrl-c on the computer keyboard. The last bit can be edited to place the file someplace else, or to change the file name. You'll want to be careful not to use the same file name more than once – the screenrecord function will overwrite without asking.

2013-11-05 09_53_15-

Screenrecord can also be accessed from the DDMS panel in Android Studio, an alternative to Eclipse. However you record the file, it can be copied from the device normally after you've stopped the session.

The Good

The most undeniably great thing here is this is a native function now. There's no more crazy root solution, no flashing ROMs, or anything else. If you're running KitKat and have a computer with ADB working, you can record the screen.

Video quality is also very good once you move the video to a computer (playback on the device is choppy). There is a touch of artifacting when there's a lot of movement, but the frame rate stays up there. Video is captured at the native resolution of the device, so for the Nexus 5 that's 1920x1080. Lowering it helps with the consistency.

The Bad

Unfortunately, there are plenty of things wrong with the screenrecord implementation in KitKat. The most serious issue right now is, as mentioned, this only works over ADB. It's like we've gone back in time to the pre-ICS days when you couldn't even take screenshots on a device without root or ADB. Screen recording should not be a developer-only feature, just like screenshots shouldn't have back then.

The videos themselves are also somewhat limited right now. The maximum length is 180 seconds – if you haven't hit ctrl-c to stop it by then, it will end automatically. Android's screenrecord feature doesn't capture audio along with the video, either. If sound is an integral part of the app you want to capture, tough luck. The best you can do is edit the video file later and add an audio track.

There are very few options in general when recording the screen. You can tack on a few modifiers to the ADB shell command like --bit-rate and --size <WIDTHxHEIGHT>. You can also change the maximum video length by using the --time-limit <TIME> command, but you have to do it ever single time. However, there's nothing you can do about screen rotation – it's not supported at all. If you do rotate the screen, part of the video will be cut off.

If you want anyone to follow what you're doing on the video, you should have "Show touches" enabled in the developer options. There's no way to just have this activated for a screenrecord session – you have to do it manually every time.

So, screenrecord is not everything we hoped it would be, but I suspect you'll be seeing plenty of videos from us recorded this way. This system is good enough for a lot of situations, and it will work on all KitKat devices. This is a developer-focused feature just like screenshots used to be. Maybe someday Google will add more options and build this into an app on the device, but for now we'll have to make do with this imperfect solution.

[Android Developers]

Ryan Whitwam
Ryan is a tech/science writer, skeptic, lover of all things electronic, and Android fan. In his spare time he reads golden-age sci-fi and sleeps, but rarely at the same time. His wife tolerates him as few would.

  • makapav

    Sometimes glaring potholes like these make me wonder: does the Android team even bloody use their own product?

    • Sean Lumly

      Agreed. This goes beyond attention to details, it's like a lack of attention to fundamentals. Sure, Google software gets better with time, and these issues may indeed be ironed out, but the fact that they are missing up front is mind-boggling.

      Sometimes I think that this software is purposely gimped so that there are reasons to offer follow up versions.

      Google: Now in Android 5.0, you can screen record as long as you want! And with full stereo sound!
      Public: *cheers*

      • makapav

        Wait until you find out about the fiasco with the GPS notification. There is no GPS symbol anymore. And there's worse. It's a static POS.

        The new symbol is a generic 'location' symbol. There is no way to know if it is using cellular triangulation, network location or GPS. If it's GPS, there's no way of identifying if the phone now has a lock on the satellites. Currently in JB the dot blinks while it's seeking satellite lock on.

        • Matt

          I had no idea that the symbol actually meant anything other than it was trying to find your location. That's probably why they made it static. Not many people actually care HOW the phone is finding your location, and an icon takes less resources than an animated notification.

          • http://ignaciozippy.com/ Ignacio Zippy

            For the ones who care, there is an app on Play Store, “GPS Status”… it shows a lot of GPS info (and doubles as a compass) and a notification when the device is actually using GPS. (Let’s hope it keeps working like that on 4.4.)

          • makapav

            Ever tried to get a lock onto navigation? Imagine how frustrating it would be if you can't figure out whether the phone locked on to satellites or not.

          • Leonardo Farage Freitas

            I would disable the GPS, then I know the app won't be abusing my GPS (lol)..

            And for Navigation, if the accuracy is good I would guess the satellites are locked.. I usually don't care if it's locked on 1, 5 or 9 satellites, if I have ~10m of accuracy I am happy..

        • Mark

          Why should an end user care about HOW the phone got it's location? That's geek nonsense

          • makapav

            Just like an end-user wants to know if he has 1 bar or 4 bars of network reception in times of disconnect. Also, GPS drains battery 1% per minute unlike other forms of location. If an app such as (SoundHound) is abusing the GPS as opposed to the network location I should be able to immediately differentiate and disable it should I choose.

    • jm9843

      It's a developer tool. Specifically for developers creating short videos of their app for the Play store. It's not meant for other use cases.

      • makapav

        Nexus phones were sold as developer phones. That doesn't mean people don't want it. NEWFLASH: Developers are not people, people!

        • jm9843

          Get some perspective dude. You're criticizing a developer tool as if it's a general consumer facing feature. It's not.

          • http://www.androidpolice.com/ Artem Russakovskii

            The argument is that it shouldn't have been strictly a developer tool, especially if you announce it without clarifying that it's strictly a developer tool. It's such a useful feature, they should have built it for both developers and consumers alike. Of course, some people are bound to be disappointed.

          • http://www.modminecraft.com/ Nick Coad

            Seems clear to me that this is going to be developed into a more integrated feature, in much the same way screenshots started out like this and were then integrated with the OS for the general user. I'm guessing they want to feel out some of the security risks and potential vulnerabilities before they unleash it on the world in full.

          • danishdhanshe

            Maybe they wanna prove that anyone can be a developer?

  • Sean Lumly

    Is it choppy on the device because it is recorded at a lower framerate to what you're used to seeing on the screen, or is the Nexus 5 having trouble displaying the 1080p video?

    And no sound? Limited to 3mins of recording? Really? Sheesh...

    • Alex

      If this is made for demo videos for Play store, I can understand the 3 minute limitation -- 3 minutes should generally be enough. It would still be nice to have the option for longer though, and audio recording is critical for some applications, particularly games, even if another audio track is layered on top in post-processing. I'm not sure what performance impact the video compression would have on games, though.

      No idea about the playback issue, that's really puzzling.

      • http://www.androidpolice.com/ Artem Russakovskii

        I don't understand the limitation. If you record until you press ctrl-c anyway, why have a limit at all?

        • Jaredsutter

          I thought I saw something about the limit being changeable in adb. Is that not the case?

        • Elliot Kotis

          Hopefully android 4.5 or 5.0 will have it as a consumer product, I just tried it out, the video quality is amazing, and without lag, I just want sound, without adb and without limitation, sorta dissapointing.

  • http://callumtaylor.net/ Callum Taylor

    Seems like it's still just as good to use Genymotion and a screen recorder then crop the video in an editor

  • http://www.Nave360.com Sebastian Gorgon

    I'm more interested to see how it captures games.

    • Tarun Pemmaraju

      Pretty well, but without sound and too short.

  • Leandros99

    It's possible to be used on the device itself. I build a app for that (root is required, though).

    https://github.com/Leandros/ScreenRecorder-for-Android

    It uses the original implementation which you invoke via adb, but since the complete computation is done on the device itself, it lags horrible.

    • http://www.stevenmattera.com Steven Mattera

      Damn I was going to make something exactly like that, was waiting for Kit Kat for my Galaxy S4 GPE. =P Good Job!

    • Claus

      When I read it involves adb shell I knew one could do this. Can you try to record at 720p or 540p I.e. because that might fix the stuttering due to the lack of processing power on the device. You know, computers often can't process 1080p in real time and were talking about a phone right here..

  • http://www.gizmoninja.com/ Tabe

    Only works over ADB? That's not true. This app works: https://play.google.com/store/apps/details?id=com.cr5315.screenrecord

    • BrianLipp

      "It's possible some root method will be developed later, but this is designed to work with the Android developer tools."

      • http://www.gizmoninja.com/ Tabe

        I don't know what your point is, @BrianLipp:disqus, there already is something developed... That's my point.

        • http://www.androidpolice.com/ Artem Russakovskii

          So you can't stop the video meaning it runs for 3 minutes? If so, this solution is useless at the moment.

          • http://www.gizmoninja.com/ Tabe

            Useless, unless you want to do a 3min screen recording. ;)

          • http://www.modminecraft.com/ Nick Coad

            That's stupid.

        • BrianLipp

          its a quote from the 2nd paragraph of the article, so my point was that he says that root methods are an option

          • http://www.gizmoninja.com/ Tabe

            Ok, great. Again, my point was that, at the time that this article was written, there was already an app available. He says "It's possible some root method will be developed later...", I pointed out that it's already available.

  • Daniel Baldwin

    Does anyone else ever get frustrated with how little detail is put into Android at times? I mean I love Android as much as the next guy but it frustrates me when Google makes something that's half fast. This is definitely a step in the right direction but come on, seriously?

    It makes me angry how many inconsistencies there are in Android and the fact they'll probably never be fixed. Some of them probably wouldn't even take long to fix...

    • MikeCiggy

      They did not advertise this as a brand new user feature. Currently, it's intended for developers to make short play store clips and that is all. Will this become a full-on feature eventually? If we ask them for it enough time's Google will improve on it.

    • Walkop

      This is not INTENDED to be used by everyone. Could you imagine some random app screen-recording your un-updated banking application?

      It's developer-only, and that is intentional at this moment.

      • http://www.modminecraft.com/ Nick Coad

        As others have said, there are ways to avoid unauthorised recording of the screen.

  • marycontrary

    Koush's way wins.

  • hypodude

    OR... OR... Wait for the new cyanogenmod to launch and do it with a simple tap.

  • Fitzelgard Allan Gerard

    Google should hire the people who specialize in certain aspects. This way 5.0 comes out fully baked rather than undercooked. While this is a step in the right direction, the state at which certain things are half baked, they should have people who know these aspects better than most.

    • lowert

      They do have such people.

  • Wes Jordan

    This can be done on-device in a terminal emulator. Simply run 'screenrecord /sdcard/name of video.mp4' as root.

  • Julian

    Reading the comments, this all feels like a false dilemma: just because it's not perfect does not mean they shouldn't release, especially when it's clearly focused on developers.

    It's like complaining that you can't reboot into bootloader because it's adb-only (or root/custom...).

    Just pretend this feature does not exist yet.

  • http://tech.gtaero.net/ Navarr Barnier

    I'm willing to say that it's still an early feature; but due to its usefulness for development it was released early in the stage it's in now. Once they get more kinks worked out, they may or may not release it to the masses from the phone. But it's very obvious that their primary goal was to get more "videos of the app in use" in the Google Play store.

  • kirk

    I disagree entirely about it being a bad thing that this must be done via ADB.
    If this could be done some other way (natively on device) that would be a huge and very easily exploitable security hole. A nefarious app could record the user and... Presto. A nasty app developer gets uploaded mp4 videos of how to enter bank accounts, right through the front door(including login password and additional security questions).
    Not to mention credit card numbers and addresses, etc.

    ADB is much smarter. Only the User has control when screen gets recorded.

    • BrianLipp

      not if it requires hardware input to start screen recording. Your argument could be used for the screenshot feature, but theres no way to do it through software (through stock android), you have to push physical buttons. If Google made it so you had to hold down power and both volume buttons to start recording then theres really no way to exploit that.

  • Demetrius Beasley

    You all seem to forget this is a tenth upgrade. It doesn't have to be perfect yet. Work out bugs on a minor feature. Implement it perfect in the full point release. The prime case for this is screen shots in the full point jump to ics.

    Source : Article above.

  • Freak4Dell

    I don't see why this needs to be a full-blown consumer tool. I've never heard Grandma complaining about not being able to record a video of her screen. This is primarily for developers, so the ADB thing is a non-issue.

    • http://www.androidpolice.com/ Artem Russakovskii

      Why can't it be? What if I want to send my grandma a quick video of how to turn on her pin lock as a video? I don't need to be a developer to be able to do that.

      • Freak4Dell

        I never said it can't be. I said it doesn't need to be. You and a billion other people can come up with tiny niche scenarios in which this would be useful for consumers (hell, I can think of a few myself), but that doesn't prove that it needs to be a consumer tool. Google knows the general public better than any of us with technogeek blinders on do.

      • Sean Lumly

        Another interesting use-case is user-advertising. This is precisely what Sony is doing with the PS4 share button -- it makes tons of videos showing 'cool' gameplay inevitable, but it's like an advertising trojan. With the ability for normal people to screen record and post these videos to Youtube/G+/email, would be a wonderful tool for advertising Android.

        The viewer analytics alone could help highlight the things that users really care about, strengthening the software, the eco-system and the community.

        I can understand that security is a major concern, however, this is easily mitigated by either making it an unoverridable OS feature (like the bottom nav bar), or having very visible, VERY stern warnings for apps requesting permissions to perform this action.

    • http://www.androidpolice.com/ Artem Russakovskii

      In fact, I remember people, even core Android developers, asking why we need the screenshot capability, and then adding it later. I can't imagine not being able to take a screenshot natively anymore. Can you? The same should be with taking a quick video.

      • Freak4Dell

        I can't think of a single time when I've needed to take a screenshot that didn't involve putting the screenshot up on XDA or some other technical forum. So...yeah...I can imagine not being able to do it natively. It's just not a necessity for most.

        • Tony

          I disagree, I think there's plenty of consumers out there that appreciate the ability to take a screenshot. I frequently see screenshots show up in my social feeds. And yes it also helps devs as consumers can easily take screenshots of issues they're having.

  • ithehappy

    I will just install an app, like SCR (it lags like hell on my S4 though), and having a screen recording functionality is always helpful.

  • http://www.modminecraft.com/ Nick Coad

    Guys, guys... relax. It's still not as bad as Apple Maps.

  • Justin Osborne

    I wonder if this is the beginning of support for Chromecast in the future. Share your screen/video/whatever straight to the CC...

  • Andrew

    Its super easy to use from android stuidio... which is who this feature is for anyway.

  • Aracem

    Woh, that windows console burn my soul. It's a pain in the ass.
    Love linux's console.[/offtopic]

    For developers, who we have installed the adb yet, is a very nice and necessary tool. With this and Auto Awesome Videos we can make cool Video presentations for our apps