Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

export video+son webcam + micro

24 réponses
Avatar
Christophe PEREZ
Bonjour,

Je cherche depuis un petit moment, et je me dis qu'il y a peut-être ici
quelqu'un connaissant une solution.

Je cherche à "exporter" (par analogie au DISPLAY pour X) le son d'un
micro intégré de webcam, de façon _simple_ (c'est à dire sans rentrer
dans une usine à gaz).

Pour la vidéo seule, je peux faire un stream simplement par mjpg_stream
qui fonctionne très bien pour mon besoin, ou encore par ssh -Y :
mplayer tv:// -tv driver=v4l2:width=640:height=480:fps=25:device=/dev/
video0

Je cherche maintenant à inclure le son, qui lui, à ma connaissance, n'est
pas "exporté".
Je peux enregistrer le son par arecord -D default
Je peux aussi enregistrer vidéo+audio avec :
mencoder tv:// -tv driver=v4l2:width=640:height=480:fps=25:device=/dev/
video0:forceaudio:alsa=1:adevice=default -ovc lavc -oac mp3lame -lameopts
cbr:br=64:mode=3 -o
Donc mon problème n'est pas dans la récupération des flux mais dans leur
export, si possible, ensemble, au pire, séparément.

Ça parle à quelqu'un ?
Dans tous les cas, je poursuis mes recherches.

Merci d'avance.

10 réponses

1 2 3
Avatar
Nicolas George
Christophe PEREZ , dans le message <jnsolu$8mc$, a
écrit :
Mais pour le 1) $! ne renvoie pas le PID, donc je dois passer par un ps
grep etc... Par contre, quand je tue le process ssh, j'ai toujours mon
process mplayer qui reste tourner sur l'autre machine (alors que la
fenêtre s'est bien fermée)



Ça me paraît très suspect : si sa fenêtre a été fermée brutalement, mplayer
aurait dû être tué par les fonctions de la Xlib. Quelle versions de mplayer
est-ce exactement ?

Au fait, as-tu pensé au « < /dev/null » ? MPlayer, par défaut, lit sur son
entrée standard, ça peut perturber des choses s'il est lancé en arrière
plan.

J'ai essayé en virant le -f de ssh en rajoutant le & en fin, et en
récupérant le PID par $!, mais le résultat est le même.



Si tu n'as pas de mot de passe à saisir pour te connecter, il vaut mieux
faire la mise en arrière plan par le shell que par le client ssh.
Avatar
Christophe PEREZ
Le Thu, 03 May 2012 07:35:59 +0000, Nicolas George a écrit :

Ça me paraît très suspect : si sa fenêtre a été fermée brutalement,
mplayer aurait dû être tué par les fonctions de la Xlib. Quelle versions
de mplayer est-ce exactement ?



Je ne l'ai pas sous les yeux mais c'est la dernière à jour sous Gentoo.

Au fait, as-tu pensé au « < /dev/null » ? MPlayer, par défaut, lit sur
son entrée standard, ça peut perturber des choses s'il est lancé en
arrière plan.



Euh, j'avoue ne pas y avoir pensé, non, mais j'avoue aussi ne pas trop
savoir ou mettre ça dans ma commande ;) qui est :
ssh -Y ${IPHOST} "mplayer -really-quiet -fps 15 tv:// -tv
driver=v4l2:widthd0:heightH0:device=/dev/video0 2>&1 >/dev/null" &

Je suppose un peu n'importe où, mais je ne peux pas encore tester.

Si tu n'as pas de mot de passe à saisir pour te connecter, il vaut mieux
faire la mise en arrière plan par le shell que par le client ssh.



C'est ce que j'avais cru comprendre. Merci de me l'avoir confirmé.

Je reviens quand j'aurai pu tester le < /dev/null mais je ne voulais pas
laisser ton post sans réponse trop longtemps :D
Avatar
Christophe PEREZ
Le Thu, 03 May 2012 22:58:24 +0000, Christophe PEREZ a écrit :

Au fait, as-tu pensé au « < /dev/null » ? MPlayer, par défaut, lit sur
son entrée standard, ça peut perturber des choses s'il est lancé en
arrière plan.



Euh, j'avoue ne pas y avoir pensé, non, mais j'avoue aussi ne pas trop
savoir ou mettre ça dans ma commande qui est : ssh -Y ${IPHOST}
"mplayer -really-quiet -fps 15 tv:// -tv
driver=v4l2:widthd0:heightH0:device=/dev/video0 2>&1 >/dev/null" &

Je suppose un peu n'importe où, mais je ne peux pas encore tester.



Ben non, même avec :
ssh -Y ${IPHOST} "mplayer -really-quiet -fps 15 tv:// -tv
driver=v4l2:widthd0:heightH0:device=/dev/video0 2>&1 >/dev/null </dev/
null" &
le kill $! laisse tourner un mplayer sur la machine distante.
Avatar
Nicolas George
Christophe PEREZ , dans le message <jo253l$q5m$, a
écrit :
Ben non, même avec :
ssh -Y ${IPHOST} "mplayer -really-quiet -fps 15 tv:// -tv
driver=v4l2:widthd0:heightH0:device=/dev/video0 2>&1 >/dev/null </dev/
null" &
le kill $! laisse tourner un mplayer sur la machine distante.



Ton problème n'est pas avec mplayer mais avec le fait de mettre ssh en
arrière plan : ssh, ça lit sur son entrée standard, donc si on le met en
arrière plan, le contrôle du terminal va le suspendre. Mais c'est assez
instable, parce que comme ssh multpilexe sur du réseau, il utilise poll pour
savoir s'il peut lire sur l'entrée standard, donc il ne se trouvera suspendu
que s'il fait un poll pile entre le moment où tu appuies sur une touche et
le moment où le shell la lit. Et comme il est très occupé à déchiffrer des
images X11, ça se fait rarement, donc l'essentiel du temps ça marche. Et
quand tu le tues, sa mort est retardée jusqu'au moment où il est désuspendu.

La version courte, c'est que tu dois mettre < /dev/null sur le ssh en plus/à
la place de mplayer.

Accessoirement, tu devrais mettre les options V4L2 dans .mplayer/config, ce
serait plus confortable pour toi.
Avatar
Christophe PEREZ
Le Sat, 05 May 2012 07:21:47 +0000, Nicolas George a écrit :

La version courte, c'est que tu dois mettre < /dev/null sur le ssh en
plus/à la place de mplayer.



Merci d'avoir compris que la version courte serait indispensable ;)
Je teste ça dès que possible.

Accessoirement, tu devrais mettre les options V4L2 dans .mplayer/config,
ce serait plus confortable pour toi.



Je le note, et je regarde comment ça se fait, parce que j'avoue ne jamais
avoir utilisé de fichier de conf pour mplayer.
Avatar
Christophe PEREZ
Le Sat, 05 May 2012 07:21:47 +0000, Nicolas George a écrit :

La version courte, c'est que tu dois mettre < /dev/null sur le ssh en
plus/à la place de mplayer.



testé avec :
ssh -Y ${IPHOST}</dev/null mplayer -really-quiet -fps 15 -
noconsolecontrols tv:// -tv driver=v4l2:widthd0:heightH0:device=/dev/
video0 2>&1 >/dev/null</dev/null &
et
ssh -Y ${IPHOST}</dev/null mplayer -really-quiet -fps 15 -
noconsolecontrols tv:// -tv driver=v4l2:widthd0:heightH0:device=/dev/
video0 2>&1 >/dev/null &

sans succès.
A moins que je ne sache pas placer le </dev/null :(
Avatar
Nicolas George
Christophe PEREZ , dans le message <jo5tg1$nrh$, a
écrit :
ssh -Y ${IPHOST}</dev/null mplayer -really-quiet -fps 15 -


^^^^^^^^^^

A moins que je ne sache pas placer le </dev/null :(



De fait.

Déjà, si tu remplaces tout ce bouzin par juste ceci :

sh -c 'sleep 1; cat'

... que vois-tu ?
Avatar
Christophe PEREZ
Le Sun, 06 May 2012 13:36:17 +0000, Nicolas George a écrit :

Déjà, si tu remplaces tout ce bouzin par juste ceci :

sh -c 'sleep 1; cat'

... que vois-tu ?



Euh... remplacer quoi précisément ? mplayer... ? ou la totalité ?
Avatar
Nicolas George
Christophe PEREZ , dans le message <jo8ne0$uuf$, a
écrit :
Euh... remplacer quoi précisément ? mplayer... ? ou la totalité ?



Tout toute la commande mplayer, il n'y a que le & final à laisser.
Avatar
Christophe PEREZ
Le Mon, 07 May 2012 16:28:04 +0000, Nicolas George a écrit :

Tout toute la commande mplayer, il n'y a que le & final à laisser.



$ ssh -Y 192.168.0.9 sh -c 'sleep 1; cat' &
[2] 18493
$ sleep: missing operand
Try `sleep --help' for more information.
1 2 3