12

In Android/Java, Is there any code example to capture the screenshot of a computer with good frames per second programatically and create video?

I'd like a tutorial or full source code to do this. I'd like the program to work with and without the device having been "rooted".

There is app in the play store called Screencast Video Recorder that does this. But you need to ROOT the device for it to work, so I know it can be done.

What's the best way to capture android screenshot and create a video programmatically on a non-rooted device?

Cœur
  • 37,241
  • 25
  • 195
  • 267
androidqq6
  • 1,526
  • 2
  • 22
  • 47

5 Answers5

3

There is an app called Telecine that is open source that allows you to record screens - the code can be found at https://github.com/JakeWharton/Telecine. All credit is to Jake Wharton.

If you need an example, you can find one at Commonsware's github page - Mark Murphy has provided a sample app for both screen capture and screen recording using the MediaProjection APIs.

ucsunil
  • 7,378
  • 1
  • 27
  • 32
2

you can capture the screen via using DDMS as adb runs and has permission to the framebuffer:

follow this link for more details :

http://thetechjournal.com/electronics/android/how-to-capture-screenshots-and-record-video-on-android-device.xhtml

ALSO

check this links may be get some ideas about what you need :

http://answers.oreilly.com/topic/951-how-to-capture-video-of-the-screen-on-android/

http://www.mightypocket.com/2010/09/installing-android-screenshots-screen-capture-screen-cast-for-windows/

and check this project :

http://sourceforge.net/projects/ashot/

hope this help .

Android Stack
  • 4,314
  • 6
  • 31
  • 49
  • @androidqq6 does it help you actually i can't find complete java source code for video screen capture but i think the above links may substitute that for time being. – Android Stack Nov 22 '12 at 08:46
  • till now and with alot of search i cant get better than you gave but really i want how to do it in java class ,thanks – androidqq6 Nov 22 '12 at 18:18
2

Check the following link https://code.google.com/p/java-remote-control/

in this project the owner has created a java remote control i.e. he has captured the images from the remote computer and transfer to server and convert it to movies with different format all you need to understand what he has done and implement the same for all your needs. you can access the full source code with SVN client from the following URL

http://java-remote-control.googlecode.com/svn/trunk/

Also you can look for the Remote class in java which provides createScreenCapture method

Neeraj Sharma
  • 463
  • 1
  • 9
  • 27
2

As of Android 4.4, there is a screen recording feature accessible via adb.

http://developer.android.com/tools/help/adb.html#screenrecord

The screenrecord command is a shell utility for recording the display of devices running Android 4.4 (API level 19) and higher. The utility records screen activity to an MPEG-4 file, which you can then download and use as part of a video presentation. This utility is useful for developers who want to create promotional or training videos without using a separate recording device.

zmarties
  • 4,809
  • 22
  • 39
0

Try this application from the market

https://play.google.com/store/apps/details?id=com.ms.screencastfree

** Does not work on Galaxy Nexus or Tegra 2/3 yet **

EDIT 28/11/2014

Lollipop has been released and provides a new Screen recording API

http://developer.android.com/about/versions/android-5.0.html#UI

Screen capturing and sharing

Android 5.0 lets you add screen capturing and screen sharing capabilities to your app with the new android.media.projection APIs. This functionality is useful, for example, if you want to enable screen sharing in a video conferencing app.

The new createVirtualDisplay() method allows your app to capture the contents of the main screen (the default display) into a Surface object, which your app can then send across the network. The API only allows capturing non-secure screen content, and not system audio. To begin screen capturing, your app must first request the user’s permission by launching a screen capture dialog using an Intent obtained through the createScreenCaptureIntent() method.

For an example of how to use the new APIs, see the MediaProjectionDemo class in the sample project.

Robert Estivill
  • 12,369
  • 8
  • 43
  • 64
  • 1
    I know that very well , already have the paid one from that nice app , i want how to do it programmatically via java code , thanks – androidqq6 Nov 16 '12 at 20:54