Dans cette note, je vais énumérer les étapes afin de streamer une webcam depuis VLC. Dans un premier temps, je détaillerai comment capturer la vidéo de la webcam avec VLC et ensuite comment l'envoyer dans un flux HTTP par l'interface graphique et, finalement, en ligne de commande dans le but de l'intégrer dans un projet annexe.
note à moi même :
Toute l'opération se passe dans un environnement Linux. Pour Windows, c'est sensiblement la même chose. Cependant, mes essais sous Windows 11 n'ont pas pu aboutir à cause du problème suivant :
dshow:// non accéssible
Depuis l'interface graphique de VLC
La capture vidéo
Pour capturer le flux vidéo de la webcam, ouvrir VLC et rendez-vous sur Média > Ouvrir un périphérique de capture (Ctrl+C)
Dans cette fenêtre, l'onglet "Périphérique de capture" est sélectionné.
Puis, configure les options suivantes:
- Sélectionner "Video Camera" dans "Capture mode"
- Nom du périphérique vidéo > /dev/video0
- Nom du périphérique audio > hw:0,0
- Standard vidéo > Tous
Ces options correspondent à mon système actuel est peuvent être différente en fonction des versions du soft.
Terminer la configuration en cliquant sur le bouton "Lire" en bas de la fenêtre.
Stream vidéo
Afin de Streamer sa webcam depuis VLC
Media > Stream (ou Ctrl+s)
Sélectionner l'onglet "Périphérique de capture"
La configuration à adopté est la même que la capture de vidéo.
Puis cliquer sur "Stream"
Valider la fenêtre suivante "Source", valider sans changer les options.
Ensuite, dans la fenêtre "Destination setup", sélectionner la destination "HTTP" et cliquer sur "Ajouter". Un onglet HTTP va s'ajouter avec le paramétrage du port souhaité (par defaut 8080) ainsi que le chemin d'accès (par défaut /)
Dans la fenêtre correspondant à l'encodage, sélectionner le profil MP4.
Pour finir, dans la fenêtre des options, appuyer simplement sur le bouton stream.
Votre stream est en cours et accessible à l'adresse IP de la machine sur le port sélectionné précédemment.
En ligne de commande
Voici de manière brève la commande correspondant à mon besoin et à la configuration effectué précédemment.
vlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=h264,acodec=mpga,vb=800,ab=128}:standard{access=http,mux=flv,dst=:8080}'
En quelques mots:
- vvv : verbose
- v4l2:///dev/video0 : la capture de ma webcam
- --sout : paramètre de sortie de video
- #transcode{vcodec=h264,acodec=mpga,vb=800,ab=128} : encodage
- :standard{access=http,mux=flv,dst=:8080} : ouverture http + format de la vidéos + adresse d'accès
Fonctionnalités optionnelles
Ajouter un filigrane
Certaines options sont persistante et peuvent être configuré via l'interface graphique en amont.
Pour ajouter un logo en filigrane des vidéos, il faut ouvrir VLC et faire "clic droit"> outils > effets et filtres (Ctrl+e)
Sélectionner Effets vidéos dans le premier menu d'onglet et Incrustation dans le second.
Cocher la case Ajouter un logo puis parcourir vos dossiers pour sélectionner le logo souhaité.
Voila, le logo sera posé sur votre vidéo chaque fois que VLC sera utilisé.
Limiter la durée de la diffusion
Afin de déterminer un temps de diffusion, il est nécessaire d'utiliser la commande timeout:
timeout 10 vlc -vvv v4l2:///dev/video0 --sout '#transcode{vcodec=h264,acodec=mpga,vb=800,ab=128}:duplicate{dst=http{mux=flv,dst=:8080}, dst=file{dst=/home/remy/Vidéos/video.mp4, no-overwrite}, dst=display{delay=6000}}'
Dans cette exemple, je diffuse dans un flux http en local, j'enregistre dans un fichier et j'affiche le retour de la webcam durant 10 secondes.
Source:
Top comments (0)