2
novembre
2012
Gstreamer : intégrer une webcam dans son application C# ou Vala (détails)
novembre
2012
Un article de Rachel
Pas de commentaires
dans ce précédent billet, je vous montrais comment accéder rapidement à la caméra. Je vais maintenant vous décomposer le déroulement. En fait avec parse_launch, Gstreamer créer un Pipeline avec les différents éléments apportés dans la chaîne
voici comment créer ce pipeline :
- en Vala :
using Gst;
public class Mainclass : GLib.Object
{
public static void main (string[] args)
{
Gst.init(ref args);
var pipeline = new Pipeline("test");
Element v4l2src = ElementFactory.make("v4l2src","v4l2src");
Element xvimagesink = ElementFactory.make("xvimagesink","xvimagesink");
pipeline.add_many (v4l2src,xvimagesink);
v4l2src.link(xvimagesink);
v4l2src.set("device","/dev/video0");
pipeline.set_state (State.PLAYING);
new MainLoop().run();
}
static bool cb (Gst.Bus bus, Gst.Message message){return true;}
} - En C# :
using System;
using Gst;
public class MainClass
{
public static void Main (string[] args)
{
Application.Init();
Pipeline pipeline = new Pipeline("test");
Element v4l2src = ElementFactory.Make("v4l2src","v4l2src");
Element xvimagesink = ElementFactory.Make("xvimagesink","xvimagesink");
pipeline.Add(v4l2src,xvimagesink);
v4l2src.Link(xvimagesink);
v4l2src["device"] = "/dev/video0";
pipeline.SetState(State.Playing);
new Gst.GLib.MainLoop ().Run();
}
static bool cb (Bus bus, Message message){return true;}
}