J'ai deux ordinateurs, un bureau dans mon bureau (avec une webcam connectée) et un ordinateur portable ailleurs sur le réseau.
Habituellement, je jette un œil à mon bureau via ma webcam en exécutant
ssh Office -Y "mplayer tv://device=/dev/video0"
de mon ordinateur portable. Je n'aime pas mplayer Xforwarding, alors pourquoi ne puis-je pas tunneler /dev/video
vers mon PC en exécutant cela sur mon ordinateur portable?
sudo mkfifo /dev/video1
ssh Office 'dd if=/dev/video' | sudo dd of=/dev/video1'
puis regarder la webcam (sur mon portable )
mplayer tv://device=/dev/video1
ssh
video
ssh-tunneling
Stefan
la source
la source
dd if=/dev/video0 | mplayer tv://device=/dev/stdin
cela m'indique que la ressource est occupée. Sinon ça marche (je vois la vidéo) même quand je coursmplayer tv://device=/dev/null
mplayer
seraitmplayer tv:// -tv device=/dev/stdin
ou similaire, mais cela ne fonctionne pas (les périphériques de caractères sont plus spéciaux que ce quidd
peut être géré correctement). Lorsque vous l'exécutez,mplayer tv://device=/dev/stdin
il ne voit pas de spécification d'appareil et retombe donc/dev/video0
directement, donnant l'illusion de "fonctionner". Mais cela ne fonctionnera pas du tout lorsque la webcam et lemplayer
processus sont séparés par le réseau.ssh localhost dd if=/dev/video0 | mplayer tv://device=/dev/stdin
lorsque vous utilisez deux ordinateurs différents?mplayer tv://device=/dev/stdin
à OSX?Si vous avez une faible bande passante, je recommande la compression du flux vidéo:
où
-an
désactive l'encodage audio. Si vous voulez de l'audio, remplacez-le-an
par-f alsa -ac 1 -i hw:3
(où hw: 3 peut également être hw: 0 ou hw: 1,… Voirarecord -l
pour votre appareil). Si vous ne voulez que du son (pas de vidéo), utilisez ceci )-s 640x480
est la taille de votre vidéo en dimension x et y-r 10
est la fréquence d'images que vous souhaitez recevoir (une image plus basse donne de meilleures images à des débits binaires faibles, mais semble plus fade)-b:v 500k
est un débit binaire de 500 kilobits / sVous avez besoin de ffmpeg sur l'hôte distant et de mplayer sur la machine locale installée.
la source
Le projet VideoLAN existe en grande partie pour faire exactement ce que vous désirez.
Je n'ai pas utilisé ses capacités de streaming, mais dans son utilisation sur une seule machine, il s'est avéré solide pour moi.
la source
La réponse acceptée ne fonctionne pas pour moi.
dd
ne le lira tout simplement pas.nc
est mauvais si vous ne pouvez pas épargner un autre port (je n'ai pas réussi à le faire fonctionner de toute façon).cat
n'a pas fonctionné pour moi non plus.Ce qui a fini par fonctionner pour moi, c'est à la réception:
Cela a l'avantage d'être encodé, vous économisez donc de la bande passante en bonus. Rien d'autre sur aucun forum / site Web ne fonctionnait pour moi sur une machine Debian.
Combinez avec tee et vous pouvez regarder et enregistrer en même temps:
Cela ouvrira mplayer pour la diffusion en direct et l'enregistrera dans un fichier contenant la date et l'heure en cours en même temps (exemple de nom de fichier:)
2018-11-22_01-22-10_recording.mkv
.la source
Je ne sais pas s'il y a une raison pour laquelle vous ne pouvez pas le faire, mais un problème que je vois avec votre implémentation est que le système distant recherchera / dev / video1 sur son système, mais ne pourra pas le trouver car vous l'avez créé sur votre système local.
Ce que je ferais est quelque chose le long de ce qui suit
puis essayez quelque chose en lui disant d'aller sur le port TCP 12345 de votre système local.
la source