User:Godiard/TestingVideoPipelines
GStreamer Video Pipelines
Tests comparing xo-1.5 and xo 1.75
These test are checking only video, without audio.
The simplest pipeline using the camera:
gst-launch v4l2src ! xvimagesink
XO-1.5
Tasks: 93 total, 1 running, 92 sleeping, 0 stopped, 0 zombie Cpu(s): 17.2%us, 7.3%sy, 0.0%ni, 75.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 962900k total, 208812k used, 754088k free, 18676k buffers Swap: 0k total, 0k used, 0k free, 104020k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2350 olpc 20 0 41828 7048 5036 S 14.9 0.7 0:10.09 gst-launch-0.10 804 root 20 0 82276 7848 4540 S 4.3 0.8 0:13.67 X
XO 1.75
top - 12:35:55 up 1:33, 1 user, load average: 0.66, 0.64, 0.69 Tasks: 89 total, 1 running, 88 sleeping, 0 stopped, 0 zombie Cpu(s): 22.3%us, 17.0%sy, 0.0%ni, 60.3%id, 0.0%wa, 0.0%hi, 0.3%si, 0.0%st Mem: 472456k total, 231572k used, 240884k free, 21692k buffers Swap: 0k total, 0k used, 0k free, 91172k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2713 olpc 20 0 41360 6804 4820 S 23.6 1.4 0:28.13 gst-launch-0.10 728 root 20 0 72140 7192 4320 S 15.4 1.5 2:42.15 X
Create a ogg file (without scale):
gst-launch v4l2src ! tee name=tv ! queue ! xvimagesink sync=false tv. ! theoraenc ! queue ! oggmux ! filesink location=/tmp/test.ogg
XO-1.5
top - 05:00:57 up 43 min, 1 user, load average: 0.67, 0.59, 0.52 Tasks: 96 total, 1 running, 95 sleeping, 0 stopped, 0 zombie Cpu(s): 92.7%us, 1.0%sy, 0.0%ni, 6.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 962900k total, 217352k used, 745548k free, 18784k buffers Swap: 0k total, 0k used, 0k free, 102224k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2714 olpc 20 0 99020 13m 5460 S 91.6 1.4 0:34.88 gst-launch-0.10 804 root 20 0 82128 7712 4392 S 1.0 0.8 0:21.04 X 700 root 20 0 29412 1252 788 S 0.7 0.1 0:01.59 rsyslogd 2752 olpc 20 0 2700 1072 836 R 0.7 0.1 0:00.17 top
XO 1.75
top - 12:40:17 up 1:37, 1 user, load average: 1.57, 0.93, 0.77 Tasks: 90 total, 1 running, 89 sleeping, 0 stopped, 0 zombie Cpu(s): 99.0%us, 1.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 472456k total, 238200k used, 234256k free, 21764k buffers Swap: 0k total, 0k used, 0k free, 90980k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2763 olpc 20 0 98544 13m 5196 S 93.3 3.0 0:45.44 gst-launch-0.10 2605 root 20 0 0 0 0 S 2.0 0.0 0:05.65 kworker/0:1 2699 root 20 0 0 0 0 S 2.0 0.0 0:01.51 kworker/0:0 25 root 20 0 0 0 0 D 1.6 0.0 0:15.48 kworker/u:1 728 root 20 0 72000 7044 4172 S 0.7 1.5 2:59.40 X
Saving to /dev/null (to see if is I/O)
gst-launch v4l2src ! tee name=tv ! queue ! xvimagesink sync=false tv. ! theoraenc ! queue ! oggmux ! filesink location=/dev/null
XO-1.5
top - 05:15:18 up 58 min, 1 user, load average: 1.03, 0.72, 0.58 Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombie Cpu(s): 95.1%us, 1.0%sy, 0.0%ni, 3.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 962900k total, 220576k used, 742324k free, 18896k buffers Swap: 0k total, 0k used, 0k free, 109168k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 523 olpc 20 0 99148 13m 5464 S 93.0 1.5 0:39.85 gst-launch-0.10 804 root 20 0 82128 7716 4392 S 1.0 0.8 0:22.73 X
XO 1.75
top - 12:51:24 up 1:48, 1 user, load average: 1.32, 0.96, 0.85 Tasks: 90 total, 1 running, 89 sleeping, 0 stopped, 0 zombie Cpu(s): 97.7%us, 2.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 472456k total, 250568k used, 221888k free, 21840k buffers Swap: 0k total, 0k used, 0k free, 103720k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2891 olpc 20 0 98632 13m 5200 S 91.5 3.0 1:33.76 gst-launch-0.10 2605 root 20 0 0 0 0 S 3.6 0.0 0:09.88 kworker/0:1 2864 root 20 0 0 0 0 D 1.6 0.0 0:01.40 kworker/u:2 2903 root 20 0 0 0 0 S 1.3 0.0 0:02.00 kworker/0:3 728 root 20 0 71992 7044 4172 S 1.0 1.5 3:02.35 X
We use a faster (and ugly :/ ) scaled image capture:
The code involved in Record is here: http://git.sugarlabs.org/record/mainline/blobs/master/glive.py
We use 160x120 and 400x300 resolution.
gst-launch v4l2src ! videoscale ! 'video/x-raw-yuv,width=160,height=120' ! tee name=tv ! queue ! xvimagesink sync=false tv. ! theoraenc ! queue ! oggmux ! filesink location=/dev/null
XO 1.5
top - 06:56:14 up 2:39, 1 user, load average: 0.87, 0.59, 0.62 Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombie Cpu(s): 73.4%us, 0.7%sy, 0.0%ni, 25.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 962900k total, 222592k used, 740308k free, 19656k buffers Swap: 0k total, 0k used, 0k free, 109556k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2942 olpc 20 0 93452 9524 5372 S 71.0 1.0 0:26.32 gst-launch-0.10
XO 1.75
Tasks: 89 total, 1 running, 88 sleeping, 0 stopped, 0 zombie Cpu(s): 97.0%us, 3.0%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 472456k total, 228380k used, 244076k free, 22340k buffers Swap: 0k total, 0k used, 0k free, 87156k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3740 olpc 20 0 91460 7256 4220 S 91.2 1.5 0:18.69 gst-launch-0.10 3751 root 20 0 0 0 0 S 2.6 0.0 0:00.40 kworker/0:3 3692 root 20 0 0 0 0 S 1.6 0.0 0:00.11 kworker/u:0
gst-launch v4l2src ! videoscale ! 'video/x-raw-yuv,width=320,height=240' ! tee name=tv ! queue ! xvimagesink sync=false tv. ! theoraenc ! queue ! oggmux ! filesink location=/dev/null
XO 1.5
top - 06:57:45 up 2:40, 1 user, load average: 0.82, 0.62, 0.63 Tasks: 94 total, 1 running, 93 sleeping, 0 stopped, 0 zombie Cpu(s): 87.4%us, 1.7%sy, 0.0%ni, 10.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 962900k total, 222080k used, 740820k free, 19724k buffers Swap: 0k total, 0k used, 0k free, 109660k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3064 olpc 20 0 93572 8992 4544 S 83.7 0.9 0:26.53 gst-launch-0.10
XO 1.75
top - 14:32:06 up 3:29, 1 user, load average: 1.33, 1.10, 0.88 Tasks: 92 total, 1 running, 91 sleeping, 0 stopped, 0 zombie Cpu(s): 98.7%us, 1.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 472456k total, 234544k used, 237912k free, 22484k buffers Swap: 0k total, 0k used, 0k free, 87252k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3839 olpc 20 0 93036 8688 4296 S 89.6 1.8 0:25.95 gst-launch-0.10 3599 root 20 0 0 0 0 D 3.9 0.0 0:07.09 kworker/0:0 3775 root 20 0 0 0 0 S 2.0 0.0 0:00.06 kworker/u:2 728 root 20 0 71720 6724 3852 S 1.3 1.4 3:28.21 X
gst-launch v4l2src ! videoscale ! 'video/x-raw-yuv,width=400,height=300' ! tee name=tv ! queue ! xvimagesink sync=false tv. ! theoraenc ! queue ! oggmux ! filesink location=/dev/null
XO 1.5
top - 06:01:54 up 38 min, 1 user, load average: 0.56, 0.70, 0.37 Tasks: 92 total, 1 running, 91 sleeping, 0 stopped, 0 zombie Cpu(s): 85.9%us, 1.0%sy, 0.0%ni, 13.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 962900k total, 201388k used, 761512k free, 18424k buffers Swap: 0k total, 0k used, 0k free, 94588k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2637 olpc 20 0 95040 10m 4772 S 84.1 1.1 0:11.36 gst-launch-0.10
XO 1.75
top - 13:31:51 up 30 min, 1 user, load average: 1.00, 0.71, 0.56 Tasks: 92 total, 1 running, 91 sleeping, 0 stopped, 0 zombie Cpu(s): 98.7%us, 1.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 472460k total, 221004k used, 251456k free, 17228k buffers Swap: 0k total, 0k used, 0k free, 79296k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1687 olpc 20 0 95616 11m 5256 S 94.5 2.5 0:15.68 gst-launch-0.10
Using vp8
gst-launch v4l2src ! videoscale ! 'video/x-raw-yuv,width=400,height=300' ! tee name=tv ! queue ! xvimagesink sync=false tv. ! vp8enc ! queue ! matroskamux ! filesink location=/dev/null
XO 1.5 (looks slower)
top - 06:10:53 up 47 min, 1 user, load average: 1.05, 0.95, 0.64 Tasks: 89 total, 1 running, 88 sleeping, 0 stopped, 0 zombie Cpu(s): 97.0%us, 0.3%sy, 0.0%ni, 2.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 962900k total, 202488k used, 760412k free, 18664k buffers Swap: 0k total, 0k used, 0k free, 95612k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3384 olpc 20 0 98.5m 14m 4996 S 94.1 1.5 0:25.71 gst-launch-0.10
XO 1.75 (Very slow)
top - 13:43:44 up 42 min, 1 user, load average: 1.36, 0.83, 0.68 Tasks: 89 total, 1 running, 88 sleeping, 0 stopped, 0 zombie Cpu(s): 99.3%us, 0.7%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 472460k total, 223908k used, 248552k free, 17472k buffers Swap: 0k total, 0k used, 0k free, 80076k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1801 olpc 20 0 102m 18m 5484 S 95.5 3.9 0:12.65 gst-launch-0.10
Links
- Jon Nettleton about using WebM in Record http://lists.laptop.org/pipermail/devel/2011-April/031733.html