[Linux] Gstreamer 1.0 pipeline description met webcam?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • !null
  • Registratie: Maart 2008
  • Laatst online: 02-10 16:08
Hoewel dit misschien meer iets met programmeren is, gaat het hier om hoe je Gstreamer moet gebruiken, wat je ook command line kunt doen (met gst-launch). Het gaat om de textuele pipeline description om de pipeline op te bouwen.

Ik had met behulp van python een gtk applicatie gemaakt om met een webcam een opname te starten en dit met geluid en al naar een file weg te schrijven. Dit was met gstreamer 0.10 en het was niet echt betrouwbaar. De helft van de tijd startte de stream niet goed op, en hing de boel. Als de stream werkte, ging alles verder wel perfect.
Nu heb ik mijn python script omgeschreven naar Gtk3 en Gstreamer 1.0. Als ik wat testjes doe met een simpele pipeline (v4l2src ! xvimagesink sync=false) zie ik dat het probleem wat ik met 0.10 had, niet meer aanwezig lijkt te zijn. Reden genoeg dus om met 1.0 verder te gaan. Maar nu blijkt dat de syntax van de pipeline description niet backwards compatible is met de oude. Dus ik moet weer overnieuw beginnen met het gepuzzel.
Heeft iemand enig idee waar ik goeie documentatie of tutorials/voorbeelden kan vinden over deze textuele pipeline descriptions in combinatie met webcams? Met dat laatste bedoel ik dus alles wat een v4l2src heeft. De man page van gst-launch geeft wel behoorlijk wat info, maar (net als vele sites) geen info over omgang met webcams en dat dan te muxen. Meestal is het uitgangspunt een file om af te spelen. Sites met info over webcams met gstreamers gaan vrijwel allemaal over gstreamer 0.10.

Mijn oude pipeline description voor gstreamer 0.10:
code:
1
v4l2src ! tee name=t_vid ! queue ! videoflip method=horizontal-flip ! xvimagesink sync=false t_vid. ! queue ! videorate ! video/x-raw,format=yuv,width=800,height=600,framerate=24/1 ! queue ! mux. pulsesrc device=\"alsa_input.usb-046d_080a_6DE40768-02-U0x46d0x80a.analog-mono\" ! audio/x-raw,format=int,rate=48000,channels=2,depth=16 ! queue ! audioconvert ! queue ! mux. avimux name=mux ! filesink location=temp.avi


In de nieuwe gstreamer 1.0 krijg ik de hele tijd errors als could not link videorate0 to queue2 waaruit me wel duidelijk wordt wat niet aan elkaar gekoppeld kan worden, maar het wordt niet duidelijk hoe het dan wel moet.

Ampera-e (60kWh) -> (66kWh)