[stream] streamer un fichier video en gardant le controle play/pause/retour ...
Publié : mar. 09 juin 2015, 19:20
Bonjour à tous.
J'ai besoin de pouvoir streamer des fichiers multimedias (vidéos diverses) depuis un ordinateur maitre (bi-xeon, 12G RAM) vers les ordinateurs du réseau local, mais je dois pouvoir garder le contrôle de la lecture (play / pause / retour ...)
Pour avoir une idée du contexte, il s'agit de diffuser des vidéos dans la salle informatique d'une école, en groupe classe (donc pas indépendamment sur chaque poste, ce qui exclut de fait toute solution de type VOD, rtsp ...) Un seul PC a une sortie audio reliée à un ampli, donc les images doivent être synchronisées.
J'utilise depuis déjà un certain temps VLC avec une ligne de commande du type :
Ça fonctionne pas trop mal, mais j'ai souvent des plantages de la part de VLC, particulièrement lors des retours en arrière (qui sur mon PC maitre font planter VLC sans avoir grand chose pour m'aider: segmentation fault....). De plus, j'ai de nombreuses erreurs relatives à l'encodage (différentes selon l'utilisation de mp4v ou h264, mais toujours des erreurs), des freezes lors de la reprise de la lecture ....
J'ai testé tout ce que j'ai pu penser d'autre, mais rien de bien concluant:
--> l'utilisation de http au lieu de rtp dans vlc pose un problème majeur, l'image disparaît des clients après quelques secondes en cas de pause de la source
--> je n'arrive pas à utiliser udp en multicast avec vlc
--> ffmpeg fonctionne très bien, mais je n'ai plus de contrôle sur la diffusion de la source (et pour info, je n'ai pas réussi à le faire fonctionner en rtp, et de mémoire en mpeg4 non plus)
--> des pipes en tout genres, qui marchent mais ne sont pas concluant. En général ffmpeg n'aime pas trop quand je fais des déplacement dans la source
--> j'ai joué un peu avec ffserver mais sans obtenir les résultats escomptés (en particulier, mettre la source en pause n'interrompt pas la lecture des clients
--> j'ai encore rien compris à VLM....
Bref, je ne suis pas de mauvaise volonté, mais je me fatigue à tester plusieurs options différentes sans vraiment savoir quel serait l'outil le mieux adapté. Selon vous, quel serait la piste la plus susceptible de fonctionner de façon fiable (et, in fine, simple pour tous les instits non informaticiens de l'école). Connaissez-vous un logiciel qui puisse faire ce que je souhaite ? Des options de configuration / encodage plus adaptées ? un protocole réseau auquel je n'aurais pas pensé ? un endroit pour poser mes questions ?
Bref, merci à tous pour votre aide
J'ai besoin de pouvoir streamer des fichiers multimedias (vidéos diverses) depuis un ordinateur maitre (bi-xeon, 12G RAM) vers les ordinateurs du réseau local, mais je dois pouvoir garder le contrôle de la lecture (play / pause / retour ...)
Pour avoir une idée du contexte, il s'agit de diffuser des vidéos dans la salle informatique d'une école, en groupe classe (donc pas indépendamment sur chaque poste, ce qui exclut de fait toute solution de type VOD, rtsp ...) Un seul PC a une sortie audio reliée à un ampli, donc les images doivent être synchronisées.
J'utilise depuis déjà un certain temps VLC avec une ligne de commande du type :
Code : Tout sélectionner
vlc --sout "#transcode{vcodec=mp4v,vb=2000,scale=1,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{dst=224.0.0.1,port=5004,mux=ts}" --sout-keep MONFICHIERVIDEO.XYZ
J'ai testé tout ce que j'ai pu penser d'autre, mais rien de bien concluant:
--> l'utilisation de http au lieu de rtp dans vlc pose un problème majeur, l'image disparaît des clients après quelques secondes en cas de pause de la source
--> je n'arrive pas à utiliser udp en multicast avec vlc
--> ffmpeg fonctionne très bien, mais je n'ai plus de contrôle sur la diffusion de la source (et pour info, je n'ai pas réussi à le faire fonctionner en rtp, et de mémoire en mpeg4 non plus)
Code : Tout sélectionner
ffmpeg -vcodec libx264 -tune zerolatency -b:v 900k -acodec aac -strict -2 -f mpegts "udp://224.0.0.1:5004" -re -i MONFICHIERVIDEO.XYZ
Code : Tout sélectionner
vlc MONFICHIERVIDEO.XYZ –sout "#std{access=file,mux=ts,dst=-}" | ffmpeg -v verbose -vcodec libx264 -b
:v 900k -acodec aac -strict -2 -f mpegts "udp://224.0.0.1:5004″ -re -i pipe:-
--> j'ai encore rien compris à VLM....
Bref, je ne suis pas de mauvaise volonté, mais je me fatigue à tester plusieurs options différentes sans vraiment savoir quel serait l'outil le mieux adapté. Selon vous, quel serait la piste la plus susceptible de fonctionner de façon fiable (et, in fine, simple pour tous les instits non informaticiens de l'école). Connaissez-vous un logiciel qui puisse faire ce que je souhaite ? Des options de configuration / encodage plus adaptées ? un protocole réseau auquel je n'aurais pas pensé ? un endroit pour poser mes questions ?
Bref, merci à tous pour votre aide