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.
How redirect Motion video stream?
Modérateur : Francois
-
- Messages : 2
- Enregistré le : sam. 30 déc. 2023 12:46
Re: How redirect Motion video stream?
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
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
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
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
Re: How redirect Motion video stream?
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 !
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?
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
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.
Re: How redirect Motion video stream?
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 :
Optionellement, si vous voulez du https, il faudra aussi le module ssl et créer un certificat:
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/
une fois appache installé, mettre en place le module proxy :
Code : Tout sélectionner
sudo a2enmod proxy
sudo a2enmod proxy_http
Code : Tout sélectionner
sudo a2enmod ssl
sudo a2enmod header
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
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