[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