Pour nous contacter : soyez au rendez-vous sur IRC ! ⋅ Parcourir l'archive musicale Dogmazic ⋅ Notre Blog ⋅ Notre Documentation
Bonjour à tous,
Le forum Musique Libre a migré !
Pas d'inquiétude, vos comptes et vos messages ont été migré ! Mais nous n'avons pas pu migrer les mots de passe, il vous faudra donc cliquer sur "J’ai oublié mon mot de passe" et suivre la procédure.
Welcome back
Le forum Musique Libre a migré !
Pas d'inquiétude, vos comptes et vos messages ont été migré ! Mais nous n'avons pas pu migrer les mots de passe, il vous faudra donc cliquer sur "J’ai oublié mon mot de passe" et suivre la procédure.
Welcome back
Streaming vidéo avec vlc
Streaming vidéo avec vlc
http://nfalaise.free.fr/index.php?part= ... stream_vlc
j'y poste, en intro, un lien vers le tuto "pas à pas" qui m'a permis de faire mon premier streaming vidéo... en utilisant le format WMV.
Le reste de l'article est un complément d'infos dans le but d'expliquer quelles sont les différentes options de diffusion que VLC propose, avec une grosse partie sur les problèmes liés au réseau.
j'y poste, en intro, un lien vers le tuto "pas à pas" qui m'a permis de faire mon premier streaming vidéo... en utilisant le format WMV.
Le reste de l'article est un complément d'infos dans le but d'expliquer quelles sont les différentes options de diffusion que VLC propose, avec une grosse partie sur les problèmes liés au réseau.
Re: Streaming vidéo avec vlc
Ayé, j'ai réussi à faire un stream en ogg (qui encapsule le son en vorbis et l'image en theora) 8)
[MODE GEEK = ON]
coté PC :
... sur une seule ligne, hein.
pour le v4l:// etc... (jusqu'au --sout), ça dépendra de votre matériel. là, je suis sous linux.
(je vous invite à jeter un coup d'oeil à la fin de mon tuto du post précédent pour plus de détails).
Donc là, j'encode sur le PC en mp1v pour l'image et en mp3 pour le son et j'envoie en udp sur la dédibox, à l'adresse xxx.xxx.xxx.xxx (remplacez par l'IP de votre relais)
coté dédibox, pour le relais :
donc toujours sur une seule ligne.
Là, je récupère le flux qui lui arrive en udp, je l'encode en theora/vorbis, j'encapsule le tout en ogg et je repropose le flux cette fois en http pour qui veut.
(encore une fois, mon tuto du premier post donne quelques explications...)
bon
les premiers tests marchent... j'ai des messages un peu étranges coté dedibox, mais ça marche... le flux s'intègre ensuite dans l'applet Java Cortado pour l'intégrer sur une page web avec le code:
avec toujours xxx.xxx.xxx.xxx l'adresse IP du relais.
Le seul soucis, là, c'est que Java refuse de lire un flux qui ne vient pas de l'ordi qui fourni la page web où le player est intégré. Donc obligé d'intégrer le player sur une page servie par la dédibox. On peut régler le problème, pour l'intégrer ailleur, en passant par une iframe par exemple.
[MODE GEEK = OFF]
[MODE GEEK = ON]
coté PC :
Code : Tout sélectionner
vlc -vvv v4l:// :v4l-vdev="/dev/video0" :v4l-adev="/dev/dsp" :v4l-norm=3 :v4l-frequency=-1 --sout "#transcode{vcodec=mp1v,vb=256,scale=1,acodec=mp3,ab=192,channels=2}:duplicate{dst=std{access=udp,mux=ts,dst=xxx.xxx.xxx.xxx:12345}}"pour le v4l:// etc... (jusqu'au --sout), ça dépendra de votre matériel. là, je suis sous linux.
(je vous invite à jeter un coup d'oeil à la fin de mon tuto du post précédent pour plus de détails).
Donc là, j'encode sur le PC en mp1v pour l'image et en mp3 pour le son et j'envoie en udp sur la dédibox, à l'adresse xxx.xxx.xxx.xxx (remplacez par l'IP de votre relais)
coté dédibox, pour le relais :
Code : Tout sélectionner
vlc -vvv udp:@:12345 --sout "#transcode{vcodec=theo,scale=1,aspect-ratio=4:3,acodec=vorb}:duplicate{dst=std{access=http,mux=ogg,dst=xxx.xxx.xxx.xxx:12345/video.ogg}}"Là, je récupère le flux qui lui arrive en udp, je l'encode en theora/vorbis, j'encapsule le tout en ogg et je repropose le flux cette fois en http pour qui veut.
(encore une fois, mon tuto du premier post donne quelques explications...)
bon
les premiers tests marchent... j'ai des messages un peu étranges coté dedibox, mais ça marche... le flux s'intègre ensuite dans l'applet Java Cortado pour l'intégrer sur une page web avec le code:
Code : Tout sélectionner
<applet width="320" height="240" archive="cortado-ovt-debug-0.2.2.jar" code="com.fluendo.player.Cortado.class" />
<param name="url" value="http://xxx.xxx.xxx.xxx:12345/video.ogg"/>
<param name="local" value="false"/>
<param name="framerate" value="30"/>
<param name="keepAspect" value="true"/>
<param name="video" value="true"/>
<param name="audio" value="true"/>
<param name="bufferSize" value="400"/>
</applet>
Le seul soucis, là, c'est que Java refuse de lire un flux qui ne vient pas de l'ordi qui fourni la page web où le player est intégré. Donc obligé d'intégrer le player sur une page servie par la dédibox. On peut régler le problème, pour l'intégrer ailleur, en passant par une iframe par exemple.
[MODE GEEK = OFF]
-
sacaboulons
- Messages : 103
- Inscription : 18 janv. 2006, 23:59
Re: Streaming vidéo avec vlc
Là ya du gros geek 
Re: Streaming vidéo avec vlc
[MODE STAR TREK = ON]

Bon, disons plutôt que... ça a tendance à marcher
Mais coté relais, je me chope une foule de :
le flux passe quand même et au final, ça marche, mais tous ces affchages, je trouve ça assez inquiétant...
du coup j'essaie de varier les combinaisons (codec/encapsulation/protocol)
mais rien de trés concluant jusqu'à maintenant
si quelqu'un a une idée...
[MODE STAR TREK = OFF]

Bon, disons plutôt que... ça a tendance à marcher
Mais coté relais, je me chope une foule de :
Code : Tout sélectionner
[00000378] main private warning: vout synchro warning: pts != current_date (-104044)
[00000378] main private warning: vout synchro warning: pts != current_date (-120278)
[00000378] main private warning: vout synchro warning: pts != current_date (-103978)
[00000378] main private warning: vout synchro warning: pts != current_date (-103844)
[00000378] main private warning: vout synchro warning: pts != current_date (-119967)
[00000378] main private warning: vout synchro warning: pts != current_date (-103722)
[00000378] main private warning: vout synchro warning: pts != current_date (-119622)
[00000378] main private warning: vout synchro warning: pts != current_date (-103922)
(etc...à raison de 2/3 lignes par secondes)du coup j'essaie de varier les combinaisons (codec/encapsulation/protocol)
mais rien de trés concluant jusqu'à maintenant
si quelqu'un a une idée...
[MODE STAR TREK = OFF]
-
sacaboulons
- Messages : 103
- Inscription : 18 janv. 2006, 23:59
Re: Streaming vidéo avec vlc
ben... ça passe
mais c'est pas trés stable.
d'après ce que j'ai pu glaner vu le web à propos du pts, c'est une histoire de synchrorisation
mais avec quoi j'en sais rien
Quoi qu'il en soit, le player, par moment, est largué et crois que le flux est terminé alors qu'il continue
Ou alors c'est carrément vlc qui s'arrète sur le relais avec une erreur de segmentation.
mais c'est pas trés stable.
d'après ce que j'ai pu glaner vu le web à propos du pts, c'est une histoire de synchrorisation
mais avec quoi j'en sais rien
Quoi qu'il en soit, le player, par moment, est largué et crois que le flux est terminé alors qu'il continue
Ou alors c'est carrément vlc qui s'arrète sur le relais avec une erreur de segmentation.
-
sacaboulons
- Messages : 103
- Inscription : 18 janv. 2006, 23:59
Re: Streaming vidéo avec vlc
Et sinon le son fonctionne?
Re: Streaming vidéo avec vlc
le son fonctionne.
pour le son, si on envoie juste le son, sans image, là, c'est beaucoup plus simple:
coté PC:
coté relais:
en remplaçant <source...> par la source, donc
et xxx.xxx.xxx.xxx par l'IP du relais.
là, le flux est accessible à l'adresse http://xxx.xxx.xxx.xxx:3131
bon, dans cet exemple, j'envoie en mp3 donc le flux peut être lu avec un player indépendant ou aussi intégré dans un lecteur flash.
pour le vorbis, c'est plus compliqué...
pour le son, si on envoie juste le son, sans image, là, c'est beaucoup plus simple:
coté PC:
Code : Tout sélectionner
vlc -vvv <source...> --sout "#transcode{acodec=mp3,ab=128,channels=2}:duplicate{dst=std{access=udp,mux=ts,dst=xxx.xxx.xxx.xxx:12345}}"Code : Tout sélectionner
vlc -vvv udp:@:12345 --sout "#duplicate{dst=std{access=http,mux=raw,dst=xxx.xxx.xxx.xxx:3131}}"et xxx.xxx.xxx.xxx par l'IP du relais.
là, le flux est accessible à l'adresse http://xxx.xxx.xxx.xxx:3131
bon, dans cet exemple, j'envoie en mp3 donc le flux peut être lu avec un player indépendant ou aussi intégré dans un lecteur flash.
pour le vorbis, c'est plus compliqué...