This article and memo aims to show how to serve your local cams with protection
Les flux de mes cams sont disponibles si on les active ; on peut les activer pour un durée limitée.
Pour ce faire, avec un navigateur web, entrer l'url suivante en remplacant <aValidCamName> par la caméra voulue.
Remarque : Une authentification basic sera demandée.
Si l'appel a abouti et l'activation se passe bien, ou que la caméra est déjà activée, une réponse json à cet appel indiquera que vous pouvez accéder à la cam.
https://medium.com/@petehouston/protect-media-stream-with-http-basic-authentication-11a753725f05 https://wiki.videolan.org/Documentation:Streaming_HowTo/VLM
Ces trucs fonctionne avec la version 3 de VLC
cvlc -v --sout "#transcode{acodec=mp4a,ab=128,channels=2,samplerate=44100}:std{access=http,mux=ts,dst=:8084/streamSalon}" rtsp://admin:admin@192.168.1.84:554/11
Pour ça on doit ajouter localhost dans la dst :
cvlc -v --sout "#transcode{acodec=mp4a,ab=128,channels=2,samplerate=44100}:std{access=http,mux=ts,dst=localhost:8084/streamSalon}" rtsp://admin:admin@192.168.1.84:554/11
cvlc -v --sout "#transcode{acodec=mp4a,ab=128,channels=2,samplerate=44100}:std{access=http{user=xavier,pwd=free,mime=multipart/x-mixed-replace;boundary=-7b3cc56e5f51db803f790dad720ed50a},mux=ts,dst=:8084/streamChambre1}" rtsp://admin:admin@192.168.1.40:554/12
Ca on ne va pas s'en servir, vu qu'on veut utiliser une base de donnée d'utilisateurs (via apache et htpassword)
<VirtualHost *:80> ... DocumentRoot /var/www ... <Location /cams> #the / has to be there, otherwise Apache startup fails AuthType Basic AuthName "Restricted Files" AuthBasicProvider file # (this line is optional) AuthUserFile "/home/pi/apache.access-control-passwords" # you can change users and passwords with htpasswd utility # example : # htpasswd -c /home/pi/apache.access-control-passwords xavier Require valid-user # or Require user xavier #Satisfy Any # (or all, if IPs specified and require IP + pass) # any means neither ip nor pass ProxyPass "http://localhost:8084/streamSalon" # redirect stream to vlc (that is listening to 8084 port) </Location> <Directory /> ... </Directory> ... </VirtualHost>
apachectl -t
sudo service apache2 restart