Je veux créer un flux en direct de (une fenêtre sur) mon bureau Linux en utilisant un site de streaming gratuit, en utilisant la vidéo capturée comme une fausse webcam. Il existe de nombreux outils pour cela sur Windows. ffmpeg me permet de capturer les entrées sur une fenêtre spécifique, mais je ne trouve pas le moyen de sortir la vidéo sur un faux périphérique de type webcam utilisable par flash.
Quelqu'un peut-il recommander une méthode (ou un logiciel) pour ce faire?
linux
ffmpeg
screencasts
virtual-webcam
bkconrad
la source
la source
Réponses:
Vous pouvez installer v4l2loopback . C'est un module de noyau qui simule une webcam. Chargez-le avec:
Ensuite, vous devez envoyer le flux vidéo au périphérique / dev / video0 en utilisant un programme tel que ffmpeg. Pour capturer le bureau et le transférer vers / dev / video0 avec ffmpeg, vous pouvez utiliser la ligne de commande suivante:
Changez la valeur de -r de 15 à autre chose si vous voulez une cadence différente. La résolution est choisie dans le paramètre -s. Si vous souhaitez spécifier un décalage à partir du coin supérieur gauche de l'écran, transmettez-le au paramètre -i sous la forme "-i: 0.0 + x, y", où x et y sont respectivement les décalages horizontal et vertical.
la source
[x11grab @ 0x24013c0] Stream #0: not enough frames to estimate rate; consider increasing probesize
,[v4l2 @ 0x2409520] ioctl(VIDIOC_G_FMT): Invalid argument
etCould not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Utilisez v4l2loopback avec mplayer .
make
etsu -c 'make install'
),su -c 'modprobe v4l2loopback'
,puis changez une ligne dans le fichier
examples/yuv4mpeg_to_v4l2.c
du dossier source v4l2loopback deà
et faire
make
dans ce dossier.Puis lancez le depuis le
examples
répertoire comme ceci:où vous remplacez
movie.mp4
par le nom de votre fichier vidéo. Et remplacez-le/dev/video0
par votre périphérique de bouclage.MPlayer est capable de lire n'importe quel flux Web, tout type de fichier vidéo, même à partir de stdin! Je viens de le tester avec un fichier de http://www.tagesschau.de qui est un site d'informations allemand.
Au lieu de $ TS, vous pouvez mettre un
-
(qui signifie stdin). Et devant mplayer, votre commande ffmpeg redirige sa sortie vers stdout. Donc, quelque chose comme:N'a pas testé le dernier, car vous n'avez pas expliqué comment votre commande ffmpeg ressemblait.
la source
./yuv4mpeg_to_v4l2 < /dev/video0 &
conduit à./yuv4mpeg_to_v4l2: : missing YUV4MPEG2 header
. Comment remplacer/tmp/pipe
par/dev/video0
?Quelle distro utilisez-vous? J'ai eu du succès avec WebCamStudio sous Arch combiné au "studio" basé sur le Web Livestream. Cela fait un petit moment que je l'utilise, cependant.
http://www.ws4gl.org/
Qu'essayez-vous de faire exactement? ffmpeg compilé avec x11grab peut enregistrer le bureau. J'ai eu un succès limité en poussant cela vers Ustream, mais encore une fois, cela fait longtemps et je pense que ce que je faisais ne fonctionnera plus.
Si vous souhaitez simplement diffuser un fichier plutôt que votre bureau (je pense que lorsque vous dites "une fenêtre", vous voulez dire "VLC"), je peux vous indiquer la bonne direction pour que cela fonctionne avec Livestream (peut-être Ustream). Je trouve maladroitement comment faire cela par des expériences. Ce n'est pas fantastique mais cela fonctionne avec Livestream.
Justin.tv a également des scripts qui peuvent diffuser depuis VLC vers leur service.
http://apiwiki.justin.tv/mediawiki/index.php/Linux_Broadcasting_API
la source
Tout d’abord, apparence.in fait probablement ce que vous voulez sans tracas (je ne suis pas affilié): http://appear.in/
Deuxièmement, vous pouvez diffuser vers Twitch ou d’autres services en utilisant OBS, qui a récemment ajouté le support Linux (!): Https://obsproject.com/
OBS résout également le problème beaucoup plus difficile de multiplexage du son du système et des entrées audio lors de la capture d'écran sur Ubuntu (rien de ce
universe
que j'ai trouvé dans le référentiel que j'ai trouvé jusqu'à présent).Je n'ai aucune solution unix-y géniale. Mais ceux qui ont fonctionné pour moi dans le monde réel.
la source