Publié
Commentaires Aucun

Comment créer une vidéo accélérée (ou ralentie) de son écran

timelapse.jpg

Avec le développement des outils de vidéo et des réseaux sociaux, il est parfois utile ou nécessaire à fin de démonstration, de réaliser une vidéo accélérée des différentes manipulations effectuées sur son bureau de PC, pour illustrer une méthode, ou pour montrer la quantité de travail effectuée

Ainsi, il est fréquent, et souvent étonnant, de voir en accéléré les étapes de travail d’un projet
Par exemple :

  • la création d’une image avec un outils de dessin
  • la retouche d’image
  • la conception d’une pièce en 3D

Avec Linux rien de plus simple pour obtenir ce genre de vidéo, une simple de ligne de commande suffit
Pour Windows ou Mac, suivez le lien en bas d’article

installer.jpg

Commencez par installer ffmpeg si vous ne l’avez pas déjà

 sudo apt-get install ffmpeg

Vous pouvez maintenant lancer l’enregistrement vidéo de votre bureau avec cette commande tapée depuis une console:

ffmpeg -framerate 5 -f x11grab -s 1920,1080 -i :0.0+0,0 -vf settb=\(1/30\),setpts=N/TB/30 -r 30 -vcodec libx264 -crf 0 -preset ultrafast -threads 0 /home/toto/Téléchargements/test.mp4

  • Frame rate indique le nombre d’images à enregistrer par seconde. Plus ce chiffre est petit, plus la vidéo est accélérée.A noter qu’un frame rate de 25 enregistre la video à la vitesse de 25 images par secondes, ce qui une vidéo ni accélérée ni ralentie (une valeur supérieure à 25 sera lue au ralenti)
  • -s 1920,1080 défini la définition (et le ratio) de la vidéo. l’intégralité du bureau est enregistrée si vous choisissez ici la même définition que celle de l’écran, si vous choisissez une définition inférieure, seule la partie du bureau correspondante sera enregistrée
  • -i :0.0+0,0 permet de définir l’emplacement du coin supérieur gauche. Ainsi -i :0.0+100,200 enregistre le bureau en partant des coordonnées x=100, y=200
  • -crf 0 choisit x264 pour encoder sans perte
  • -preset ultrafast pour utiliser le mode rapide
  • Pour ajouter l’audio avec alsa ajoutez : -f alsa -ac 2
  • Pour ajouter l’audio avec pulse ajoutez : -f pulse -ac 2
  • -vcodec defini le type de codec vidéo employé. il est possible de lister tous les codecs disponibles, avec la commande : ffmpeg -vcodecs

Par exemple

ffmpeg  -codecs | grep libx
DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_crystalhd h264_v4l2m2m ) (encoders: libx264 libx264rgb h264_omx h264_v4l2m2m h264_vaapi )
 DEV.L. hevc                 H.265 / HEVC (High Efficiency Video Coding) (decoders: hevc hevc_v4l2m2m ) (encoders: libx265 hevc_v4l2m2m hevc_vaapi )
 DEV.L. mpeg4                MPEG-4 part 2 (decoders: mpeg4 mpeg4_crystalhd mpeg4_v4l2m2m ) (encoders: mpeg4 libxvid mpeg4_v4l2m2m )

  • /home/toto/Téléchargements/test.mp4 indique le chemin, le nom et le format du fichier de sortie

N’oubliez pas d’appuyer sur q pour arrêter l’enregistrement ou de faire controle+c à la fin de l’enregistrement

info.jpg

Vous pouvez ensuite réduire la taille du fichier vidéo obtenu sans perte de qualité notable en exécutant la commande suivante

ffmpeg -i /home/toto/Téléchargements/test.mp4 -c:v libx264 -crf 0 -preset veryslow /home/toto/Téléchargements/test2.mp4

info.png

Vous trouverez en anglais plus de détail et les infos pour les autres systèmes d’exploitation sur la page de ffmpeg

Auteur

Publié
Commentaires Aucun

3D à partir d’une image

3D.jpg

Dans la conception des pièces 3D, Freecad est assez puissant
il est disponible pour Windows et Linux, il permet de concevoir des objets en mode paramétrique

Une des possibilité est de pouvoir générer une pièce 3D à partir d’un modèle 2D et notamment des photos ou images

FreeCad n’accepte que les images au format SVG pour pouvoir générer directement la forme de la pièce sans dessiner.

Le script ci-dessous permet de convertir automatiquement une image SVG à partir d’un image PNG

#!/bin/bash

File_png="${1?:Usage: $0 file.png}"

if [[ ! -s "$File_png" ]]; then
  echo >&2 "Le premier argument ($File_png)"
  echo >&2 "doit avoir une taille superieure à zero"
  ( set -x ; ls -s "$File_png" )
  exit 1
fi

File="${File_png%.*}"

convert "$File_png" "$File.pnm"        # PNG to PNM
potrace "$File.pnm" -s -o "$File.svg"  # PNM to SVG
rm "$File.pnm"

Une fois l’image convertie, il est possible de l’éditer avec Inkscape pour la retravailler

svg.jpg

et produit la pièce en 3D avec freecad

freecad.jpg

Auteur

Publié
Commentaires Aucun

HandBrake un transcodeur open source multiplate-formes.

video1.pnp

le problème que l’on rencontre avec les miniPC ou les tablettes, c’est la puissance disponible pour faire par exemple de la vidéo

Il n’est pas souvent possible de lire les vidéos réalisées avec les action cams en 4K ou 2.5K (image figée avec vlc ou mplayer ou n’importe quel autre logiciel)

Je me demandais alors, comment pouvoir en vacances visionner les vidéos réalisées la journée et je me demandais également comment réduire la taille des vidéos pour pouvoir les envoyer sur le web ou sur les périphériques Android ou Apple, sans passer par une usine à gaz

hard_work.png

Bien sur, il existe de nombreux outils sur le marché, mais soit il faut une machine puissante pour les utiliser et il est difficile d’automatiser la conversion de nombreux fichiers

J’ai donc décidé d’utiliser Handbrake (https://fr.wikipedia.org/wiki/HandBrake)

Il est possible de le télécharger en différentes versions graphiques:

Pour Windows et Linux

https://handbrake.fr/

et en version ligne de commande (sans interface)

https://handbrake.fr/downloads2.php

Nous allons ici traiter uniquement de l’utilisation en ligne de commande

Installation :

apt-get install handbrake-cli

Lister tous les modes disponibles

HandBrakeCLI --preset-list

Exemple d’utilisation pour convertir un fichier 4K vers HD

Linux

HandBrakeCLI -i /media/toto/mes_videos/YI080901.MP4 -o /media/toto/OS/mes_videos/YI080901a.MP4 --preset="H.264 MKV 1080p30"

Pour convertir automatiquement toutes les vidéos mp4 d’un répertoire vers le 1080p

#! /bin/bash
find $(pwd) -iname "*.mp4" -type f -maxdepth 1 -exec HandBrakeCLI -i {} -o {}_1080.mp4 --preset="Very Fast 1080p30" \;

Windows

Pour convertir automatiquement toutes les vidéos mp4 d’un répertoire vers le 1080p en powershell

Get-ChildItem -path *.mp4 | ForEach-Object{
$in = $_.DirectoryName + "\" + $_.Name
$out = $_.DirectoryName + "\1080_" + $_.Name
C:\utils\handbrake\HandBrakeCLI.exe  -i $in -o $out --preset="Very Fast 1080p30"
}

Vous noterez que dans l’article wikipedia, il est en autre indiqué que HandBrake propose des réglages préenregistrés pour faciliter son utilisation. Il en existe douze.

Appareils :

   Universel
    iPod
    iPhone & iPod touch
    iPad
    Apple TV
    Apple TV 2
    Apple TV 3
    Android
    Tablette Android
    Windows Phone 8

Régulier :

    Normal
    Profil haut (High Profile en anglais)

Et voila, une fois votre conversion effectuée, il est désormais possible de visualiser ces vidéos sur un PC peu puissant tout en ayant gardé une copie originale que l’on poura utiliser de retour à la maison

Auteur

Publié
Commentaires Aucun

Comment se protéger contre les attaques force brute sur les accès SSH

Si vous avez commencé à utiliser un serveur Linux, pour votre cloud personnel, votre serveur web, votre serveur de messagerie ou bien d’autres usages, vous avez logiquement besoin d’accéder à distance pour faire la maintenance de ce serveur.

hack

Pour avoir la main sur le serveur il est nécessaire de se connecter en ssh en autres.

Le problème, c’est que dès que votre serveur expose le port 22 sur internet, il devient immédiatement la cible des robots qui vont chercher à se connecter en root en essayant de nombreux mots de passe.

En général on appelle cela une attaque par force brute. Le serveur distant va essayer de nombreux mots de passe tirés de dictionnaires. Peut importe le temps qu’il faut, il y a une chance réelle qu’un des mots de passe essayé finisse par correspondre à celui du compte root.

Quelques fois également, ils vont essayer des comptes utilisés fréquemment
Ci dessous les logins le plus souvent testés :

  root (58%),test (1%),oracle (< 1%),admin,info,user,postgres,mysql,backup,guest,web,tomcat,michael,r00t,upload,alex,sales,linux,bin,ftp,support,temp,nagios,user1,www,test1,nobody

Nous allons voir ci dessous les quelques précautions de base à prendre

Utiliser un mot de passe complexe pour tous les comptes

password.jpg

Un utilitaire existe pour générer des mot de passe aléatoires, il s’agit de pwgen

sudo apt-get install pwgen

On lance ensuite l’utilitaire

joel@monserveur:~$ pwgen
aiRohJ8u Iuc1ohqu hoovei0S lah3Teey aepheiS6 Kaequ4ei See1eeSe utoad3Pe
OoTie2zu pohx0oDu Eeng0Ieh euSh3coh quiqu0At wa5Eim0k FooRoin4 ioPaeQu2
......
......
de2Voiqu nieHaiN1 thu1Sai8 Ac9aiFuc zee3Sa8n Ahh2nei1 GeaB5li1 ied6Pheh
roh4haeJ oha2Oexi eiDah6uj eT4die8r gaVoof3h Aiy8gohr ooj4Thei wahye3Mo

Il ne reste plus qu’a choisir

J’ai pour habitude d’assembler 2 ou 3 mots de passe pour avoir un mot de passe plutôt fort

ewioy9Iuaec6Ain6

Interdire la connexion avec le compte root depuis un accès externe

no root

La configuration ssh permet de bloquer un accès avec un accès distant et de n’autoriser la connexion root qu’avec une console locale (écran clavier souris)

Pour cela il suffit de modifier le fichier de configuration /etc/ssh/sshd_config

nano /etc/ssh/sshd_config

Modifier la ligne : PermitRootLogin yes
Remplacer par : PermitRootLogin no
Et relancer le service

service ssh restart

Attention Avant de procéder à cette manipulation, vous devez avoir la possibilité de vous connecter en console ou bien vous devez avoir un compte personnel sur la machine avec les droits root. En effet à partir du moment ou vous appliquez cette modification, il n’est plus possible d’ouvrir une session root en ssh à distance

Modifier le port d’écoute

ecoute.jpg

Si vous pouvez accéder à votre serveur sur n’importe quel port, alors vous pouvez changer le port d’écoute du serveur ssh
Les robots ne chercherons pas à parcourir tous les ports du serveurs pour deviner quel port supporte le ssh

Attention si vous êtes derrière un pare-feu, il faut vérifier que le port choisi est bien autorisé

Il suffit de modifier le fichier de configuration /etc/ssh/sshd_config

nano /etc/ssh/sshd_config

Modifier la ligne suivante :
Port 22
avec par exemple
port 5687

Relancer le service

service ssh restart

Maintenant pour accéder à votre machine toto.com en ssh avec le compte marcel il faut entrer la commande

ssh -p 5687 marcel@toto.com 

Bloquer les accès réseau des indésirables

lock.jpg

Malgré toutes ces précautions, les robots vont quand même attaquer votre serveur

Mar 18 10:18:48 toto.com kernel: [141894.007510] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:3e:b1:40:00:2f:06:9b:03 SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=16049 DF PROTO=TCP SPT=62572 D$
Mar 18 10:18:51 toto.com kernel: [141897.013287] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:3e:b3:40:00:2f:06:9b:01 SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=16051 DF PROTO=TCP SPT=62572 D$
Mar 18 10:19:17 toto.com kernel: [141923.716181] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:8a:55:40:00:2f:06:4f:5f SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=35413 DF PROTO=TCP SPT=62402 D$
Mar 18 10:19:19 toto.com kernel: [141925.719974] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:8a:56:40:00:2f:06:4f:5e SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=35414 DF PROTO=TCP SPT=62402 D$
Mar 18 10:19:24 toto.com kernel: [141930.724185] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:a5:73:40:00:2f:06:34:41 SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=42355 DF PROTO=TCP SPT=45927 D$
Mar 18 10:19:26 toto.com kernel: [141932.725306] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:26:34:40:00:2f:06:b3:80 SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=9780 DF PROTO=TCP SPT=30034 DP$
Mar 18 10:19:27 toto.com kernel: [141933.724528] Anti SSH-Bruteforce : IN=eth0 OUT= MAC=b8:27:eb:59:d1:9b:00:24:d4:aa:a2:8d:08:00:45:00:00:3c:26:35:40:00:2f:06:b3:7f SRC=123.183.209.137 DST=108.95.32.25 LEN=60 TOS=0x00 PREC=0x00 TTL=47 ID=9781 DF PROTO=TCP SPT=30034 DP$

On va donc utiliser iptables comme firewall et commencer par bloquer toute tentative de connexion en ssh qui se répète plus de 5 fois en 5 minutes

Si vous vous connectez à votre serveur vous avez donc droit à 5 tentatives par tranches de 5 minutes(réussies ou ratées)

A partir de la 6eme tentative chacune de vos connexions sera rejetée et il faut attendre 5 minutes avant que le compteur repasse à zéro

On ajoute les règles dans iptables et on ajoute une règle de log qui permettra de surveiller les rejets

iptables -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --set
iptables -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --update --seconds 300 --hitcount 5 -j LOG --log-prefix "Anti SSH-Bruteforce : "
iptables -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --update --seconds 300 --hitcount 5 -j DROP

—seconds 300 —hitcount 5
Pour 300 secondes et 5 tentatives, vous pouvez adapter ces valeurs pour vos besoins

Maintenant on va compter quelles sont les adresses IP source qui tentent d’accéder à votre serveur et on va les bloquer définitivement.

On recherche dans les logs les lignes qui contiennent le motif que l’on a défini (Anti SSH-Bruteforce : ), et on compte le nombre de tentatives
On va donc rapidement identifier les adresses des robots

cat /var/log/syslog | grep "SSH-Bruteforce" | awk '{ print  $13 }' | awk -F "=" '{ print  $2 }' | sort | uniq -c |less

123.183.209.137 2092
123.31.34.44 1
193.201.224.199 30
58.218.199.145 1033
85.105.15.13 7

On cherche maintenant à qui appartient l’adresse 58.218.199.145 qui à été bannie 1033 fois en 2 heures

whois 58.218.199.145
% [whois.apnic.net]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

% Information related to '58.208.0.0 - 58.223.255.255'

inetnum:        58.208.0.0 - 58.223.255.255
netname:        CHINANET-JS
descr:          CHINANET jiangsu province network

Je n’utilise pas d’adresses venant de chine pour me connecter à mon serveur, donc j’enlève tout le range d’adresses

iptables -A INPUT -i eth0  --source 58.208.0.0/16 -j DROP

le script final

### BEGIN INIT INFO
# Provides:          skeleton
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Configuration Iptables
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO

#!/bin/sh
# /etc/init.d/firewall
# chkconfig: 3 21 91
# description: Firewall

IPT=/sbin/iptables

case "$1" in
start)
$IPT -N LOGGING
$IPT -A INPUT -j LOGGING

#blocage
# China Telecom
$IPT -A INPUT -i eth0  --source 123.180.0.0/16 -j DROP
$IPT -A INPUT -i eth0  --source 123.183.0.0/16 -j DROP

$IPT -A INPUT -i eth0  --source 116.31.116.47 -j DROP
$IPT -A INPUT -i eth0  --source 146.148.51.164 -j DROP
$IPT -A INPUT -i eth0  --source 163.172.119.99 -j DROP

# blocage si plus de 4 connections en 5 minutes
$IPT -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --set
$IPT -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --update --seconds 300 --hitcount 4 -j LOG --log-prefix "Anti SSH-Bruteforce : "
$IPT -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent  --update --seconds 300 --hitcount 4 -j DROP
#$IPT -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4

exit 0
;;

stop)
$IPT -F
$IPT --table nat --flush
i="LOGGING";
$IPT -F $i && $IPT -Z $i && $IPT -X $i

exit 0
;;

*)
echo "Usage: /etc/init.d/firewall {start|stop}"
exit 1
;;
esac

exit 0

### END INIT INFO

Pour que le script se lance automatiquement à chaque démarrage, il faut l’enregistrer dans /etc/init.d/
et il faut le rendre exécutable

chmod 700 /etc/init.d/firewall

et l’ajouter en lancement automatique au démarrage ou au reboot

update-rc.d firewall defaults

Si vous voulez l’effacer du démarrage automatique

update-rc.d -f firewall remove
 

Auteur

Publié
Commentaires Aucun

Enregistrer et historiser le flux vidéo de sa camera de surveillance IP

Il est très facile et courant de s’équiper d’une camera de surveillance aujourd’hui.
De nombreux appareils sont disponibles sur le marché, pour l’intérieur et pour l’extérieur
Cela va de la camera IP premier prix jusqu’à des appareils pilotables avec d’excellentes définitions d’image

mesure.jpg

La sécurité est bien souvent avancée comme argument, mais on s’aperçoit rapidement que cela se limite à l’envoi d’un e mail lors de la détection de mouvement dans l’image.

Et justement le mouvement dans l’image est bien souvent un arbre qui bouge avec le vent ou un pigeon qui passe

Quelques cameras sont équipée d’une carte SD pour l’enregistrement, mais bien souvent le format est propriétaire,il est peu aisé de récupérer les fichier ainsi stockés.
D’autre part il est facile de vandaliser la camera si elle est placée à l’extérieur de la maison et donc de casser la caméra ou/et dérober les vidéos (SD) qui pourraient identifier les malfrats

Dans le cas d’une camera IP, il est généralement facile de récupérer la vidéo en live en écoutant le flux IP

Comme les micro-PC comme le Raspberry ainsi que les supports de stockage sont facilement disponibles et pour des sommes assez dérisoires, nous allons voir ci-dessous comment facilement installer un serveur de vidéo qui va enregistrer les flux de cameras IP en continu avec plusieurs jours d’historique, et les rendre disponibles sur le réseau de la maison.

De quoi allons nous avoir besoin ?

  • Un serveur (comme on parle souvent de Raspberry pourquoi ne pas l’utiliser)
  • un support de stockage (clé USB, carte SD avec adaptateur, disque dur USB, etc.)
  • Une caméra IP

Comment fait on ?

code.jpg

Dans la suite de l’article, on considère que vous avez un serveur de type raspberry avec une version linux comme système d’exploitation. Les explications sont basées sur cet équipement

IP du Raspberry 192.168.1.10
IP de la caméra 192.168.1.250

Pour monter se serveur d’enregistrement vidéo, nous allons commencer par installer les différents packages qui vont nous servir

code.jpg

  • installation de VLC pour enregistrer
sudo apt-get install vlc 

Test d’enregistrement

  • on teste maintenant l’enregistrement du flux vidéo de la caméra. Vous noterez qu’il n’est pas nécessaire d’avoir un système Linux avec interface graphique ouverte
cvlc rtsp://utilisateur:mot de passe@192.168.1.250:8001 --no-sout-audio --start-time=00 --run-time=300 --sout file/ts:/home/utilisateur/test.ts

cvlc lance vlc en mode console
rtsp://utilisateur:mot de passe@192.168.1.250:8001 Rtsp est le protocole, suivi du nom d’utilisateur et du mot de passe pour accéder à la caméra, puis l’adresse IP et le port utilisés par la camera
—no-sout-audio Peu de caméras sont équipées de son, donc on ne l’ajoute pas dans l’enregistrement
—start-time=00 On démarre immédiatement (00)
—run-time=300 On enregistre pendant 5 min (300 secondes)
—sout file/ts:/home/utilisateur/test.ts On sauvegarde le fichier vidéo

Installation et partage du stockage

  • On branche le périphérique de stockage dans un port USB
  • On crée la table de partition avec cfdisk ou fdisk
  • On formate. Pour des raisons d’efficacité, je formate en ext4 et partage en NFS, mais vous pouvez formater en vfat et partager en CIFS pour exploiter avec un client Windows
mkfs.ext4 /dev/sda1
  • On crée un point de montage pour ce périphérique
mkdir /dev/sda1 /mnt/cam-usb/
  • On modifie le fichier fstab pour que le périphérique soit automatiquement monté au démarrage du serveur en ajoutant cette commande à la fin du fichier :
/dev/sda1 /mnt/usb1/            ext4    defaults,noatime  0       0
  • On relance
mount -a 
  • installation du package nfs-serveur qui va permettre aux clients de monter le répertoire des vidéos
apt-get install nfs-kernel-server
  • Éventuellement
apt-get install rpcbind
  • Ajouter la ligne suivante dans /etc/exports

/mnt/usb1/ 192.168.1.0/24(rw,all_squash,anonuid=1000,anongid=1000,sync,no_subtree_check)

  • puis
service restart nfs-kernel-server
  • relancer :
exportfs ra
  • Verifier que le partage nfs existe
showmount -e
Export list for rpi:
/mnt/usb1 192.168.1.0/24

  • On peut maintenant monter le partage sur le client (votre PC) :

sudo mount 192.168.1.10:/mnt/cam-usb/ /mnt/tmp/

Il est aussi possible de monter son partage en CIFS pour pouvoir facilement y accéder avec une machine Windows

Pour cela éditer le fichier /etc/samba/smb.conf et ajoutez y les lignes suivantes

[Camera]
comment = Partage Samba sur Raspberry Pi
path = /mnt/usb1/
writable = yes
guest ok = yes
guest only = yes
create mode = 0777
directory mode = 0777
share modes = yes

en considérant que votre point de montage pour votre disque dur soit : /mnt/usb1/

Puis en lançant :

service smbd restart

Vous trouverez sur internet de nombreux tutoriels pour installer et utiliser samba
Par exemple : https://constantsandvariables.space/linux/configurer-un-partage-samba-sur-ubuntu-14/

Automatisation de l’enregistrement automat.jpg

Maintenant que tout est installé, on va créer un script qui va enregistrer toutes les heures pour une durée d’une heure, et qui va maintenir un historique de 48 heures

nano /home/cajj/reccam.sh

Pour ma part le format de la caméra est 1280×720 et l’enregistrement sur 2 jours, donne une taille occupée de 25G sur le périphérique

Copiez le texte ci-dessous dans l’éditeur nano en l’adaptant avec vos paramètres (IP, port, répertoires, etc.)

# cajj.co (2016) enregistrement du flux vidéo de la caméra par cycle d'une heure

#!/bin/bash

#initialisation
marque=$(date +%Y%m%d-%H%M)

#purge des fichiers vidéos plus vieux que 48 heures
find /mnt/usb1/ -name "*video*"  -ctime +1 | xargs rm -rf

cvlc rtsp://root:toto@192.168.1.250:8001  --start-time=00 --run-time=3600 --no-sout-audio --sout file/ts:/mnt/usb1/video-${marque}.ts vlc://quit

  • On programme maintenant une tache crontab pour que le script soit lancé toutes les heures

crontab -e
0 */1 * * * /home/cajj/reccam.sh

et Voila

On peut maintenant lire les vidéos d’une heure sur 2 jours

ls /mnt/usb1/
video-20161014-1600.ts  video-20161014-2000.ts  video-20161015-0000.ts  video-20161015-0400.ts  video-20161015-0800.ts  video-20161015-1200.ts  video-20161015-1600.ts  video-20161015-2000.ts  video-20161016-0000.ts  video-20161016-0400.ts  video-$
video-20161014-1300.ts  video-20161014-1700.ts  video-20161014-2100.ts  video-20161015-0100.ts  video-20161015-0500.ts  video-20161015-0900.ts  video-20161015-1300.ts  video-20161015-1700.ts  video-20161015-2100.ts  video-20161016-0100.ts  video-20161016-0500.ts  video-$
video-20161014-1400.ts  video-20161014-1800.ts  video-20161014-2200.ts  video-20161015-0200.ts  video-20161015-0600.ts  video-20161015-1000.ts  video-20161015-1400.ts  video-20161015-1800.ts  video-20161015-2200.ts  video-20161016-0200.ts  video-20161016-0600.ts  video-$
video-20161014-1500.ts  video-20161014-1900.ts  video-20161014-2300.ts  video-20161015-0300.ts  video-20161015-0700.ts  video-20161015-1100.ts  video-20161015-1500.ts  video-20161015-1900.ts  video-20161015-2300.ts  video-20161016-0300.ts  video-20161016-0700.ts  video-$

Et la place occupée

df -h /dev/sda1
Sys. fich.     Taille Util. Dispo Uti% Monté sur
/dev/sda1         55G   27G   26G  51% /mnt/usb1

stockage.jpg

Auteur

← Plus anciens Plus récents →