Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/10/2020, à 17:08

xunil2003

Python3 module vlc --> Lire en video en streaming udp

Bonjour,

Je suis sur ubunru 18.04 x64 et j'utilise python 3.

Je n'arrive pas a lire une video en streaming avec le module vlc
Poutant il et indiqué dans le lien ci-dessous de faire pour les URL stream :
https://bigl.es/tooling-tuesday-using-vlc-with-python/
ceci  ce que j'ai fait :

import vlc
media = vlc.MediaPlayer("udp://192.168.1.11:8888/stream.ts")
media.play()

Mais ça ne fonctionne pas.
J'ai fait des recherches sur le net sans succès.

Pouvez-vous m'aider ?
Merci d'avance pour vos conseils et aide.

Dernière modification par xunil2003 (Le 14/10/2020, à 17:11)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#2 Le 14/10/2020, à 19:14

lann

Re : Python3 module vlc --> Lire en video en streaming udp

Est ce que tu peux déjà essayé avec un fichier vidéo présent sur ton ordinateur ?

Hors ligne

#3 Le 14/10/2020, à 19:38

xunil2003

Re : Python3 module vlc --> Lire en video en streaming udp

Bonjour,

J'ai testé de manière suivante :
En ligne commande je diffuse le streaming avec cvlc

cvlc /home/laurent/Vidéos/Films/Laurent/video-test_1080p_x264.mkv --file-caching=20000 --play-and-exit --sub-filter logo --logo-file /home/laurent/Vidéos/test/logovdub2.jpg --logo-repeat=-1 --logo-position=10 --sout=#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none},udp{dst=192.168.1.11:8888/stream.ts} :no-sout-all :sout-keep

ensuite avec Dragon Player je rentre l'adresse pour lire le flux  :

udp://192.168.1.11:8888/stream.ts

et là ça fonctionne, je vois la vidéo.

Mais avec le module vlc de python impossible de lire une vidéo en streaming ????
malgré la doc je n'ai pas trouvé la solution ?
http://www.olivieraubert.net/vlc/python-ctypes/
Merci.

Dernière modification par xunil2003 (Le 15/10/2020, à 01:25)


- AMD R9 5950x 64 Go Ram / Intel Pentium I7 960 - 12 Go Ram - 6 T0 - Kubuntu 12.04 x64 / Kubuntu 14.04 x64 / Kubuntu 16.04 x64 / Kubuntu 18.04 x64 /  Kubuntu 20.04 x64 / Mint
- DreamPlug Multi Boot / Marvel 1.22 Ghz / Architecture ARM / 512 Mo Ram / Carte-sd 16 Go class 10 / 5 Watts / Debian Squeeze 2.6.39.4
- Raspberry PI 1 / Raspberry PI 2 / Raspberry PI 3 / Raspberry PI 4 : 4Gb
JE SUIS CHARLIE

Hors ligne

#4 Le 15/10/2020, à 17:00

lann

Re : Python3 module vlc --> Lire en video en streaming udp

Es tu sur que ça doit fonctionner pour un flux vidéo ?
C'est pour cela que je te demandais dans un premier temps de lire une vidéo sur un disque dur comme montré dans l'exemple du blog

Hors ligne

#5 Le 06/07/2021, à 09:00

kholo

Re : Python3 module vlc --> Lire en video en streaming udp

Bonjour,
je remonte ce post...
voici un code de démo pour faire su broadcast avec vlc

import vlc
media = []
media.append('../media/un_media.mp4')
media.append('un_autre_media.mp4')

def demo1(media):
    Instance = vlc.Instance()
    player = Instance.media_player_new()
    Media = Instance.media_new(media)
    Media.add_option("sout=#rtp{mux=ts,ttl=10,port=10000,sdp=rtsp://:10000/test.sdp}")
    Media.add_option("--no-sout-all")
    Media.add_option("--sout-keep")
    Media.get_mrl()
    player.set_media(Media)

    player.play()
    input()

demo1(media[3])

le input demande à appuyer sur une touche pour couper la transmission et finir la fonction
bien sûr, on peut remplacer par :

    player.play()
    time.sleep(3)
    while player.is_playing():
        time.sleep(1)

pour ouvrir le flux sur un vlc ou autre logiciel capable de lire du rtsp :

rtsp://@ip_du_serveur:10000/test.sdp

par exemple :

rtsp://@192.168.1.65:10000/test.sdp

marche en local ou sur une autre machine
j'ai été agréablement surpris par la synchro parfaite

je cherche encore pour des listes de lecture mais celui ci fonctionne
je verrai à alimenter ce fil avec une version plus complète et expliquée

Dernière modification par kholo (Le 06/07/2021, à 09:05)

Hors ligne