How redirect Motion video stream?

Les applications du Raspberry Pi en contrôle d'accès, alarme et vidéosurveillance

Modérateur : Francois

Répondre
AnuragTangra
Messages : 2
Enregistré le : sam. 30 déc. 2023 12:46

How redirect Motion video stream?

Message par AnuragTangra » ven. 23 févr. 2024 05:07

Salut passionnés de la framboise,

Comment rediriger le flux vidéo de Motion sur Raspberry Pi vers une page HTML via Apache2 pour créer une interface modifiable?

Je suis à la recherche d'un guide à jour ou d'une assistance pour intégrer le flux dans mon projet de robot explorateur de canalisation.

Merci pour votre attention et pardonnez les éventuelles fautes d'orthographe.

piper
Modérateur
Messages : 695
Enregistré le : sam. 5 juin 2021 18:57

Re: How redirect Motion video stream?

Message par piper » mer. 20 mars 2024 01:17

Bonjour,
Pas sur de comprendre la question mais motion expose une url de streaming vidéo par caméra.
Vous pourriez voir si vous pouvez les intégrer dans des iframe par exemple.

Je ne connais pas votre objectif final, mais motioneye pourrait vous intéresser.
Il offre une interface intuitive multi caméra avec visualisation pour simple utilisateur et une autre pour administrateur

Image
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

HoumirKinkar

Re: How redirect Motion video stream?

Message par HoumirKinkar » ven. 29 mars 2024 05:15

Salut les amis Raspberry !

Rediriger le flux vidéo de Motion vers une page HTML via Apache2 est une excellente idée pour créer une interface modifiable pour votre robot explorateur de canalisations. Voici un guide étape par étape :

1. Installer Motion et Apache2

Assurez-vous que Motion et Apache2 sont installés sur votre Raspberry Pi :

sudo apt install motion
sudo apt install apache2
2. Configurer Motion

Modifiez le fichier de configuration de Motion /etc/motion/motion.conf. Recherchez les options suivantes et définissez-les comme ceci :

stream_localhost : on
web_port : 8080 (ou un autre port libre)
3. Créer une page HTML

Créez un fichier HTML dans votre dossier web Apache (par exemple /var/www/html/index.html). Ce fichier doit contenir du code JavaScript pour afficher le flux vidéo et ajouter les fonctionnalités que vous souhaitez. Voici un exemple simple :

HTML
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Flux vidéo Motion</title>
</head>
<body>
<h1>Flux vidéo en direct</h1>
<img id="video" src="http://localhost:8080/"/>
<script>
// Code JavaScript pour afficher le flux vidéo et ajouter des fonctionnalités
</script>
</body>
</html>

4. Rediriger le port

Pour que Apache2 puisse utiliser le port 8080, vous devez modifier le fichier de configuration Apache /etc/apache2/apache2.conf. Recherchez la ligne Listen 80 et ajoutez le port 8080 après :

Listen 80
Listen 8080
5. Redémarrer les services

Redémarrez Motion et Apache2 pour que les changements prennent effet :

sudo service motion restart
sudo service apache2 restart
6. Accéder à l'interface

Ouvrez votre navigateur web et tapez l'adresse IP de votre Raspberry Pi suivi du port 8080 (par exemple http://192.168.1.100:8080). Vous devriez voir le flux vidéo de Motion s'afficher dans votre page HTML.

Ressources supplémentaires:

Documentation Motion : https://help.usemotion.com/integrations ... 1/api-docs
Tutoriels Apache2 : https://www.youtube.com/watch?v=1CDxpAzvLKY
Exemples de code JavaScript pour manipuler les flux vidéo : https://www.w3schools.com/js/js_examples.asp
N'hésitez pas à me contacter si vous rencontrez des difficultés ou si vous avez besoin d'aide pour personnaliser votre interface. Bon courage avec votre projet de robot explorateur de canalisations !

jpk
Messages : 3
Enregistré le : lun. 14 oct. 2024 18:05

Re: How redirect Motion video stream?

Message par jpk » lun. 14 oct. 2024 18:40

Merci à HoumirKinkar pour cette mise à l'étrier, simple et efficace.

J'ai bien suivi les instructions et... cela n'a jamais marché : la caméra n'était pas vue sur le Web.

J'ai tout revu, fait, défait, refait, en vain.
Avec "motion" démarré par la commande "sudo service motion start", mon navigateur ne montrait jamais qu'une fenêtre vide avec la mention "UNABLE TO OPEN VIDEO DEVICE SINCE" + date et heure.

Après bien des recherches et essais infructueux, je suis tombé sur la page <https://forums.raspberrypi.com/viewtopic.php?t=365152> qui parle de "libcamerify".

Cherchant encore, j'ai finalement trouvé la page <https://motion-project.github.io/motion_config.html> qui indique :
"The raspberry Pi camera is set up via an application called libcamera. libcamera provides access to the camera as a v4l2 device but this interface is only available when using a special application. Users must run Motion using the command libcamerify motion and then specify the /dev/videoX device in the Motion configuration file."

Avec la commande :
sudo libcamerify motion
tout se passe correctement.

J'ai accès directement au flux vidéo tant avec <http://192.168.178.10:8081/> que avec <http://192.168.178.10:8090/>
Dans le fichier /etc/motion/motion.conf, j'ai :
webcontrol_port 8090
stream_port 8081

--
Model : Raspberry Pi Zero 2 W Rev 1.0
Debian GNU/Linux 12 (bookworm)
Linux RPiZero 6.6.51+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64 GNU/Linux
Modifié en dernier par jpk le mar. 15 oct. 2024 12:15, modifié 2 fois.

piper
Modérateur
Messages : 695
Enregistré le : sam. 5 juin 2021 18:57

Re: How redirect Motion video stream?

Message par piper » lun. 14 oct. 2024 21:18

Bonjour, il existe une autre solution qui évite d'avoir à créer une page web et exploite un hote viruel :

une fois appache installé, mettre en place le module proxy :

Code : Tout sélectionner

sudo a2enmod proxy
sudo a2enmod proxy_http
Optionellement, si vous voulez du https, il faudra aussi le module ssl et créer un certificat:

Code : Tout sélectionner

sudo a2enmod ssl
sudo a2enmod header
Maintenant après avoir redémarré apache pour qu'il prenne tout cela en compte il faut créer un fichier de description de l'hôte virtuel
Ex :
<VirtualHost *:80>
ServerName macam.mondomaine.fr
ServerAdmin monemaom@mondomaine@com
ProxyPreserveHost On
ProxyPass "/" "http://urldestreamfournitparmotioenueye/" #Ex : http://localhost:8081/
ProxyPassReverse "/" "http://urldestreamfournitparmotioenueye/"
ErrorLog logs/error_log
TransferLog logs/access_cam
CustomLog /etc/httpd/logs/access_camcombined env=!local
</VirtualHost>

Avec ceci, la page http://macam.mondomaine.fr affiche le flux provenant de http://urldestreamfournitparmotioenueye/
3 Pi4 : Emby / Samba , Librelec, Android TV
3 Pi3 : Hifiberry /OSMC, Games station, Samba / VPN / HotSpot Wifi
2 Pi2 : RFID, radio reveil (PiReveil)
1 Pi0 : traker GPS et acquisitions
1 Pi0 2W : tests divers
5 Arduinos dont 4 nanos et 1 Mega
1 ESP32

Répondre

Retourner vers « Accès, alarme et vidéosurveillance »