GNU/Linux >> Tutoriales Linux >  >> Linux

¿Conexión de dispositivo de video a través de SSH o tcptunnel?

Puedes usar netcat.

cat /dev/video0 | nc -l 1234

Esto abrirá un servidor en un host escuchando en el puerto 1234 y enviar datos sin comprimir y sin cifrar desde /dev/video0 a cualquier cliente que se conecte. Puede recibir los datos en otro host invocando:

nc videohost 1234 | mplayer tv://device=/dev/stdin

donde videohost es el host que envía datos desde /dev/video0 .


La solución netcat no funcionó para mí. Muestra un error de tubería o cat informando Invalid input .

Esta es la única solución que funcionó para mí:

ssh [email protected] "ffmpeg  -r 14 -s 640x480 -f video4linux2 -i /dev/video0 -f matroska -" | mplayer - -idle

Esto tiene la ventaja de que está codificado, por lo que ahorra ancho de banda como bonificación.

Combínalo con tee y podrás mirar y grabar al mismo tiempo:

ssh [email protected] "ffmpeg  -r 14 -s 640x480 -f video4linux2 -i /dev/video0 -f matroska -" | tee $(date +%Y-%m-%d_%H-%M-%S)_recording.mkv | mplayer - -idle

Esto abrirá mplayer para transmisión en vivo y lo guardará en un archivo que contenga la fecha y hora actual al mismo tiempo (nombre de archivo de ejemplo:2018-11-22_01-22-10_recording.mkv ).

Reemplazar -f matroska con -f avi para usar el formato avi más comprimido. Esto ahorrará una gran cantidad de recursos de la CPU en la fuente y una gran cantidad de ancho de banda para una experiencia más libre de demoras.


Te aconsejaría seriamente contra esto. Recientemente intenté transmitir videos avi a través de un acceso a archivos ssh:// y es doloroso. Debe recordar que el video se cifra y luego se descifra durante este proceso.

Si su computadora no puede comprimir la transmisión, ciertamente no podrá cifrarla.

Realmente desea tener un túnel tcp para los datos sin procesar:

http://www.vakuumverpackt.de/tcptunnel/


Linux
  1. Linux:¿Diferencia entre /dev/console, /dev/tty y /dev/tty0?

  2. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  3. ¿Cuándo usar /dev/random Vs /dev/urandom?

  4. Linux – /dev/xvde1?

  5. ¿Usar un dispositivo a través de SSH?

Linux:diferencia entre /dev/console, /dev/tty y /dev/tty0

kernel:deshabilitar /dev/kmem y /dev/mem

¿Está mal vincular /dev/random a /dev/urandom en Linux?

¿Para qué se usa `/dev/console`?

Crear un dispositivo de bloque virtual que escriba en /dev/null

Diferencias entre /dev/sda y /dev/sda1