YaK:: Discussion #916 Message : 2010-01-06 06.40.34 strick [Changes]   [Calendar]   [Search]   [Index]   [PhotoTags]   
  [Back to discussion: The Yak tries Linux Webcam Video]  
[mega_changes]
[photos]

Discussion #916 Message: 2010-01-06 06.40.34 strick

Measuring SMOKE bytes per 30 seconds:

gst-launch-0.10 -v -v -m v4l2src ! "video/x-raw-yuv,width=640,height=480,framerate=(fraction)5/1" ! ffmpegcolorspace ! smokeenc keyframe=64 ! identity dump=0 ! smokedec ! xvimagesink sync=false | tr '(),' ' ' | awk '$6="identity0:sink" && $9=="bytes" {b+=$8; print b}'

gst-launch-0.10 -v -v -m v4l2src ! "video/x-raw-yuv,width=320,height=240,framerate=(fraction)5/1" ! ffmpegcolorspace ! smokeenc keyframe=64 ! identity dump=0 ! smokedec ! xvimagesink sync=false | tr '(),' ' ' | awk '$6="identity0:sink" && $9=="bytes" {b+=$8; print b}'

Works well:

gst-launch-0.10 -v -v -m v4l2src ! "video/x-raw-yuv,width=320,height=240,framerate=(fraction)5/1" ! ffmpegcolorspace ! theoraenc ! rtptheorapay ! identity dump=0 ! rtptheoradepay ! theoradec ! xvimagesink sync=false

But freezes up very often with drop-probability=0.1:

gst-launch-0.10 -v -v -m v4l2src ! "video/x-raw-yuv,width=320,height=240,framerate=(fraction)5/1" ! ffmpegcolorspace ! theoraenc ! rtptheorapay ! identity dump=0 drop-probability=0.1 ! rtptheoradepay ! theoradec ! xvimagesink sync=false

Much more usable with "theoraenc keyframe-force=5".

Totalling bytes (this time, kf-f=10):

gst-launch-0.10 -v -v -m v4l2src ! "video/x-raw-yuv,width=320,height=240,framerate=(fraction)5/1" ! ffmpegcolorspace ! theoraenc keyframe-force=10 ! rtptheorapay ! identity dump=0 drop-probability=0.0 ! rtptheoradepay ! theoradec ! xvimagesink sync=false | tr '(),' ' ' | awk '$6="identity0:sink" && $9=="bytes" {b+=$8; print b}'

Me sitting at camera, moving some, still some, for 30sec from launch to closing xvimage, calculating kilobits per second:

\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n
30sec 320x240x5/1 smoke keyframe=64 630K bytes 168 kbps
30sec 320x240x5/1 theora keyframe-force=5 300K bytes 80 kbps
30sec 320x240x5/1 theora keyframe-force=10 200K bytes 53 kbps
30sec 320x240x5/1 theora keyframe-force=64 175K bytes 47 kbps

30sec 640x480x5/1 smoke keyframe=64 1635K bytes 436 kbps
30sec 640x480x5/1 theora keyframe-force=5 750K bytes 200 kbps
30sec 640x480x5/1 theora keyframe-force=10 600K bytes 160 kbps
30sec 640x480x5/1 theora keyframe-force=64 520K bytes 139 kbps

By copying and pasting the capability, I can use a udpsink-udpsrc pipeline. Both sides seem to be able to stop & restart smoothly:

  • theora-640x480x5.sh

    So how can I capture those capabilities with Python, and make them available out-of-band?

  • (unless otherwise marked) Copyright 2002-2014 YakPeople. All rights reserved.
    (last modified 2010-01-06)       [Login]
    (No back references.)