Salvare in un file audio con il Componente gb.media l'audio e il video di una web-TV
Da Gambas-it.org - Wikipedia.
Versione del 1 ago 2024 alle 20:55 di Vuott (Discussione | contributi) (Creata pagina con "Di seguito un esempio pratico per salvare con alcune risorse del Componente ''gb.media'' in un file audio WAV l'audio e il video da una web-TV: Private Const WEB_TV As String...")
Di seguito un esempio pratico per salvare con alcune risorse del Componente gb.media in un file audio WAV l'audio e il video da una web-TV:
Private Const WEB_TV As String = "https://clubbingtv-rakuten.amagi.tv/playlist720_p.m3u8" Private bo As Boolean Public Sub Main() Dim pl As MediaPipeline Dim dcb1, dcb2, con, snk As MediaControl Dim abi1, acon1, ares1, asn1 As MediaControl Dim abi2, aco2, asn2, the, vor, ogg As MediaControl Dim tm As Date pl = New MediaPipeline ' Parte per vedere il video: dcb1 = New MediaControl(pl, "uridecodebin") dcb1["uri"] = WEB_TV con = New MediaControl(pl, "videoconvert") snk = New MediaControl(pl, "autovideosink") dcb1.LinkLaterTo(con) con.LinkTo(snk) ' Parte per registrare il video: dcb2 = New MediaControl(pl, "uridecodebin") dcb2["uri"] = WEB_TV con = New MediaControl(pl, "videoconvert") the = New MediaControl(pl, "theoraenc") ogg = New MediaControl(pl, "oggmux") dcb2.LinkLaterTo(con) con.LinkTo(the) the.LinkTo(ogg) '''''''''''''''''''''''''''''''''''''''''''' ' Parte per ascoltare l'audio: abi1 = New MediaControl(pl, "uridecodebin") abi1["uri"] = WEB_TV acon1 = New MediaControl(pl, "audioconvert") ares1 = New MediaControl(pl, "audioresample") asn1 = New MediaControl(pl, "autoaudiosink") abi1.LinkLaterTo(acon1) acon1.LinkTo(ares1) ares1.LinkTo(asn1) ' Parte per registrare l'audio e creare il file video OGG-Theora finale: abi2 = New MediaControl(pl, "uridecodebin") abi2["uri"] = WEB_TV aco2 = New MediaControl(pl, "audioconvert") vor = New MediaControl(pl, "vorbisenc") asn2 = New MediaControl(pl, "filesink") asn2["location"] = "/tmp/video.ogg" abi2.LinkLaterTo(aco2) aco2.LinkTo(vor) vor.LinkTo(ogg) ogg.LinkTo(asn2) pl.Play tm = Now While Not bo Write "\r\e[0mTemps écoulé: \e[31m" & Str(Time(0, 0, 0, DateDiff(tm, Now, gb.Millisecond))) Wait 0.01 Wend pl.Stop pl.Close Quit End ' Per terminare il programma e creare il file audio, cliccare nella console/terminale e successivamente premere il tasto "Invio" della tastiera. Public Sub Application_Read() bo = True End