maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   Taking a screencast on N900 (https://talk.maemo.org/showthread.php?t=32562)

Walsted 2009-10-08 05:55

Taking a screencast on N900
 
Sorry, if this is answered elsewhere - but really looked and looked :)

I have the opportunity to use the N900 from time to time and would like to be able to record screen sessions - and not only screenshots.

Does anyone know how to do that ?

I use Load-Applet for screenshots and it is supposed to do screencast recordings too - but the clips end up without any content.

Anyone ?

aSIMULAtor 2009-10-08 07:13

Re: Taking a screencast on N900
 
ctrl + shift + p :)

pelago 2009-10-08 08:51

Re: Taking a screencast on N900
 
Quote:

Originally Posted by aSIMULAtor (Post 341620)
ctrl + shift + p :)

What does that do?

msoini 2009-10-08 09:06

Re: Taking a screencast on N900
 
Quote:

Originally Posted by aSIMULAtor (Post 341620)
ctrl + shift + p :)

That's for screenshot, yes.

But Screencast is different thing, it's like recording video from the screen.

zerojay 2009-10-08 10:33

Re: Taking a screencast on N900
 
Quote:

Originally Posted by Walsted (Post 341605)
I use Load-Applet for screenshots and it is supposed to do screencast recordings too - but the clips end up without any content.

Anyone ?

I've got the same problem myself.

yerga 2009-10-08 10:44

Re: Taking a screencast on N900
 
Quote:

Originally Posted by Walsted (Post 341605)
I use Load-Applet for screenshots and it is supposed to do screencast recordings too - but the clips end up without any content.

Anyone ?

What version are you using?
I think the version 0.4.5-2 should work (it's in extras-devel), but the previous ones lack the gstreamer module necessary to record screencasts.

zerojay 2009-10-08 11:04

Re: Taking a screencast on N900
 
Quote:

Originally Posted by yerga (Post 341694)
What version are you using?
I think the version 0.4.5-2 should work (it's in extras-devel), but the previous ones lack the gstreamer module necessary to record screencasts.

It must still be missing because I'm running 0.4.5-2 and I'm getting the all black recordings still.

yerga 2009-10-08 14:30

Re: Taking a screencast on N900
 
Quote:

Originally Posted by zerojay (Post 341706)
It must still be missing because I'm running 0.4.5-2 and I'm getting the all black recordings still.

Just tried it and it's all black too. The developer has built its own gstreamer module, and it must be somewhat broken.

With previous versions I had it working, just copying the gstreamer module from the SDK package to the right place.

Workaround: install the version from extras-testing (0.4.4-2), copy libgstximagesrc.so to /usr/lib/gstreamer0.10/ and don't update load-applet until this is fixed.

Walsted 2009-10-08 14:57

Re: Taking a screencast on N900
 
Quote:

Originally Posted by yerga (Post 341807)
Just tried it and it's all black too. The developer has built its own gstreamer module, and it must be somewhat broken.

With previous versions I had it working, just copying the gstreamer module from the SDK package to the right place.

Workaround: install the version from extras-testing (0.4.4-2), copy libgstximagesrc.so to /usr/lib/gstreamer0.10/ and don't update load-applet until this is fixed.

How do I get access to /usr/lib ... The File Manager who is part of N900, does not show those folders.

Thesandlord 2009-10-08 15:25

Re: Taking a screencast on N900
 
emelfm2 or midnight commander

They are great file system managers! I use emelfm2, so I'll show you how using that...

Start xterm
make sure you have a root program, like rootsh or gainroot
become root (by typing "root" or "sudo gainroot" or whatever)
type emelfm2 and press enter
Then browse to /usr/lib (its just like in windows explorer)
ta da!!!

I am not sure if these programs are available for N900, this is for N8x0.

You can always access this from the command line and use mv to move files.

Walsted 2009-10-08 15:52

Re: Taking a screencast on N900
 
Quote:

Originally Posted by Thesandlord (Post 341854)
emelfm2 or midnight commander

They are great file system managers! I use emelfm2, so I'll show you how using that...

Start xterm
make sure you have a root program, like rootsh or gainroot
become root (by typing "root" or "sudo gainroot" or whatever)
type emelfm2 and press enter
Then browse to /usr/lib (its just like in windows explorer)
ta da!!!

I am not sure if these programs are available for N900, this is for N8x0.

You can always access this from the command line and use mv to move files.

Thanks a lot!

Midnight Commander do though not work on N900 - and I cannot find emelfm2 :(

yerga 2009-10-08 16:23

Re: Taking a screencast on N900
 
Quote:

Originally Posted by Walsted (Post 341828)
How do I get access to /usr/lib ... The File Manager who is part of N900, does not show those folders.

I'll write a stepwise guide, the problem is because this application isn't ready for Extras yet, so people watching this thread don't think you need to do something similar when you'll be using your N900. The N900 is super user friendly :-)
  • 1) Install rootsh (you can find it in the application manager).
  • 2) Save this file with the browser to the "Documents" folder.
  • 3) Open the X Terminal application.
  • 4) Write "root" (without the quotes) in the terminal, press the "Enter" key.
  • 5) Write "cp /home/user/MyDocs/.documents/libgstximagesrc.so /usr/lib/gstreamer0.10/" (without the quotes of course, and note the spaces), and press the "Enter" key.
  • 6) Close the X Terminal and forget it ;-).

anidel 2009-11-09 16:29

Re: Taking a screencast on N900
 
This workaround only works with older 0.4.4 version of load-applet?

yerga 2009-11-09 18:55

Re: Taking a screencast on N900
 
Quote:

Originally Posted by anidel (Post 369857)
This workaround only works with older 0.4.4 version of load-applet?

Yes, the new ones use the same gstreamer module but named differently (ximagewsrc), so the newer load-applet versions don't detect ximagesrc.

In the bug report the author said that recompiling the package, it should work, but I haven't tested it.

stobbsc 2010-01-14 17:29

Re: Taking a screencast on N900
 
Quote:

Originally Posted by yerga (Post 341922)
I'll write a stepwise guide, the problem is because this application isn't ready for Extras yet, so people watching this thread don't think you need to do something similar when you'll be using your N900. The N900 is super user friendly :-)
  • 1) Install rootsh (you can find it in the application manager).
  • 2) Save this file with the browser to the "Documents" folder.
  • 3) Open the X Terminal application.
  • 4) Write "root" (without the quotes) in the terminal, press the "Enter" key.
  • 5) Write "cp /home/user/MyDocs/.documents/libgstximagesrc.so /usr/lib/gstreamer0.10/" (without the quotes of course, and note the spaces), and press the "Enter" key.
  • 6) Close the X Terminal and forget it ;-).


I've tried this and it doesn't seem to work. I get this message

cp: cannot create '......': Is a directory Nokia-N900-42-11

Please could you let me know if it's still possible to get this working

jaem 2010-06-23 22:10

Re: Taking a screencast on N900
 
Just as a note for anyone reading this thread, as of PR1.2 and load-applet v0.4.6-5, it appears to work out of the box.

EDIT: Well, I'm getting frame-drop and a few other issues, but at least it's recording video.

Pigro 2010-06-23 22:25

Re: Taking a screencast on N900
 
thanks for the heads-up! just tried it and it did indeed take a screencast - though the captured video was quite out of sync with the speed at which I actually took actions (and with the associated audio too). 5hat is, the video seemed to change quickly through the various screen activity I did, though in the correct sequence. This was with replay of the 4.25Mb .avi in the stock media player.

I have no idea what version of cpu load I'm running (latest AFAIK, how can I find out), maybe that is relevant?

still v. useful to finally have this functionality usable though.

jaem 2010-06-23 22:33

Re: Taking a screencast on N900
 
Quote:

Originally Posted by Pigro (Post 726944)
thanks for the heads-up! just tried it and it did indeed take a screencast - though the captured video was quite out of sync with the speed at which I actually took actions (and with the associated audio too). I have no idea what version of cpu load I'm running (latest AFAIK, how can I find out), maybe that is relevant?

still v. useful to finally have this functionality usable though.

I'm not sure what the status is, exactly. To check the version of an installed package, you can check the "Details" option in the App Manager (tap-and-hold on the package name), or alternatively use the command "dpkg-query -W load-applet" in the terminal (root is not needed).

I'm going to turn the eyecandy way down and see if that improves it. I'll report back here afterward.

Pigro 2010-06-23 22:39

Re: Taking a screencast on N900
 
ok, I'm running the same version you quoted above.I take it you experienced similar effects to me when doing a screencast with a lot of video changes then?

lostinmirkwood 2010-06-23 22:50

Re: Taking a screencast on N900
 
I took this video/screencast off my phone using a different method all together. (the screencast starts at 0:20) I found that the gstreamer or using ffmpeg on the device was taking up too much CPU time to reasonably step through the process.

These instructions were are for using ubuntu/linux your recipe may vary depending on OS.

I installed x11vnc on my n900 and launched it from the terminal
Code:

x11vnc -ncache 10
Then used vncviewer to connect to the phone's display on my computer, similarly in the computer's terminal, with my phone's ip address
Code:

vncviewer 192.168.1.100
once I positioned my vnc window (in this case the top-left corner) I ran ffmpeg to encode the stream with a specific 800x480 resolution and a 5,55 offset so that I didn't grab the window borders, as such:
Code:

ffmpeg -f x11grab -s 800x480 -r 25 -i :0.0+5,55 -sameq Ansel-A-Promo.mpg
Now you just use the phone as usual and all the video will be recorder.
hint: change the wifi setting for your current connection to temporarlly disable power-saving so that you're always running at 100mW (you can find the settings in your connection manager)

And as they say done-and-done!

lostinmirkwood 2010-06-24 00:38

Re: Taking a screencast on N900
 
Quote:

Originally Posted by jaem
Hello,

[Note: I'm PM'ing you because it's time-sensitive on my end, and I didn't know if you'd see a thread update. Feel free to respond to and/or quote this message in-thread.]

Your method works, but the performance is unusable - screen refreshes are taking almost a second at times. My router isn't great (a WRT54GL) but I don't see why it shouldn't be able to handle this with only two computers on the network. I glanced through the X11VNC man page, but it was a lot of information to go through. Are there any other switches that could help performance? Alternately, is there a way to override the link speed detection? I suspect that the detection may be inaccurate, given its variance between sessions.

Thanks,
Jeff

Rambling reply of some good and some useless ideas:

There aren't any switches that I'm aware (besides the -ncache 10) or I would have used them (but there's so many I really only poked around).

First I determined what my issue was, ffmpeg on my laptop or vnc on my network and I found that it was mostly vnc.

By changing the n900's network connection to DISABLE power-saving mode for my home network and by plugging it into the wall. I got a usable response 30% faster by my eye. Are you over-clocking your kernel, that has risks but may help?

Be sure that you're running vnc unencrypted. (if it's on your local network I figured I'd be fine unencrypted, plus x11VNC only allows for one connection by default) If you're using ubuntu Remote Desktop in View only mode seems a lot faster.

Don't forget that you can always use one of the may non-linear video editors to cut out some of the delay. I did that for a lot of my video because the photo editing can take 15secs at times. It's a fairly easy process, just snip out sections of delay.

Also check top on your n900 to make sure nothing else like pulseaudio is running away your processor.

lostinmirkwood 2010-06-24 01:59

Re: Taking a screencast on N900
 
jaem, Any luck with those suggestions?

jaem 2010-06-24 03:24

Re: Taking a screencast on N900
 
Quote:

Originally Posted by lostinmirkwood (Post 727107)
jaem, Any luck with those suggestions?

I don't think so, but my laptop has also started having odd rendering glitches, so I'll have to make sure that there aren't any issues on that end as well. The odd thing is that the N900 performs fine, and isn't pegging the CPU, but you wouldn't know it from the VNC client's output. I'll get back to you on that...

UPDATE: For now I'm just using the Qt Simulator. While not ideal, it gets the job done. Thanks for the help, though - I might keep working on the VNC method later on.

NightShift79 2010-09-13 19:09

Re: Taking a screencast on N900
 
as for me load-applet doesn't work with screencasts...
videos are choppy and async. And it doesn't even record transitions...
Would be great if we could get a proper screencast solution...

Hotshot 2010-09-14 04:17

Re: Taking a screencast on N900
 
This would be amazing if it could work right. Be nice to show people how to install some hard to install apps and using the terminal.

divan 2011-07-10 12:03

Re: Taking a screencast on N900
 
So, there are three ways to do screencast on N900:
1) x11vnc method
Connect to N900 via vnc and grab video with x11grab/ffmpeg or vncrec.
On N900:
Code:

x11vnc
On desktop PC:
Code:

echo "Please, select window with vncviewer opened"
WINGEOM=$(xwininfo | grep geometry | tr ' ' '+')
OFFSET=$(echo $WINGEOM | cut -d'+' -f5,6 | tr '+' ',' | sed 's:^:+:')
ffmpeg -f x11grab -r 15 -s 800x480 -i :0.0$OFFSET -vcodec libx264 -vpre lossless_ultrafast -threads 0 -y n900_screencast_$(date +%H_%M_%S).mkv

Pros: perfect quality, unlimited recording time
Cons: low fps (9-10 max), no sound
Example:
http://www.youtube.com/watch?v=nL-7CBwoHnE


2) ffmpeg with x11grab module recording
Record directly on the phone. It's something like:
Code:

$ ffmpeg -f x11grab -s 800x480 -r 24 -b 100k -bf 2 -g 300 -i :0.0 -ar 22050 -ab 64k -acodec libmp3lame outputvid.mpeg
Note, it's not the best parameters for ffmpeg, and you can tune it up.
But anyway it's slowest method.
Pros: very good quality, sound recording
Cons: low fps(5-8), limited recording time(by disk space), high CPU consumption


3) using tv-out and tv-tuner card
The best methond I've tested so far.
Tested with AverMedia TV pcmcia-tuner. On the desktop PC:
HTML Code:

cvlc v4l2:///dev/video1 :v4l2-standard=0 :v4l2-input=1 :input-slave=alsa://plughw:2,0 --sout='#transcode{vcodec=mp2v,vb=4096,acodec=mp2a,ab=192,scale=1,channels=2,deinterlace,audio-sync}:duplicate{dst=display,dst=std{access=file, mux=ps,dst="out.mpg"}}'
Then crop it with you favourite tool (Handbrake or mencoder for example).
Pros: relatively good quality, perfect fps rate (30fps), unlimited recording time, sound recording, no CPU consumption on N900
Cons: image quality isn't perfect
Example:
http://www.youtube.com/watch?v=meTeTCSuCcc

hxka 2012-10-08 17:05

Re: Taking a screencast on N900
 
It is possible to capture video with ffmpeg, transfer raw video through network, and encode it on PC.
This option is better than vnc both by FPS and picture quality.
Audio can be captured separately.
So, there are two options: ffmpeg+network+ffmpeg, with perfect image quality and low FPS (cpu usage without encoding is neglible) and tv-out with perfect FPS but not perfect image quality (depends on your capture device).
Commands I used:
On PC:
Code:

ffmpeg -f rawvideo -pix_fmt rgb565 -s 800x480 -r 10 -i tcp://192.168.2.14:8000?listen capture.mp4
On N900 (connected via USB network):
Code:

ffmpeg -f x11grab -s 800x480 -r 10 -i :0.0 -f rawvideo tcp://192.168.2.14:8000
Oh, forgot to mention: it also captures mouse cursor, have no idea how to get rid of it, draw_mouse 0 option doesn't working :(


All times are GMT. The time now is 21:36.

vBulletin® Version 3.8.8