instalación de linux mjpg-streamer

mjpg-streamer es una aplicación de línea de comandos que puede copiar cuadros JPEG de uno o más complementos de entrada a múltiples complementos de salida.
Se puede usar para transmitir archivos JPEG desde cámaras web a varios tipos de espectadores, como Chrome, Firefox, Cambozola, VLC, mplayer y otro software capaz de recibir transmisiones MJPG a través de una red basada en IP.

Originalmente fue escrito para dispositivos integrados con recursos de CPU y RAM muy limitados. Su predecesor "uvc_streamer" fue creado porque una cámara compatible con Linux-UVC genera directamente datos JPEG, incluso desde un dispositivo integrado que ejecuta OpenWRT, también puede lograr una transmisión M-JPEG rápida y de alto rendimiento. El módulo de entrada "input_uvc.so" captura dichos marcos JPG de la cámara web conectada. mjpg-streamer ahora admite muchos dispositivos de entrada diferentes.

  1. Clonar el código fuente
eric@eric-PC:~/Documents/linux-c$ git clone https://gitee.com/hainan89/mjpg-streamer.git
正克隆到 'mjpg-streamer'...
remote: Enumerating objects: 2902, done.
remote: Counting objects: 100% (2902/2902), done.
remote: Compressing objects: 100% (1030/1030), done.
remote: Total 2902 (delta 1844), reused 2902 (delta 1844), pack-reused 0
接收对象中: 100% (2902/2902), 3.46 MiB | 969.00 KiB/s, 完成.
处理 delta 中: 100% (1844/1844), 完成.

  • Dependencia de instalación libjpeg8-dev, gcc, g ++
eric@eric-PC:~/Documents/linux-c$ sudo apt-get install cmake libjpeg8-dev
eric@eric-PC:~/Documents/linux-c$ sudo apt-get install gcc g++
  • Ingrese mjpg-streamer / mjpg-streamer-experimental, si hace un
    error de solicitud: 'CV_IMWRITE_JPEG_QUALITY' no se declaró en este alcance, luego agregue manualmente el
    archivo de definición : mjpg-streamer / mjpg-streamer-experimental / plugins / input_opencv.cpp
// eric++
#define CV_IMWRITE_JPEG_QUALITY 1
#define CV_IMWRITE_PNG_COMPRESSION 16
#define CV_IMWRITE_PXM_BINARY 32
// eric<<
eric@eric-PC:~/Documents/linux-c/mjpg-streamer/mjpg-streamer-experimental$ ls
cmake           Dockerfile       LICENSE     Makefile         mjpg_streamer.h         plugins         README.md  start.sh  utils.c  www
CMakeLists.txt  docker-start.sh  makedeb.sh  mjpg_streamer.c  [email protected]  postinstall.sh  scripts    TODO      utils.h
eric@eric-PC:~/Documents/linux-c/mjpg-streamer/mjpg-streamer-experimental$ 
eric@eric-PC:~/Documents/linux-c/mjpg-streamer/mjpg-streamer-experimental$ 
eric@eric-PC:~/Documents/linux-c/mjpg-streamer/mjpg-streamer-experimental$ make
...
[100%] Linking C shared library output_udp.so
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
make[3]: 离开目录“/home/eric/Documents/linux-c/mjpg-streamer/mjpg-streamer-experimental/_build”
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
[100%] Built target output_udp
make[2]: 离开目录“/home/eric/Documents/linux-c/mjpg-streamer/mjpg-streamer-experimental/_build”
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
make[1]: 离开目录“/home/eric/Documents/linux-c/mjpg-streamer/mjpg-streamer-experimental/_build”
  • Instalar en pc
eric@eric-PC:~/Documents/linux-c/mjpg-streamer/mjpg-streamer-experimental$ sudo make install
  • Iniciar mjpeg-streamer
eric@eric-PC:~/Documents/linux-c/mjpg-streamer/mjpg-streamer-experimental$ ./start.sh 
MJPG Streamer Version: git rev: 501f6362c5afddcfb41055f97ae484252c85c912
 i: Using V4L2 device.: /dev/video0
 i: Desired Resolution: 640 x 480
 i: Frames Per Second.: -1
 i: Format............: JPEG
 i: TV-Norm...........: DEFAULT
UVCIOC_CTRL_ADD - Error at Pan (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Tilt (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Pan Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Pan/tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_ADD - Error at Focus (absolute): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Pan (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Tilt (relative): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Pan Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Pan/tilt Reset: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Focus (absolute): Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at LED1 Mode: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at LED1 Frequency: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Disable video processing: Inappropriate ioctl for device (25)
UVCIOC_CTRL_MAP - Error at Raw bits per pixel: Inappropriate ioctl for device (25)
 o: www-folder-path......: ./www/
 o: HTTP TCP port........: 8080
 o: HTTP Listen Address..: (null)
 o: username:password....: disabled
 o: commands.............: enabled
 i: select() timeout
 i: cleaning up resources allocated by input thread

  • Prueba: ingrese http: // localhost: 8080 en el navegador
    Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/pyt1234567890/article/details/109559260
Recomendado
Clasificación