Skip to content
Kevin He edited this page Feb 8, 2021 · 15 revisions

mjpg-streamer

Build

$ sudo apt install cmake libjpeg8-dev
$ wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip
$ unzip master.zip
$ cd mjpg-streamer-master/mjpg-streamer-experimental
$ cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .
$ make DESTDIR=~/mjpg-streamer install

Package

$ mkdir -p ~/mjpg-streamer/{DEBIAN,etc/default,lib/systemd/system}
$ touch ~/mjpg-streamer/DEBIAN/control
$ touch ~/mjpg-streamer/etc/default/mjpg-streamer
$ touch ~/mjpg-streamer/lib/systemd/system/mjpg-streamer.service
$ tree -F -L 4 ~/mjpg-streamer/
├── DEBIAN/
│   └── control
├── etc/
│   └── default/
│       └── mjpg-streamer
├── lib/
│   └── systemd/
│       └── system/
│           └── mjpg-streamer.service
└── usr/
    ├── bin/
    │   └── mjpg_streamer*
    ├── lib/
    │   └── mjpg-streamer/
    │       ├── input_file.so
    │       ├── input_http.so
    │       ├── input_raspicam.so
    │       ├── input_uvc.so
    │       ├── output_file.so
    │       ├── output_http.so
    │       ├── output_rtsp.so
    │       └── output_udp.so
    └── share/
        └── mjpg-streamer/
            └── www/

$ sudo chown -R root:root mjpg-streamer
$ dpkg -b mjpg-streamer mjpg-streamer_2.0_armhf.deb

File: control

Package: mjpg-streamer
Version: 2.0
Maintainer: noreply@easypi.pro
Homepage: https://github.com/jacksonliam/mjpg-streamer
Depends: libjpeg8
Architecture: armhf
Priority: extra
Section: utils
Description: A command line application that copies JPEG frames
  from one or more input plugins to multiple output plugins.

File: mjpg-streamer

INPUT_OPTS="input_uvc.so -r 640x480 -d /dev/video0"
OUTPUT_OPTS="output_http.so -p 8080 -w /usr/share/mjpg-streamer/www"

File: mjpg-streamer.service

[Unit]
Description=mjpg-streamer daemon
After=network.target

[Service]
EnvironmentFile=/etc/default/mjpg-streamer
ExecStart=/usr/bin/mjpg_streamer -i ${INPUT_OPTS} -o ${OUTPUT_OPTS}
Restart=always

[Install]
WantedBy=multi-user.target

Install

$ dpkg -i mjpg-streamer_2.0_armhf.deb

$ systemctl start mjpg-streamer
$ systemctl status mjpg-streamer
$ systemctl enable mjpg-streamer

$ mjpg_streamer -i "input_uvc.so -h"
$ mjpg_streamer -o "output_http.so -h"

Camera module

File: /boot/config.txt

gpu_mem=128
start_file=start_x.elf
fixup_file=fixup_x.dat
# disable_camera_led=1

File: /etc/modules-load.d/raspberrypi.conf

snd-bcm2835
bcm2835-v4l2

https://wiki.archlinux.org/index.php/Raspberry_Pi#Raspberry_Pi_camera_module

Clone this wiki locally