Differenze tra le versioni di "Effettuare una ripresa video mediante una WebCam con il Componente gb.media"

Da Gambas-it.org - Wikipedia.
Riga 32: Riga 32:
  
  
====Mostrare nel video il tempo trascorso====
+
====Mostrare nel video anche il tempo trascorso====
 
Per mostrare nella finestra del video anche il tempo trascorso dall'inizio della ripresa video, è necessario utilizzare il plugin ''timeoverlay'' fornito da ''GStreamer'':
 
Per mostrare nella finestra del video anche il tempo trascorso dall'inizio della ripresa video, è necessario utilizzare il plugin ''timeoverlay'' fornito da ''GStreamer'':
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()

Versione delle 09:55, 6 ott 2016

Il Componente gb.media, utilizzando particolari plugin di GStreamer, consente di effettuare una ripresa video mediante una WebCam.

Il codice prevede l'utilizzo della Classe MediaPipeline che fornisce il supporto di collegamento dei vari plugin di GStreamer per consentire la ripresa video.


Mostriamo di seguito un esempio essenziale con un'applicazione a riga di comando:

Public Sub Main()
 
 Dim pl As MediaPipeline
 Dim src, snk As MediaControl
 Dim ftr As MediaFilter
 
  pl = New MediaPipeline 
   
  src = New MediaControl(pl, "v4l2src")
  ftr = New MediaFilter(pl, "video/x-raw,width=640,height=480,framerate=30/1")
  snk = New MediaControl(pl, "xvimagesink")
 
' Colleghiamo fra loro i due plugin di "GStreamer":
  src.LinkTo(ftr)
  ftr.LinkTo(snk)
  
' Avvia la ripresa video:
  pl.State = Media.Playing
  pl.Play()
  
  While True
    Write #File.Out, "\rTempo: " & Date(0, 0, 0, 0, 0, 0, pl.Position * 1000)
  Wend
     
End


Mostrare nel video anche il tempo trascorso

Per mostrare nella finestra del video anche il tempo trascorso dall'inizio della ripresa video, è necessario utilizzare il plugin timeoverlay fornito da GStreamer:

Public Sub Main()
 
 Dim pl As MediaPipeline
 Dim src, tim, snk As MediaControl
 Dim ftr As MediaFilter
 
  pl = New MediaPipeline 
   
  src = New MediaControl(pl, "v4l2src")
  ftr = New MediaFilter(pl, "video/x-raw,width=640,height=480,framerate=30/1")
  tim = New MediaControl(pl, "timeoverlay")
  snk = New MediaControl(pl, "xvimagesink")
  
' Colleghiamo fra loro i due plugin di "GStreamer":
  src.LinkTo(ftr)
  ftr.LinkTo(tim)
  tim.LinkTo(snk)
  
' Avvia la ripresa video:
  pl.State = Media.Playing
  pl.Play()
  
  While True
    Sleep 0.01
  Wend
  
End