User:Godiard/TestingVideoPipelines

From OLPC
< User:Godiard
Revision as of 11:00, 17 October 2011 by Godiard (talk | contribs) (GStreamer Video Pipelines)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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