Thursday 8 May 2014

RaPi Camera video streaming



We need

Raspberry Pi with ArchLinux and configured RaPi Camera.



Compile and run mjpg-streamer

install packages:
# pacman -Sy git gcc make cmake libjpeg-turbo

download and compile mjpg-streamer:
# cd /opt
# mkdir mjpg-streamer
# git clone https://github.com/jacksonliam/mjpg-streamer.git ./mjpg-streamer
# cd mjpg-streamer/mjpg-streamer-experimental
# make clean all
create run.sh file:
#!/bin/bash
LD_LIBRARY_PATH=/opt/mjpg-streamer/mjpg-streamer-experimental/ /opt/mjpg-streamer/mjpg-streamer-experimental/mjpg_streamer -i "input_
raspicam.so -fps 15 -q 50 -x 640 -y 480" -o "output_http.so -p 9000 -w /opt/mjpg-streamer/mjpg-streamer-experimental/www" &
add execution privileges:
# chmod +x run.sh

streaming test:
# ./run.sh
Camera LED should light up. Open in http browser url http://you_raspberry_address:9000/stream.html

We should see something like:




Autorun streaming  script

Create file /etc/systemd/system/mjpg-streamer.service:
[Unit]
Description=mjpg-streamer for robot
[Install]
WantedBy=multi-user.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/opt/mjpg-streamer/mjpg-streamer-experimental/run.sh
WorkingDirectory=
/opt/mjpg-streamer/mjpg-streamer-experimental
and call commands:
#systemctl start mjpg-streamer
#systemctl enable mjpg-streamer


Final test

Reboot Raspberry and call in browser http://you_raspberry_address:9000/stream.html



links:
http://www.miguelmota.com/blog/raspberry-pi-camera-board-video-streaming/
http://blog.miguelgrinberg.com/post/stream-video-from-the-raspberry-pi-camera-to-web-browsers-even-on-ios-and-android/page/2
http://blog.miguelgrinberg.com/post/how-to-build-and-run-mjpg-streamer-on-the-raspberry-pi
https://wiki.archlinux.org/index.php/Systemd
http://grammarofdev.blogspot.com/2013/11/autorun-startup-script-on-raspberry-pi.html


2 comments:

  1. Hello. Did you ever get this to work? I cannot get the systemd service to run whatsoever

    ReplyDelete
    Replies
    1. This was my mistake. It should be two commands:
      #systemctl start mjpg-streamer
      #systemctl enable mjpg-streamer
      (previously it was written: #systemctl enable mjpg-streaming)

      Delete

Note: only a member of this blog may post a comment.