[gst-devel] how to improve this pipeline ?

Jerome Alet alet at librelogiciel.com
Tue Oct 3 09:59:12 CEST 2006


Hi,

Following my previous messages, here's what I've got now :

--- CUT ---
#! /bin/sh
#
# My attempt at implementing this :
#
#   http://sf.net/mailarchive/forum.php?thread_id=30671995&forum_id=5947
#
# In the code below dv1394src was replaced with a file extracted with
# dvgrab because dv1394src segfaults on my Debian box (bug #369936).
#
dvgrab - | gst-launch \
  videomixer name=picmux \
  ! ffmpegcolorspace \
  ! theoraenc bitrate=1024 quality=32 \
  ! queue \
  ! oggmux name=finalmux finalmux. \
  ! filesink location=out.ogg \
  gnomevfssrc location=mylogo.png \
  ! pngdec \
  ! ffmpegcolorspace \
  ! videoscale ! video/x-raw-yuv,width=352,height=192 \
  ! videobox top=-288 bottom=0 left=0 right=-640 border-alpha=0 alpha=1 \
  ! queue \
  ! picmux. \
  v4lsrc device=/dev/video0 copy-mode=false \
  ! videoscale ! video/x-raw-yuv,width=640,height=480 \
  ! videobox left=-352 border-alpha=0 alpha=1 \
  ! queue \
  ! picmux. \
  fdsrc fd=0 \
  ! decodebin name=dvdecoder \
    dvdecoder.video0 { \
    ! videoscale ! video/x-raw-yuv,width=352,height=288 \
    ! ffmpegcolorspace \
    ! videobox top=0 bottom=-192 left=0 right=-640 border-alpha=0 alpha=1 \
    ! queue \
    ! picmux. \
    } \
#    dvdecoder.audio0 { \
#    ! audioconvert ! audio/x-raw-float,channels=1 \
#    ! vorbisenc min-bitrate=32000 max-bitrate=64000 \
#    ! queue \
#    ! finalmux. \
#    } \
--- CUT ---

It seems to work fine, but I still have some problems :

  - If I uncomment the audio stuff it doesn't work anymore.
  
  - If my DV video source films a watch or a clock, I can see
    that one minute on the watch only takes around 45 seconds in the
    final output, instead of taking exactly one minute, when
    viewed from vlc.
    
  - I'd like to save some CPU, and wondered if reducing the framerate  
    for the logo would help, because I only need 1 frame
    per second (or even lower I don't really care). But
    if I try to add "framerate=1/1" on the videoscale line
    it doesn't work anymore.
    I still need to keep 25 fps (PAL) on the DV source and in
    the final output.
    
Does anyone have ideas about what could be wrong ?    

Are all these problems related in some way ?

Is there some stuff I could remove safely ? NB : In production the filesink
will be replaced with a shout2send sink (works fine too)

Is there some way to learn how to debug all this stuff other than
with my two good friends Trial and Error ? Increasing verbosity
doesn't help much if I don't know what to look at exactly to see
what is wrong...

Thanks in advance for any help or advice.

Bye,

Jerome Alet




More information about the gstreamer-devel mailing list