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)

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 18:57.

vBulletin® Version 3.8.8