×
Namespaces

Variants
Actions

Capture movie directly from N9/N950 screen

From Nokia Developer Wiki
Jump to: navigation, search

This article explains how to capture a movie directly from N9/N950 screen without a video camera

Article Metadata
Tested with
Devices(s): Nokia N9, Nokia N950
Compatibility
Platform(s): Harmattan, MeeGo, Linux
Article
Created: NielsMayer (01 Nov 2011)
Last edited: hamishwillee (13 Jun 2012)

Introduction

Putting together a video for the first release of http://code.google.com/p/voicetogoog/ running on Nokia N950, I ended up hacking up some command-line tools to capture directly from the screen of the handset.

I've long been doing screenshots via a gstreamer pipeline

gst-launch-0.10 ximagesrc num-buffers=1 ! ffmpegcolorspace ! pngenc ! filesink location=screenshot.png

And likewise I've found the following gstreamer pipelines useful for creating timelapse captures from the front and back cameras:

#front camera
aegis-exec -a "GRP::video" -a "GRP::pulse-access" gst-launch-0.10 -v subdevsrc ! videorate ! video/x-raw-yuv,width=576,height=432,framerate=\(fraction\)1/15 ! ffmpegcolorspace ! jpegenc ! multipartmux ! filesink location=lapse1.mjpeg
#back camera
aegis-exec -a "GRP::video" -a "GRP::pulse-access" gst-launch-0.10 -v subdevsrc camera-device=1 ! videorate ! video/x-raw-yuv,width=576,height=432,framerate=\(fraction\)1/15 ! ffmpegcolorspace ! jpegenc ! multipartmux ! filesink location=lapse1.mjpeg

Putting it All Together

Combining these two techniques, the following takes a movie of what's on the screen:

aegis-exec -a "GRP::video" -a "GRP::pulse-access" gst-launch-0.10 -v  ximagesrc ! ffmpegcolorspace ! jpegenc ! multipartmux ! filesink location=screenlapse.mjpeg

However the resulting file can't be uploaded to YouTube since they don't recognize .mjpeg movies.

Fortunately, a standard movie file format can be created from the .mjpeg file by running the following command-line (on Linux desktop):

mencoder screenlapse.mjpeg -fps 25 -ofps 3 -o screenlapse.avi -vf scale=1280:720 -ovc lavc -lavcopts  vcodec=mjpeg -oac copy

Summary

http://www.youtube.com/watch?v=oEYMsrA_8gY is an example screen capture directly from Nokia N950 using the above scripts.

For further reference on the commands used above, see

TODO: any suggestions on extra elements to add into the gstreamer pipeline to allow capture of system sounds in synch with the movie? Also, any suggestions on getting a more accurate framerate so that the resulting movie plays back in "real time?"

This page was last modified on 13 June 2012, at 13:51.
155 page views in the last 30 days.
×