Page 1 sur 1

How redirect Motion video stream?

Posté : ven. 23 févr. 2024 05:07
par AnuragTangra
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.

Re: How redirect Motion video stream?

Posté : mer. 20 mars 2024 01:17
par piper
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

Re: How redirect Motion video stream?

Posté : ven. 29 mars 2024 05:15
par HoumirKinkar
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 !

Re: How redirect Motion video stream?

Posté : lun. 14 oct. 2024 18:40
par jpk
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

Re: How redirect Motion video stream?

Posté : lun. 14 oct. 2024 21:18
par piper
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/