1 | |||
Auteur | Messages | ||
---|---|---|---|
vuott | #1 Posté le 2/8/2024 à 02:45:29 | ||
Ne cedere ineluctabili possimus | Voici un possible code pour enregistrer dans un fichier audio-vidéo OGG-Theora l’audio et la vidéo d’une web-TV via le composant gb.media. ------------CODEX-------------------- Private Const WEB_TV As String = "https://clubbingtv-rakuten.amagi.tv/playlist720_p.m3u8" Private bo As Boolean Public Sub Main() ' ...projet en ligne de commande ! 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 ' Partie pour voir la vidéo: 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) ' Partie pour enregistrer la vidéo: 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) ''''''''''''''''''''''''''''''''''''''''''''''''' ' Partie pour écouter 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) ' Partie pour enregistrer l’audio et créer le fichier OGG-Theora: 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" ' <----- Chemin d'accès au fichier audio OGG-Theora qui sera finalement créé. 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 Public Sub Application_Read() ' Cet événement sera déclenché lorsque vous appuyez sur la touche "Entrée" de votre clavier. bo = True End « Vita non suavis esse potest, nec Mors amara. » | ||
valaquarus | #2 Posté le 2/8/2024 à 08:10:35 | ||
-- Unus Ex Altera -- | Pardonnez moi Vuott; j'ai toujours une erreur mais pas la même, voici ce que la console me renvoie : [xcb] Unknown request in queue while dequeuing [xcb] Most likely this is a multi-threaded client and XInitThreads has not been called [xcb] Aborting, sorry about that. gbx3: ../../src/xcb_io.c :175 : dequeue_pending_request: l'assertion « !xcb_xlib_unknown_req_in_deq » a échoué. Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5 | ||
valaquarus | #3 Posté le 2/8/2024 à 08:16:39 | ||
-- Unus Ex Altera -- | en fait en effectuant plusieurs essais avec le différentes adresses fonctionnant car testées, la seule qui est fonctionnelle avec ce code est celle qui n'est pas commentée, ici :
les autres renvoient l'erreur mentionnée plus haut. Par contre le fichier est bien enregistré mais ne peut être lu même par vlc. Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.5 | ||
vuott | #4 Posté le 2/8/2024 à 09:48:16 | ||
Ne cedere ineluctabili possimus | De ces quatre adresses, seule celle-ci ne fonctionne pas pour moi : "https://gstreamer.freedesktop.org/media/sintel_cropped_multilingual.webm" « Vita non suavis esse potest, nec Mors amara. » | ||
1 |