PROJET AUTOBLOG


Le Blog de Cyrille BORNE

Site original : Le Blog de Cyrille BORNE

⇐ retour index

Rotation de 180 degrés sur une vidéo et encodage à la volée en ogg

mercredi 22 février 2017 à 10:54

Le logiciel Transmageddon  entre dans la catégorie des logiciels simples en vidéo numérique, une vidéo en entrée, quelques paramétrages et pas plus. Sa fonction première "trans" est de transformer une vidéo d'un format vers un autre, il permet néanmoins de réaliser quelques transformations comme la rotation d'une vidéo à 180°.

Insérer un texte dans une vidéo avec Openshot

mercredi 22 février 2017 à 10:49

Dans Openshot, je vais créer un texte par le biais de titre, nouveau titre, j'ai accès alors à la possibilité de choisir des modèles ou de passer par inkscape. L'astuce ensuite consiste à positionner le titre en première piste, la vidéo en seconde piste comme on peut le voir ci-dessous.



[Image: attachment.php?aid=457]

 

Réaliser un diaporama vidéo

mercredi 22 février 2017 à 10:47

Le logiciel Imagination n'est disponible que sous Linux, il permet de réaliser des diaporama vidéo de façon simple avec quelques effets, un peu de texte. 

Il est à noter qu'il est possible d'intégrer la vidéo directement grâce à la balise vidéo
 

Code PHP :
<video controls src="video.ogv">description</video

Renommer des photos par date en ligne de commande

mercredi 22 février 2017 à 10:44

Programme utilise : jhead

Commande exemple :

$ jhead -n%Y_%m_%d_%H-%M_%S  *jpg


va renommer toutes les photos contenues dans le répertoire courant dont l'extension est jpg avec :
   y pour l'année en premier, plus facile pour le classement
   m pour le mois
   d pour le jour
puis Heures Minutes Secondes  pour éviter les doublons.

Exemple :
 

$ jhead -nmer_sud_%Y_%m_%d_%H-%M_%S P107825.jpg
P107825.jpg --> mer_sud_2013_03_29_11-48_35.jpg

Va renommer la photo P107825.jpg en faisant précéder son nom par mer_sud_

Linux Créer un environnement de construction de paquets Debian

mercredi 22 février 2017 à 10:39

Dans ce billet nous verrons comment créer un environnement sécurisé pour gérer ou construire des paquets Debian sans interférer sur le système installé car les paquets en dépendances nécessaires pour le développement du programme ne seront pas installés sur notre os mais dans un système de chroot afin d'isoler les procédures.

Ce billet ne prétend pas traiter le problème de la construction de paquets dans sa totalité, pour cela se référer au handbook Debian in extenso, mais plutôt à des débutants motivés susceptibles de créer des paquets pour leur usage personnel ou pour pour une distribution en petit comité, dans un groupe de confiance. Ne sera pas abordée non plus la signature des paquets.

Pour créer notre environnement de gestion nous allons utiliser pbuilder qui, comme dit plus haut, va créer un chroot dans lequel sera installée une autre distribution Debian, indépendante de celle utilisée, qui peut être d'une autre version, Stable, Testing, Sid, totalement indépendante de la version hôte, voire une Ubuntu sur un hôte Debian ou l'inverse. Bénéfice donc, le paquet créé sera indépendant de l'os utilisé et pourra ainsi aussi être installé sur une autre machine.

Installation de l'environnement :

:~# aptitude install pbuilder dh-make debootstrap devscripts unp


Dans cet exemple j'utilise une Debian GNU/Linux 8.2 (jessie) et je veux fabriquer un paquet pour fonctionner sur une Sid amd64. Je vais donc fabriquer un chroot que je pourrai utiliser à nouveau dans les mêmes circonstances.
 

:~# pbuilder --create   \
   --distribution sid  \
   --architecture amd64 \
   --basetgz /var/cache/pbuilder/sid-amd64-base.tgz


Explications des options de construction :
--distribution Ici je demande la version Sid mais j'aurais pu construire une Jessie, une Stretch, une Ubuntu Quantal, vivid, etc. Comme pbuilder utilise debootstrap on peut voir la liste des constructions possibles dans /usr/share/debootstrap/scripts en sachant tout de même que suivant le choix il faudra ajouter d'autres options comme les adresses des miroirs et autres variantes. À noter qu'avec pbuilder on peut aussi utiliser experimental.

--architecture Il est demandé amd64 mais ce pourrait être aussi i386

--basetgz On peut créer plusieurs chroots indépendants les uns des autres, il est donc bon de leur donner un nom explicite. Dans le cas contraire le chroot compressé sera placé dans /var/cache/pbuilder/base.tgz

Le fichier de configurations principal de pbuilder est dans /usr/share/pbuilder/pbuilderrc. Il existe un autre fichier de configuration dans /etc/pbuilderrc qu'il est préférable d'utiliser pour modifier la configuration principale, ou bien créer un pbuilderrc dans son /home. Il ne sera pas modifié lors des mises à jour.
En ce qui me concerne comme modifications génériques j'y ai ajouté l'adresse des miroirs dans la ligne MIRRORSITE et "main contrib non-free" dans COMPONENTS.

Après lancement de la procédure elle se termine par :

I: creating base tarball [/var/cache/pbuilder/sid-amd64-base.tgz]
I: cleaning the build env

Voilà, nous avons uns Debian Sid contenant le minimum nécessaire de 257 Mo compressé.

Pour tester pbuilder nous allons utiliser les sources Debian pour avoir le deb du programme axe, un simple éditeur. Comme on peut le vérifier par aptitude -s build-dep axe si nous devions créer ce paquet sur notre système principal il faudra ajouter plus de 20 paquets afin de satisfaire les dépendances de création. D'où l'intérêt de le faire dans le chroot car pbuilder appellera les dépendances nécessaires puis, une fois le paquet créé, nettoiera le chroot en supprimant ces paquets pour le conserver dans son état d'origine.

Après avoir récupéré l'adresse du fichier dsc sur https://packages.debian.org/sid/axe on le télécharge car c'est ce fichier qui donnera à pbuilder tous les renseignements nécessaires pour construire le deb :

$ dget -d http://http.debian.net/debian/pool/non-free/a/axe/axe_6.1.2-16.2.dsc


et j'aurai ensuite mon fichier et les signatures vérifiées automatiquement :
 

axe_6.1.2-16.2.dsc:
     Good signature found
  validating axe_6.1.2.orig.tar.gz
  validating axe_6.1.2-16.2.diff.gz
All files validated successfully.

$ ls -1
axe_6.1.2-16.2.diff.gz
axe_6.1.2-16.2.dsc
axe_6.1.2.orig.tar.gz


On peut maintenant construire (build) le paquet en précisant - mais ce n'est pas toujours nécessaire - la distribution et l'architecture, l'adresse de la base.tgz puisqu'elle est spécifique ainsi que l'adresse où trouver le fichier .dsc.
 

sudo pbuilder --build  \
--distribution sid     \
--architecture amd64   \
--basetgz  /var/cache/pbuilder/sid-amd64-base.tgz \
~/axe/axe_6.1.2-16.2.dsc


Voilà, dans le dossier result on trouve ensuite le deb construit ainsi que les diverses parties propres à un paquet Debian, les sources donc, le changes, le diff, le dsc, fichiers que nous aurons l'occasion d'étudier lors de la création de notre premier paquet.
 

 
$ ls -1 /var/cache/pbuilder/result/
axe_6.1.2-16.2_amd64.changes
axe_6.1.2-16.2_amd64.deb
axe_6.1.2-16.2.diff.gz
axe_6.1.2-16.2.dsc
axe_6.1.2.orig.tar.gz


On peut maintenant vérifier la qualité de construction de notre deb avec lintian :
 

$ lintian /var/cache/pbuilder/result/axe_6.1.2-16.2_amd64.deb

E: axe: info-document-missing-dir-section usr/share/info/axe.info.gz


Il y a une Erreur. En effet sur aXe le mainteneur a omis de renseigner le dir, ce qui d'ailleurs a fait l'objet d'une déclaration de bug, mais le paquet est opérationnel :

https://bugs.debian.org/cgi-bin/bugrepor...bug=528866

Pour faire la mise à jour d'un chroot avec pbuilder on utilise la commande pbuilder --update mais dans notre cas puisqu'on a précisé le nom de la base.tgz il faudra la renseigner par la commande :
 

:~$ sudo pbuilder --update --basetgz /var/cache/pbuilder/sid-amd64-base.tgz