Differenze tra le versioni di "Creare mediante il Componente gb.media un file video da più file immagini"

Da Gambas-it.org - Wikipedia.
Riga 11: Riga 11:
 
   msc = New MediaControl(pl, "multifilesrc")
 
   msc = New MediaControl(pl, "multifilesrc")
 
   msc["location"] = <FONT Color=darkgreen>"''/percorso/dei/file/immagine/<B>frame%05d</b>.png''</font>"
 
   msc["location"] = <FONT Color=darkgreen>"''/percorso/dei/file/immagine/<B>frame%05d</b>.png''</font>"
   msc["caps"] = "image/png,framerate=10/1"
+
   msc["caps"] = "image/png,framerate='''10'''/1" <FONT Color=gray>' ''Si abbia cura di impostare il "framerate" secondo la necessità''</font>
 
   png = New MediaControl(pl, "pngdec")
 
   png = New MediaControl(pl, "pngdec")
 
   vcn = New MediaControl(pl, "videoconvert")
 
   vcn = New MediaControl(pl, "videoconvert")

Versione delle 20:27, 15 lug 2024

Con le risorse del Componente gb.media è possibile generare un file video da più file immagine.

Mostriamo un esempio, nel quale sarà generato un file video di formato "MP4" da molteplici file immagine di formato PNG, che supponiamo comincino con il nome "frame" seguito da 5 cifre decimali: <[nota 1]

Public Sub Main()

 Dim pl As MediaPipeline
 Dim msc, png, vcn, enc, mux, snk As MediaControl

 pl = New MediaPipeline 

 msc = New MediaControl(pl, "multifilesrc")
 msc["location"] = "/percorso/dei/file/immagine/frame%05d.png"
 msc["caps"] = "image/png,framerate=10/1" ' Si abbia cura di impostare il "framerate" secondo la necessità
 png = New MediaControl(pl, "pngdec")
 vcn = New MediaControl(pl, "videoconvert")
 enc = New MediaControl(pl, "x264enc")
 mux = New MediaControl(pl, "mp4mux")
 snk = New MediaControl(pl, "filesink")
 snk["location"] = "/tmp/video.mp4"

' Collega fra loro i plugin di "GStreamer":
 msc.LinkTo(png)
 png.LinkTo(vcn)
 vcn.LinkTo(enc)
 enc.LinkTo(mux)
 mux.LinkTo(snk)

' Effettua la generazione del file video:
 pl.Play()

' Consente la generazione del file video:
 Wait 3

 pl.Stop
 pl.Close()
 Print "Creazione del file video MP4 effettuato !"

End


Note

[1] Vedasi il seguente paragrafo della Wiki: Catturare più fotogrammi da una ripresa video.