Tengo dos computadoras, una computadora de escritorio en mi oficina (con una cámara web conectada) y una computadora portátil en otro lugar de la red.
Por lo general, miro mi oficina a través de mi cámara web ejecutando
ssh Office -Y "mplayer tv://device=/dev/video0"
de mi laptop No me gusta Xforwarding mplayer, así que ¿por qué no puedo hacer un túnel /dev/video
a mi PC ejecutando esto en mi computadora portátil?
sudo mkfifo /dev/video1
ssh Office 'dd if=/dev/video' | sudo dd of=/dev/video1'
y luego mirar la cámara web (en mi computadora portátil )
mplayer tv://device=/dev/video1
ssh
video
ssh-tunneling
Stefan
fuente
fuente
dd if=/dev/video0 | mplayer tv://device=/dev/stdin
me dice que el recurso está ocupado. De lo contrario, funciona (veo el video) incluso cuando corromplayer tv://device=/dev/null
mplayer
seríamplayer tv:// -tv device=/dev/stdin
o similar, pero esto no funciona (los dispositivos de caracteres son más especiales de lo quedd
pueden manejarse correctamente). Cuando lo ejecutasmplayer tv://device=/dev/stdin
, no se ve una especificación del dispositivo y, por lo tanto, retrocede/dev/video0
directamente, dando la ilusión de "trabajar". Pero no funcionará en absoluto cuando la cámara y elmplayer
proceso estén separados por la red.ssh localhost dd if=/dev/video0 | mplayer tv://device=/dev/stdin
cuando usa dos computadoras diferentes?mplayer tv://device=/dev/stdin
en OSX?Si tiene un ancho de banda bajo, recomiendo la compresión de la transmisión de video:
dónde
-an
apaga la codificación de audio. Si desea audio, reemplácelo-an
con-f alsa -ac 1 -i hw:3
(donde hw: 3 también podría ser hw: 0 o hw: 1, ... Consultearecord -l
su dispositivo). Si solo desea audio (sin video), use esto )-s 640x480
es el tamaño de tu video en dimensión xey-r 10
es la velocidad de fotogramas que desea recibir (menor hace mejores imágenes a bajas velocidades de bits, pero se ve más irregular)-b:v 500k
es un bitrate de 500 kilobit / sNecesita ffmpeg en el host remoto y mplayer en la máquina local instalada.
fuente
El Proyecto VideoLAN existe en gran parte para hacer exactamente lo que desea.
No he usado sus capacidades de transmisión, pero en su uso con una sola máquina ha demostrado ser muy sólido para mí.
fuente
La respuesta aceptada no funciona para mí.
dd
simplemente no lo leeré.nc
es malo si no puedes ahorrar otro puerto (de todos modos tampoco conseguí que funcionara).cat
tampoco funcionó para mí.Lo que terminó funcionando para mí fue esto en el extremo receptor:
Esto tiene el beneficio de estar codificado, por lo que ahorra ancho de banda como un bono. Nada más en ningún foro / sitio web me funcionaba en una máquina Debian.
Combínalo con tee y podrás ver y grabar al mismo tiempo:
Esto abrirá mplayer para la transmisión en vivo y lo guardará en un archivo que contiene la fecha y hora actual al mismo tiempo (nombre de archivo de ejemplo:)
2018-11-22_01-22-10_recording.mkv
.fuente
No sé si hay alguna razón por la que no puede hacerlo, pero un problema que veo con su implementación es que el sistema remoto buscará / dev / video1 en su sistema, pero no podrá encontrarlo porque lo creaste en tu sistema local.
Lo que haría es algo a lo largo de lo siguiente
y luego intente algo diciéndole que vaya al puerto TCP 12345 de su sistema local.
fuente