De todo para todos

Camara Usb en servidor RTSP

1. Antecedentes

En comparación con una cámara web, una cámara USB tiene una amplia gama de opciones, muchos tipos y bajo costo. Sin embargo, en el uso real, debe accederse a través de la transmisión rtsp para lograr el efecto de la transmisión en vivo. Los datos de la cámara se convierten a rtsp, a la que pueden acceder varios clientes. Al realizar una investigación relacionada, existen tres métodos de implementación, a saber, ffmpeg (ffserver), vlc y live555. A continuación, presentaremos los métodos de implementación de estos tres métodos en detalle. Finalmente, compare las ventajas y desventajas de los tres métodos. Los lectores pueden elegir el servidor apropiado de acuerdo con sus características. El siguiente proceso de construcción del servidor se implementa en ubuntu 16.04.

2 ffserver

2.1 Principios básicos

Hay algunos conceptos clave para entender

ffserver es responsable de responder a la solicitud de transmisión de medios del cliente y enviar datos de transmisión de medios al cliente.

ffserver.conf, el archivo de configuración cuando se inicia ffserver, en este archivo es principalmente para el protocolo de red, el archivo de caché feed1.ffm y los parámetros de formato del archivo de medios de transmisión que se enviarán para realizar ajustes específicos.

feed1.ffm puede considerarse como un archivo de caché de transmisión de datos multimedia, que se generará automáticamente después de iniciar ffserver. ffmpeg envía los datos transcodificados a ffserver. Si no hay una solicitud de conexión del cliente, ffserver almacena en caché los datos en el archivo.

ffmpeg es responsable de transcodificar archivos multimedia, convirtiendo los archivos multimedia de origen en su servidor en archivos multimedia de transmisión para enviarlos.

Para la introducción de ffserver, puede consultar wiki Introducción, como se muestra en la figura para el principio de ffserver

El proceso general es: enviar los datos de la cámara USB al servidor ffserver a través de ffmpeg, y se accede al dispositivo terminal a través de la dirección rtsp para lograr el efecto del acceso remoto

2.2 Método de instalación

Es muy simple, solo un comando

sudo apt install ffmpeg libx264-dev

2.3 Modificar el archivo de configuración

Abra el archivo de configuración en la terminal

sudo gedit /etc/ffserver.conf

Luego modifique a lo siguiente

HTTPPort 8090 # Número de puerto de enlace
HTTPBindAddress 0.0.0.0 #Binding IP
MaxHTTPConnections 2000 # Número máximo de conexiones HTTP
MaxClients 1000 # Número máximo de conexiones de clientes
MaxBandwidth 1000 # Ancho de banda máximo
CustomLog- # Archivo de registro, -para impresión directa
<Feed feed1.ffm> #feed: crea un feed para cada entrada
Archivo /tmp/feed1.ffm #feed ubicación y nombre del archivo de caché
FileMaxSize 10M # Tamaño máximo del archivo de caché
ACL permite 127.0.0.1 # Permitir escritura para alimentar IP
ACL permite 192.168.0.0 192.168.255.255 # Permitir escritura en el rango de IP del feed
</Feed>
Número de puerto RTSPPort 8554 #rtsp
RTSPBindAddress 0.0.0.0 #rtsp Dirección IP
<Stream live1.h264> #
Formato rtp # Formato de transmisión de video
Feed feed1.ffm # Fuente de transmisión de video
VideoCodec libx264 #
VideoFrameRate 24 # Velocidad de fotogramas de video
VideoBitRate 128 #Video bitrate
VideoBufferSize 100 # Tamaño del búfer de video
VideoSize 640x480 # Tamaño de fotograma de video
VideoQMin 1 #
VideoQMax 31 #
No Audio # No audio
AVPresetVideo default
AVPresetVideo baseline
AVOptionVideo flags +global_header
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>
<Stream stat.html>
Format status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>
<Redirect index.html>
URL http://www.ffmpeg.org/
</Redirect>

Para obtener una introducción específica a ffserver.conf, consulte al funcionarioDescripción del archivo de configuración, Si hay varias cámaras USB, consulte el método de escritura de feed1 y escriba otro archivo de caché

2.4 Iniciar el servicio ffserver

Ejecutar directamente en la terminal

ffserver

2.5 Transmisión de rtsp hacia adelante

ffmpeg -f v4l2 -i /dev/video1  -s 640x480 -r 24 -vcodec libx264 -an http://127.0.0.1:8090/feed1.ffm

Nota: donde / dev / video1 representa el nombre correspondiente de la cámara USB, debe cambiarse de acuerdo con la situación de su dispositivo

2.6 Lectura del cliente

En otro dispositivo terminal, como una computadora con Windows, use el software VLC para abrir la transmisión de red e ingrese la siguiente dirección rtsp para abrir la cámara

rtsp://192.168.xx.xx:8554/live1.h264

Entre ellos, es necesario cambiar la dirección IP anterior a la dirección del servidor

3 vlc

3.1 Principios básicos

El servidor de compilación vlc que se usa aquí no se introduce en muchas publicaciones de blog. Se configura directamente en el software vlc, pero se usa en la línea de comandos, por lo que no es necesario mostrarlo en el lado del servidor, solo es necesario mostrarlo en el lado del cliente .

3.2 Método de instalación

sudo apt-get install vlc

3.3 Método de desvío

cvlc -vvv v4l2:///dev/video1 --sout '#transcode{vcodec=h264,vb=800,acodec=mp4a}:rtp{sdp=rtsp://:8554/live.ts}' -I dummy

entre ellos:

v4l2:// – Video4Linux is the interface to webcams on Linux

/dev/video1 – device number assigned to webcam by Linux

vcodec=h264 video codec

vb=800 – 800 kb/s video bit rate

acodec=mp4a

sdp=rtsp://:8554/ – URL/port advertised by RTSP

3.4 Lectura del cliente

Del mismo modo, en el software VLC en la computadora con Windows, ingrese la siguiente dirección rtsp para abrir la cámara, preste atención para cambiar la dirección IP a la dirección del servidor

rtsp://192.168.xx.xx:8554/live.ts

4 live555

4.1 Descargar live555

enSitio web oficialDescargue el código fuente de código fuente, guárdelo en la carpeta especificada, descomprima

  1. tar xvzf live.20xx.tar.gz
  2. sudo chmod -R 777 live
  3. cd live
  4. sudo ./genMakefiles linux-gdb
  5. sudo make

 

Compilar wuzapi

Cuando deje de funcionar el bot hay que descargar la ultima version, compilar y volver a escanear el QR. Lo

Leer »

Montar USB

primero ver lo que esta conectado y su UUI ID crear directorio donde se montara el usb

Leer »