Differenze tra le versioni di "Conoscere le dimensioni di un video mediante il Componente gb.media"

Da Gambas-it.org - Wikipedia.
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 11: Riga 11:
 
   mp.Play
 
   mp.Play
 
   
 
   
   With mp.Video.Image
+
   With mp<FONT Color=red>.Video.Image</font>
 
     Print "Dimensione del video: " & .W; "x"; .H & " pixel"
 
     Print "Dimensione del video: " & .W; "x"; .H & " pixel"
 
   End With  
 
   End With  
Riga 33: Riga 33:
 
   dcb = New MediaControl(pl, "decodebin")
 
   dcb = New MediaControl(pl, "decodebin")
 
   con = New MediaControl(pl, "videoconvert")
 
   con = New MediaControl(pl, "videoconvert")
   xis = New MediaControl(pl, "ximagesink")
+
<FONT Color=gray>' ''Il plugin "fakesink" impedisce che sia mostrata, seppur per un attimo, un'immagine del video:''</font>
 +
   xis = New MediaControl(pl, "fakesink")
 
    
 
    
 
   src.LinkTo(dcb)
 
   src.LinkTo(dcb)
Riga 41: Riga 42:
 
   pl.Play()
 
   pl.Play()
 
    
 
    
   With xis.GetLastImage()
+
   With xis<FONT Color=red>.GetLastImage()</font>
 
     Print "Dimensione del video: "; .W; "x"; .H; " pixel"
 
     Print "Dimensione del video: "; .W; "x"; .H; " pixel"
 
   End With
 
   End With

Versione attuale delle 04:34, 1 lug 2024

Per conoscere le dimensioni (Width, Height) in pixel di un video mediante il Componente gb.media, sarà possibile utilizzare almeno due modalità.

Usando la Classe MediaPlayer

Mostriamo un semplice esempio pratico:

Public Sub Main()

 Dim mp As New MediaPlayer
 
 mp.URL = Media.URL("/percorso/del/file/video")

 mp.Play

 With mp.Video.Image
   Print "Dimensione del video: " & .W; "x"; .H & " pixel"
 End With 

 mp.Close

 Quit

End


Usando le Classi MediaPipeline e MediaControl

Mostriamo un semplice esempio pratico adoperando il plugin Decodebin di GStreamer:

Public Sub Main()

 Dim pl As New MediaPipeline
 Dim src, dcb, con, xis As MediaControl

 src = New MediaControl(pl, "filesrc")
 src["location"] = "/percorso/del/file/video"
 dcb = New MediaControl(pl, "decodebin")
 con = New MediaControl(pl, "videoconvert")
' Il plugin "fakesink" impedisce che sia mostrata, seppur per un attimo, un'immagine del video:
 xis = New MediaControl(pl, "fakesink")
 
 src.LinkTo(dcb)
 dcb.LinkLaterTo(con)
 con.LinkTo(xis)

 pl.Play()
 
 With xis.GetLastImage()
   Print "Dimensione del video: "; .W; "x"; .H; " pixel"
 End With

 pl.Close

End