Outils pour utilisateurs

Outils du site


pcp:selfilm

Projet Selfilm dans le cadre de la streetsession de Saint-Nazaire

Ce projet initié par Ollivier Moreels consiste en gros à une personne de se filmer dans une salle sous 3 plans différents sur des durées de 30s et de visionner le résultat parmi un mixage réalisé à distance dans une autre salle.

Il y a 3 caméras vidéo pilotées par des Raspberry Pi et 1 PC sous APODIO qui fait le mixage grace à un patch PD ( réalisé par Romain Papion APO33 )

Installation de Raspberry Pi

On peu le faire de façon classique avec une raspbian à jour, nous n'aurons pas besoin de grand chose pour cette partie caméra vidéo.

http://downloads.raspberrypi.org/raspbian_latest.torrent

Pistes :

Je vous laisse trouver comment mettre l'image sur une SD genre, une fois décompressée

dd if=2014-06-20-wheezy-raspbian.Dd of=/dev/sdc bs=4M

Pensez a faire :

  • une mise a jour du tout :
    apt-get update
  • raspi-config pour déclarer le module camera

dépendances

Suivre http://www.epingle.info/?p=2756 pour l'installation de la caméra et http://www.framboise314.fr/une-camera-de-surveillance-video-avec-le-raspberry-pi/ de http://www.raspberrypi.org/forums/viewtopic.php?p=377587

cd /tmp
sudo apt-get install -y libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev lftp
wget https://www.dropbox.com/s/xdfcxm5hu71s97d/motion-mmal.tar.gz

pour l'installation de motion pour raspberry, nous n'exploiterons QUE la partie détection , raspivid faisant lui l'enregistrement.

ainsi /etc/motion-mmalcam.conf a été modifié: motion-mmalcam.conf.txt pour sortir dès que quelque chose bouge.

2 scripts:

1 /etc/rc.local Il est utilisé au lancement de la raspberry et lance a son tour le script vidéo

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi
ifconfig eth0:1 192.168.1.34
# pin 11 = GPIO17
su root -c "echo 17 > /sys/class/gpio/export" 
su root -c "echo out > /sys/class/gpio/gpio17/direction"
su root -c "/usr/local/bin/streetcapture cam1 10000 192.168.1.232 ubuntu ubuntu &"
exit 0

2 /usr/local/bin/streetsession C'est lui qui en boucle

  1. détecte grace à motion
  2. enregistre les vidéo grace à raspivid
  3. les transfert par ltfp
#!/bin/bash
# streetcapture CAM PRISE IP user pass
# programme de transfert automatique de video
# le programme boucle
# le programme motion detecte un mouvement et sort
# la led s'allume
# raspivid prend PRISE secondes de video
# la led s'éteind
# la video est transmise
#
# set -x # mode debug
#
# ménage
cd /tmp
rm -f motion.log
killall -9 motion
killall -9 raspivid
killall -9 lftp
# PARAMETRES
# declaration directe des GPIO
# pin 11 = GPIO17 deja configuree par /etc/rc.local
#echo 17 > /sys/class/gpio/export # une seule fois
#echo out > /sys/class/gpio/gpio17/direction

# CAM : Nom du compteur vidéo
if [ -n "$1" ]
then
        CAM=$1
else
        CAM="cam1"
fi
# PRISE : durée de la prise de vue en miliseconde
if [ -n "$2" ]
then
        PRISE=$2
else
        PRISE=10000
fi
#IP USER PASS : IP distante user et password de transfert lftp
if [ -n "$3" -a -n "$4" -a -n "$5" ]
then
        IP_DISTANTE=$3
        USER_DISTANT=$4
        PASSWORD=$5
else
        IP_DISTANTE=192.168.1.199
        USER_DISTANT=ubuntu
        PASSWORD=ubuntu
fi
# existante d'un ancien compteur
if [ -f /tmp/compteur ]
        then
        CPT=`cat /tmp/compteur`
else
        CPT=0
fi

# test présence caméra, attente de 6s obligatoire
cd /tmp
raspistill -o test.jpg &
sleep 6
if [ -s test.jpg ]
then
# ok détection
# boucle infinie
        while true
        do
                # détection par motion
                # motion sort dès la détection de mouvement
                motion -c /etc/motion-mmalcam.conf
                CPT=`expr $CPT + 1`
                # sauv de CPT
                echo "$CPT" > /tmp/compteur
                # LED allumée
                echo 1 > /sys/class/gpio/gpio17/value
                #
                raspivid -t $PRISE -o /tmp/video.h264
                # LED éteinte
                echo 0 > /sys/class/gpio/gpio17/value
                # transcodage h264 en mpeg4
                VIDEO=$CAM"_"$CPT".mp4"
                MP4Box -fps 24 -add video.h264 $VIDEO
                # transfert par lftp
                lftp sftp://$USER_DISTANT:$PASSWORD@$IP_DISTANTE -e "\
kill all; \
cd /tmp; \
put $VIDEO; \
bye"
                # on ne garde pas la vidéo
                rm -f $VIDEO
        done
fi
# FIN
exit 0

Au final : streetsession.tgz

Pour un futur :

Python piste http://picamera.readthedocs.org/en/latest/quickstart.html

pcp/selfilm.txt · Dernière modification : 2024/02/09 17:10 de 127.0.0.1