Script Conversion Vidéo APN/DCIM (et caja script)

Demandez et postez vos petites astuces, répertoire des tutoriels et astuces
Avatar du membre
ledudulela
Messages : 159
Enregistré le : mer. 15 juil. 2015 20:49
Localisation : France - Gironde

Script Conversion Vidéo APN/DCIM (et caja script)

Messagepar ledudulela » jeu. 23 juil. 2015 22:08

C'est un script de conversion vidéo.
Celui-ci est particulièrement dédié au réencodage de vidéos issues d'appareils photos numériques, généralement
de courte durée (quelques dizaines de secondes à quelques minutes), dont les formats ne sont pas toujours
compatibles avec les différents appareils pour les visionner:
PC, smartphone, lecteur DVD portable ou de salon, lecteur USB des télévisions, etc.
De plus, la taille (en Mo) du fichier converti est nettement inférieure à l'originale.

Petit rappel simplifié:
un fichier vidéo c'est une 'enveloppe' qui contient une vidéo et une bande son.
L'enveloppe (muxer) est reconnaissable par l'extension du fichier: .avi, .mpg, .mp4, .mov, etc
La vidéo est encodée avec un codec: h264, xvid, divx, etc
Le son est encodée avec un codec: mp3, aac, ac3, etc
Pour connaitre les propriétés d'une vidéo, j'utilise VLC ou MediaInfo

Limitation:
Je me suis limité à 2 formats très répandus: AVI et MP4
muxer AVI avec codec vidéo XVID et codec audio AC3
muxer MP4 avec codec vidéo h264 et codec audio AAC
Pour les vidéos de courte durée, cette combinaison AVI=(XVID+AC3) me semble idéale.
Cependant, il est tout à fait possible d'adapter le script pour y ajouter de nouvelles combinaisons.

Principe d'utilisation:
1. ouverture du gestionnaire de fichiers (CAJA, THUNAR, etc)
2. copie des vidéos de l'appareil photo numérique dans un répertoire du PC
3. clic droit sur le fichier à convertir > menu contextuel > Scripts > Convertisseur Vidéo
4. choix du type d'encodage
5. création du nouveau fichier vidéo

Image

Image

Image

Remarque:
Le script a été initialement prévu pour être exécuté en ligne de commande dans un terminal.
il a été testé sur Linux Mint Debian Edition 1, LMDE 2, Debian 7 Wheezy.
Le script accepte différents paramètres (dans sa version 1.0):
avconvzen fichier
avconvzen -o2 fichier (la 2ème option de la liste est sélectionnée par défaut)
avconvzen -x3 fichier (l'encodage est exécuté automatiquement avec la 3ème option et, si le fichier cible existe déjà, le remplace sans confirmation)
avconvzen -l fichier (active la journalisation dans le fichier .log)
avconvzen -v fichier (affiche la version du script)
avconvzen -t fichier (le fichier cible sera créé dans le répertoire /tmp)
Par défaut, le fichier cible est créé dans le répertoire du fichier source.
Le chemin du fichier final sera de la forme:
/repertoireFichierSource/nomFichierSource_ancienneExtension_LxH.nouvelleExtension
Exemple:
Chemin du fichier source à convertir: /home/user/Vidéos/ma.Video.MOV
Chemin du fichier cible après conversion: /home/user/Vidéos/ma.Video_MOV_640x360.avi"

Installation:
Il est recommandé de placer le script dans le répertoire /usr/local/bin
Le script est téléchargeable ici (clic droit, enregistrer sous)...
Il faut pour cela ouvrir, en tant qu'administrateur, le répertoire /usr/local/bin
Puis, dans les propriétés du fichier (permissions), autorisez l'exécution du fichier

Premiers tests:
Le script s'appuie sur les utilitaires avconv et zenity (normalement préinstallés avec LMDE2).
Pour s'assurer que ceux-ci ainsi que le script soient bien installés, ouvrez un terminal et tapez:
avconv (puis validez, s'il est installé avconv affiche son numéro de version)
zenity (puis validez, s'il est installé zenity affiche Lancer « zenity --help » pour plus de détails)
avconvzen (puis validez, s'il est installé le script affiche Erreur: nombre de paramètres incorrect...)
Si tout est OK, pour obtenir plus de détails, tapez: avconvzen -h

Intégration dans le gestionnaire de fichiers:
L'exemple est donné avec CAJA, le gestionnaire de fichiers de l'environnement MATE.
Afin que le script puisse être lancé sur clic-droit d'un fichier, il faut ajouter un script à CAJA.
Les scripts de CAJA sont stockés dans le répertoire caché /home/utilisateur/.config/caja/scripts
ou dans un autre mais dans ce cas, il faut créer un lien dans le répertoire /home/utilisateur/.config/caja/scripts vers le script.
Copiez le script "Convertisseur vidéo" ou créez un fichier texte dont le code est le suivant, dans ce répertoire caché.
Le script est téléchargeable ici (clic droit, enregistrer sous)...
Rque: Dans CAJA, pour afficher les fichiers cachés (hidden), enfoncez simultanément les touches CTRL H

Code : Tout sélectionner

#!/bin/bash
# auteur : ledudulela
# version: 1.2
# màj : 2015-06-26 18:00
# Objet: Lanceur du script avconvzen depuis le gestionnaire de fichier (Caja)
# Prérequis: zenity; avconv; avconvzen
# Pour avconvzen, ouvrez en tant qu'administrateur le répertoire /usr/local/bin
# Collez-y le fichier 'avconvzen' et rendez-le exécutable
# Le script peut ainsi être appelé facilement en ligne de commande.
# exemple$:
# avconvzen chemin_fichier
# avconvzen -o3 chemin_fichier (avec argument -o pour sélectionner par défaut la troisième option de la liste.)

defaultOption=2 # option par défaut
# fichier dans lequel est stocké la valeur de la dernière option choisie
# cela permettra, lors d'une sélection multiple, de ne demander le choix de l'option qu'une seule fois
fileLastOption="/tmp/avconvzenfm.tmp" # $HOME/.local/share/applications/avconvzenfm.dat
export fileLastOption

if [ -f "$fileLastOption" ]; then # teste si le fichier temporaire existe déjà
   rm "$fileLastOption" # supprime le fichier
fi

OLD_IFS="$IFS"
IFS='
'
arrFilePaths=( $CAJA_SCRIPT_SELECTED_FILE_PATHS )
IFS="$OLD_IFS"
for selectedFilePath in "${arrFilePaths[@]}"
do
   if [ -f "$fileLastOption" ]; then # teste si le fichier existe
      defaultOption=`cat $fileLastOption` # récupère la dernière option choisie dont la valeur a été stockée dans le fichier
      if [ $lastOption == 0 ]; then # l'option = 0 quand l'utilisateur a cliqué sur le bouton [Annuler]
         exit 0
      else
         bash avconvzen -x"$defaultOption" "$selectedFilePath"
      fi
   else
      bash avconvzen -o"$defaultOption" "$selectedFilePath" # le fichier $fileLastOption est aussi créé
   fi
done
if [ $? == 0 ]
then
   zenity --info --title="Conversion" --text="Conversion terminée" --timeout=10
fi
exit


Renommez le fichier (si nécessaire), par exemple: "Convertisseur vidéo"
puis autorisez l'exécution du fichier (clic droit > propriétés > permissions > autorisez l'exécution du fichier)
Désormais, en faisant un clic-droit sur un fichier, dans le menu contextuel doit apparaître le
sous-menu "Scripts", lequel contient notre script "Convertisseur vidéo" ainsi qu'un lien
"Ouvrir le dossier de scripts" qui permet d'ouvrir rapidement le dossier /home/utilisateur/.config/caja/scripts

Pour THUNAR (environnement XFCE), le script "Convertisseur vidéo" est inutile.
Allez dans menu Editer > Configurer les actions personnalisées
Ajouter une action:
Nom=Convertisseur vidéo
Commande=/usr/local/bin/avconvzen -o2 %f
Dans l'onglet "Conditions d'apparition", cochez uniquement "Fichiers vidéo"

Tester une conversion depuis le gestionnaire de fichier (CAJA):
-> clic droit sur le fichier à convertir > sous-menu "Scripts" > "Convertisseur Vidéo"

Tester une conversion depuis le gestionnaire de fichier (THUNAR):
-> clic droit sur le fichier à convertir > sous-menu "Convertisseur Vidéo"

Télécharger (clic droit, enregistrer sous):
- script avconvzen
- script caja

Le projet avconvzen sur github
cliquer ici...

Voilà, en espérant que cela puisse vous être utile...

ps:
- un peu de doc (fr) sur la syntaxe des scripts shell (merci à l'auteur) : Shell_v2.0.1.pdf
- 11 commandes avconv : http://www.tecmint.com/avconv-command-examples/
- nemo_action (us): https://github.com/linuxmint/nemo/blob/master/files/usr/share/nemo/actions/sample.nemo_action
- nemo_action (fr) : https://github.com/ledudulela/Script_NEMO_Nemo_Action/blob/master/nemo_action_fr.txt

voir aussi:
script pour renommer par lot des photos (nécessite jhead): dcimrename
DCIM1234.JPG -> 20141231 nouvel an (001).JPG
DCIM1235.JPG -> 20141231 nouvel an (002).JPG
DCIM1236.JPG -> 20141231 nouvel an (003).JPG
Image
Modifié en dernier par ledudulela le mar. 8 mars 2016 20:35, modifié 3 fois.
leDuduLéLà - Linux Mint Debian Edition 2 / MATE / 64 bits
CM: MSI H97M-G43 // CPU: i3-4150 - 3.5 GHz - 2 coeurs, 4 threads // RAM: Kingston 8Go DDR3
CG intégrée: Intel HD Graphics 4000 // Alim: Corsair 430 W // imprim. Canon MG2450

lacktchou
Messages : 2386
Enregistré le : lun. 13 juil. 2015 19:33

Re: Script Conversion Vidéo APN/DCIM (et caja script)

Messagepar lacktchou » ven. 24 juil. 2015 00:04

C'est de l'info, ça, Mosieur!

Image
Lacktchou
Image
Relisez-vous avant de poster.
LM 17.3 XFCE 64-bit - Noyau 3.16.0-38 et 3.16.0-32 - LM 17.2 Maté 64-bit - Xubuntu 16.04 LTS 64-bit - Windows 7
Laptop Lenovo G560 DD Toshiba 640 Go DD ext Toshiba 1.0 To


Retourner vers « Trucs et Astuces »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité