logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
utilisateurs:slyfox:scripts:dvd6clone [07/08/2020 17:42]
Slyfox supprimée
— (Version actuelle)
Ligne 1: Ligne 1:
-====== DVD6clone ====== 
- 
-  * Objet : Le but de ce tutoriel va être d'​installer DVD6clone, étape par étape, sur Debian. 
-  * Niveau requis : {{tag>​débutant}} 
-  * Commentaires : - 
-  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) 
-  * Suivi : {{tag>en chantier}} 
-    * Création par [[user>​Slyfox]] 31/03/2014 
-    * Testé par **Slyfox** le 31/03/2014 sur Debian Wheezy Stable 64 bits 
-    * Testé par **-** le --/--/---- sur Debian Jessie Testing FIXME 
-    * Testé par **-** le --/--/---- sur Debian Sid FIXME 
-  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​id=8768 | Wiki DVD6clone]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) 
- 
-===== Introduction ===== 
- 
- 
-<note important>​Projet abandonné sera remplacer par Slymedia.</​note>​ 
- 
-==== Qu'​est-ce que DVD6clone ? ==== 
- 
-**DVD6clone** peut : 
- 
-  * Lire votre DVD 
-  * Riper votre DVD sur votre disque dur 
-  * Créer une image iso de votre DVD 
-  * Copier un ou plusieurs titre(s) de votre DVD au format brut (VOB) ou en MKV avec différents choix de formats 
-  * Convertir les sous-titres Vobsub en .srt 
-  * Voir les différentes informations des titres de votre DVD. 
- 
- 
- 
-===== Édition des sources ===== 
- 
-<note tip>Pour plus d'info sur l'​édition du fichier sources.list voir ici : [[http://​wiki.debian-facile.org/​doc:​systeme:​apt:​sources.list|Lien sources.list]] 
- 
-Pour en savoir sur plus les outils de gestion des dépôts et paquets: [[:​doc:​systeme:​apt:​clients | les outils apt]]:</​note>​ 
- 
-<note important>​ // **L'​ensemble des commandes qui vont suivre sont à effectuer dans un terminal en tant que [[:​doc:​systeme:​superutilisateur]]** (([[:​doc:​systeme:​su]]))//</​note>​ 
- 
-Nous allons éditer notre fichier ''/​etc/​apt/​sources.list''​ (([[:​doc:​systeme:​apt:​sources.list | Les fichiers sources.list]])) afin d'y avoir accès. \\ 
- 
-Pour cela nous utiliserons,​ tout au long du tuto, l'​éditeur de texte [[:​doc:​editeurs:​nano | nano]]. 
-<code root>​nano /​etc/​apt/​sources.list</​code>​ 
- 
-Puis rajoutons les lignes suivantes pour autant qu'ils ne soit pas déjà écrites :  
- 
-**Pour debian version Stable** 
-<file apt_sources /​etc/​apt/​sources.list>​ 
-# stable deb-multimedia 
-deb http://​www.deb-multimedia.org stable main non-free 
-</​file>​ 
- 
-**Pour debian version Testing** 
-<file apt_sources /​etc/​apt/​sources.list>​ 
-# stable deb-multimedia 
-deb http://​www.deb-multimedia.org testing main non-free 
-</​file>​ 
- 
-**Pour debian version Sid** 
-<file apt_sources /​etc/​apt/​sources.list>​ 
-# stable deb-multimedia 
-deb http://​www.deb-multimedia.org sid main non-free 
-</​file>​ 
- 
-Enregistrons (ctrl+o) acceptons l'​enregistrement du fichier via ENTER et quittons nano (ctrl+x) 
- 
-Enregistrons la clé du dépôt multimédia ​ 
- 
-<code root>​apt-get install debian-keyring && gpg --keyring /​usr/​share/​keyrings/​debian-keyring.gpg -a --export 07DC563D1F41B907 |apt-key add -</​code>​ 
- 
-Puis rafraîchissons la liste des paquets ​ 
-<code root>​apt-get update</​code>​ 
- 
- 
- 
- 
-===== Installation des dépendances ===== 
- 
-Installons les dépendances nécessaire à DVD6clone. 
- 
-<code root>​apt-get install libdvdcss zenity lsdvd ffmpeg mplayer mencoder dvdbackup genisoimage mkvtoolnix gawk libdca0 libdvdcss2 libdvdnav4 libdvdread4 libcanberra-gtk3-module tesseract-ocr tesseract-ocr-fra tesseract-ocr-deu tesseract-ocr-eng tesseract-ocr-spa tesseract-ocr-nld tesseract-ocr-ita tesseract-ocr-por subtitleripper</​code>​ 
- 
- 
- 
-  
- 
- 
- 
-===== Script Bash DVD6clone ===== 
- 
-Maintenant créons un fichier dans notre /home que nous appellerons "​DVD6clone"​ 
- 
-Faisons un copier/​coller du script ci-dessous... 
- 
-Pour finir il faut le rendre exécutable via la commande: 
- 
-<​code>​chmod +x /​home/​$USER/​DVD6clone</​code>​ 
- 
- 
-<​code>#​! /bin/bash 
- 
-#​============================================================================================================================================ 
-#                                                            DVD6clone-test 
-#​============================================================================================================================================ 
-# AUTEUR: Slyfox 
-# SIGNALER BUG : https://​debian-facile.org/​forum.php 
-# LICENCE: GNU General Public License v3.0 /Copieright (C) 2012 Slyfox 
-# NAME: DVD6clone 
-# DESCRIPTION:​ Lit, copie et ripe les DVD 
-# REQUIERS: zenity lsdvd ffmpeg mplayer mencoder dvdbackup genisoimage mkvtoolnix gawk libdca0 libdvdcss2 libdvdnav4 libdvdread4 libcanberra-gtk3-module ​ 
-#           ​tesseract-ocr tesseract-ocr-fra tesseract-ocr-deu tesseract-ocr-eng tesseract-ocr-spa tesseract-ocr-nld tesseract-ocr-ita ​ 
-#           ​tesseract-ocr-por gstreamer0.10-plugins-ugly subtitleripper 
- 
-version=20140406-2 
- 
-#​============================================================================================================================================ 
-# Choix lecteur DVD 
-#​============================================================================================================================================ 
-DVDMONTE() 
-{ 
-# Vérification si il y a un DVD dans le lecteur 
-nbrDVDMonte=$(mount | grep -c ^"/​dev/​sr"​) 
-echo "​nbrDVDMonte=$nbrDVDMonte"​ 
- 
-# Si il y a pas de DVD dans le lecteur 
-while [[ "​$nbrDVDMonte"​ -eq 0 ]]; do 
-      zenity --question \ 
-             ​--title="​DVD6clone"​ \ 
-             ​--text="​Insérez un DVD dans votre lecteur et lancer le scan..."​ \ 
-             ​--ok-label="​Scanner DVD" \ 
-             ​--cancel-label="​Quitter DVD6clone" ​ 
-        ​ 
-       # Si Quitter DVD6clone 
-       [[ $? -eq 1 ]] && exit  
-        ​ 
-       ​nbrDVDMonte=$(mount | grep -c ^"/​dev/​sr"​) ​ 
-done  
- 
-# Recherche du lecteur du DVD et du titre du DVD 
-if      [[ "​$nbrDVDMonte"​ -eq 1 ]]; then  
-        pathDevice=$(df | awk '/​^\/​dev\/​sr/​ {print $1}') 
- 
-elif    [[ "​$nbrDVDMonte"​ -ge 2 ]]; then 
-        pathDevice=$(df | awk '/​^\/​dev\/​sr/​ {print $1}') 
-        pathDevice=$(zenity --list \ 
-                            --radiolist \ 
-                            --title="​DVD6clone"​ \ 
-                            --text="​Sélectionnez un DVD" \ 
-                            --ok-label="​Valider choix" \ 
-                            --cancel-label="​Quitter DVD6clone"​ \ 
-                            --separator="​ " \ 
-                            --print-column="​3"​ \ 
-                            --column ""​ \ 
-                            --column " " \ 
-                            --column " " \ 
-                     $(for i in $pathDevice;​ do 
-                           ​titreDVD=$(lsdvd "​$i"​ | awk -F ": " '/​^Disc Title:/ {print $2}' | tr " " "​_"​) 
-                           echo "​$titreDVD $i" | 
-                           awk '​{print $0}' 
-                      done | awk 'NR==1 {print "​TRUE",​$1,​$2} NR!=1 {print "​FALSE",​$1,​$2}'​)) 
-        [[ $? -eq 1 ]] && exit 
-fi 
- 
-echo "​pathDevice=$pathDevice"​ 
- 
-MENU 
-} 
-#​============================================================================================================================================ 
-# Vérification DVD Indentique 
-#​============================================================================================================================================ 
-DVDIDENTIQUE() 
-{ 
-# Vérification DVD monté 
-if [[ $(mount | grep -c ^"/​dev/​sr"​) -eq "​0"​ ]]; then  
-   ​DVDMONTE 
-fi 
- 
-# Vérification si même DVD monté par comparaison du titre 
-if [[ "​$titreDVD"​ != $(lsdvd "​$pathDevice"​ | awk -F ": " '/​^Disc Title:/ {print $2}' | tr " " "​_"​) ]]; then  
-   ​zenity --error \ 
-          --title="​DVD6clone"​ \ 
-          --text="<​big><​b>​ERREUR \!</​b></​big>​ <span color=\"​red\">​\n\nLe DVD utilisé a été remplacé par un autre ou a été ejecté... \n\nRéinitialisation du programme !</​span>"​ 
-   ​DVDMONTE 
-fi 
- 
-# Vérification un DVD est toujours présent dans le lecteur 
-if [[ -z "​$titreDVD"​ ]]; then  
-   ​zenity --error \ 
-          --title="​DVD6clone"​ \ 
-          --text="<​big><​b>​ERREUR \!</​b></​big>​ <span color=\"​red\">​\n\nLe DVD utilisé a été remplacé par un autre ou a été ejecté... \n\nRéinitialisation du programme !</​span>"​ 
-   ​DVDMONTE 
-fi 
-} 
-#​============================================================================================================================================ 
-# Vérification espace disque dur destination 
-#​============================================================================================================================================ 
-ESPACEDESTINATION() 
-{ 
-DVD=$(df | awk '{if ($1=="'​$pathDevice'"​) {print $3}}') 
-echo "​DVD=$DVD"​ 
- 
-DisqueDur=$(awk '​(NR!=1) {print $4}' < <(df -kP .)) 
-echo "​DisqueDur=$DisqueDur"​ 
- 
-tailleOperation=$(awk '​{print $1*'​$nbrOperation'​}'​ <<<​ "​$DVD"​) 
-echo "​tailleOperation=$tailleOperation"​ 
- 
-if [[ "​$DisqueDur"​ -lt "​$tailleOperation"​ ]]; then 
-   ​zenity --question \ 
-          --title="​DVD6clone"​ \ 
-          --text "Vous disposez d'un espace du disque dur insuffisant.\nVoulez-vous continuez ?" 
-[[ $? -eq 1 ]] && MENU 
-fi 
-} 
-#​============================================================================================================================================ 
-# Scanne DVD 
-#​============================================================================================================================================ 
-SCANDVD() 
-{ 
-# Vérification si il y a un DVD dans le lecteur 
-nbrDVDMonte=$(mount | grep -c ^"/​dev/​sr"​) 
-echo "​nbrDVDMonte=$nbrDVDMonte"​ 
- 
-# Si il y a pas de DVD dans le lecteur 
-[[ "​$nbrDVDMonte"​ -eq 0 ]] && DVDMONTE 
- 
-# Création dossier temporaire 
-device=$(awk -F "/"​ '​{print $NF}' <<<​ "​$pathDevice"​) 
- 
-dossierTMP="/​home/​$USER/​.dvd6clone/​tmp_$device"​ 
-echo "​dossierTMP=$dossierTMP"​ 
- 
-[[ ! -d "​$dossierTMP"​ ]] && mkdir -p "​$dossierTMP"​ 
-rm -fr "​$dossierTMP"/​* 
-if [[ ! -w "​$dossierTMP"​ ]]; then  
-   ​zenity --error \ 
-          --title="​DVD6clone"​ \ 
-          --text="​Veuillez vérifier vos droits.\nImpossible d'​écrire dans le répertoire $dossierTMP \!" 
-   exit 
-fi 
- 
-# Recherche information DVD 
-lsdvd "​$pathDevice"​ -as > "​$dossierTMP/​lsdvd.txt"​ 
- 
-# Recherche titre du DVD 
-titreDVD=$(cat "​$dossierTMP/​lsdvd.txt"​ | 
-           awk -F ": " '/​^Disc Title:/ {print $2}' |  
-           tr " " "​_"​) 
- 
-echo "​titreDVD=$titreDVD"​ 
- 
-# Recherche de la piste principale 
-LongestTrack=$(cat "​$dossierTMP/​lsdvd.txt"​ |  
-               awk '/​^Longest track:/ {print $3}') 
- 
-echo "​LongestTrack=$LongestTrack"​ 
- 
-# Recherche les numéro des pistes 
-numTitres=$(cat "​$dossierTMP/​lsdvd.txt"​ |  
-            awk '/​^Title:/​ {print $2}' |  
-            tr ","​ " ") 
- 
-echo "​numTitres=$numTitres"​ 
- 
-# Fusion numéro titre et durée avec pistes audio et sous-titre 
-infoDVD=$(cat "​$dossierTMP/​lsdvd.txt"​ |  
-          awk '{if ($1=="​Title:"​) {i=$1" "​$2"​ "​$3"​ "​$4} ​ 
-                else if ($1=="​Audio:"​ || $1=="​Subtitle:"​) {print i,​$1,​$2,​$3,​$4,​$5,​$6,​$7,​$8,"​Stream id:",​$NF}}'​) 
- 
-# Remplacement ", : ." par un espace 
-infoDVD=$(echo "​$infoDVD"​ | 
-          tr ","​ " " | 
-          tr ":"​ " " | 
-          tr "​."​ " " ) 
- 
-# Insertion durée en secondes et remise en forme 
-infoDVD=$(echo "​$infoDVD"​ | 
-            awk '​{printf "%s %02d %s %02d:​%02d:​%02d %02d %s %d %s %s %s %s %s %s %s\n" ,​$1,​$2,​$3,​$4,​$5,​$6,​($4*3600+$5*60+$6),​$8,​$9,​$10,​$11,​$13,​$14,​$15,​$17,​$18}'​) 
- 
-# Convertion aid et sid en décimal 
-infoDVD=$(echo "​$infoDVD"​ | 
-            awk --non-decimal-data '{if ($6=="​Audio"​) {printf "%s %d\n" ,​$0,​$NF} ​ 
-                                   else if ($6=="​Subtitle"​) {printf "%s %d\n" ,​$0,​($NF-32)}}'​) 
- 
-# Remplace Subtitle par sous-titre 
-infoDVD=$(echo "​$infoDVD"​ | 
-            awk '{if ($6=="​Subtitle"​ && $6="​Sous-titre"​) {print $0} else {print $0}}') 
- 
-# Remaniment DVDinfo pour mettre le français en première position 
-infoDVD=$(for i in $numTitres; do 
-                echo "​$infoDVD"​ | awk '{if ($2=='​$i'​ && $6=="​Audio"​ && $9=="​fr"​) print $0}' 
-                echo "​$infoDVD"​ | awk '{if ($2=='​$i'​ && $6=="​Audio"​ && $9!="​fr"​) print $0}' 
-                echo "​$infoDVD"​ | awk '{if ($2=='​$i'​ && $6=="​Sous-titre"​ && $9=="​fr"​) print $0}' 
-                echo "​$infoDVD"​ | awk '{if ($2=='​$i'​ && $6=="​Sous-titre"​ && $9!="​fr"​) print $0}' 
-          done) 
- 
-echo "​infoDVD=$infoDVD"​ 
-} 
-#​============================================================================================================================================ 
-#                                                                     Menu 
-#​============================================================================================================================================ 
-MENU() 
-{ 
-SCANDVD 
- 
-choixMenu=$(zenity --list \ 
-                   ​--radiolist\ 
-                   ​--title="​DVD6clone v. $version"​ \ 
-                   ​--text="<​b>​Titre du DVD : $titreDVD \nDevice : $pathDevice</​b>"​ \ 
-                   ​--ok-label="​Valider choix" --cancel-label="​Quitter DVD6clone"​ \ 
-                   ​--hide-column="​2"​ \ 
-                   ​--print-column="​2"​ \ 
-                   ​--width=800 ​ \ 
-                   ​--height=450 ​ \ 
-                   ​--column="​ " \ 
-                   ​--column="​ " \ 
-                   ​--column="​ " \ 
-                   "​FALSE"​ " 1" "​Visionner DVD" \ 
-                   "​FALSE"​ " 2" "​Copier le DVD en entier"​ \ 
-                   "​TRUE"​ " 3" "​Extraire un ou des titres"​ \ 
-                   "​FALSE"​ " 4" "​Convertir un ou des sous-titres au format STR" \ 
-                   "​FALSE"​ " 5" "​Éjecter le DVD" \ 
-                   "​FALSE"​ " 6" "Choix d'un autre lecteur DVD" \ 
-                   "​FALSE"​ " 7" "Voir info du DVD" \ 
-                   "​FALSE"​ " 8" "Aide et info de DVD6clone"​) 
- 
-# Si Quitter DVD6clone 
-[[ $? -eq 1 ]] && exit 
- 
-# Choix 
-case "​$choixMenu"​ 
-        in 
-        " 1") 
-                VISIONNERDVD 
-                MENU 
-                ;; 
- 
-        " 2") 
-                FORMATCOPIEDVD 
-                MENU 
-                ;; 
- 
-        " 3") 
-                FORMATCOPIETITRE 
-                MENU 
-                ;; 
-        " 4") 
-                STR 
-                MENU 
-                ;; 
-                ​ 
-        " 5") 
-              eject "​$pathDevice"​ 
-              DVDMONTE 
-              ;; 
-              ​ 
-        " 6") 
-              DVDMONTE 
-              ;; 
-        " 7") 
-              INFODVD 
-              MENU 
-              ;; 
-              ​ 
-        " 8") 
-              AIDE 
-              MENU 
-              ;; 
-        *) 
-esac 
-} 
-#​============================================================================================================================================ 
-# Choix titre(s) 
-#​============================================================================================================================================ 
-ZENITYTITRE() 
-{ 
-# Choix titre(s) à copier 
-a=$(for i in $numTitres ; do 
-        dureeSec=$(awk '{if ($2=='​$i'​ ){print $5}}' <<<"​$infoDVD"​ | sort -u) 
-        duree=$(awk '{if ($2=='​$i'​ ){print $4}}' <<<"​$infoDVD"​ | sort -u) 
-        audio=$(awk '{if ($2=='​$i'​ && $6=="​Audio"​) {print $10}}' <<<"​$infoDVD"​ | sort -u) 
-        sub=$(awk '{if ($2=='​$i'​ && $6=="​Sous-titre"​) {print $10}}' <<<"​$infoDVD"​ | sort -u) 
- 
-        if [[ $i = "​$LongestTrack"​ ]]; then 
-              option="​TRUE"​ 
-        else  option="​FALSE"​ 
-        fi 
- 
-        echo "​|$option|"​ 
-        echo "​Titre:​ $i" 
-        echo "​Durée:​ $duree"​ 
-        echo "​Audio:"​ $audio 
-        echo "​Sous-titre:"​ $sub 
-        echo "| $i" 
-        echo "| $duree"​ 
-        echo "| $dureeSec"​ 
-done)  
- 
-OLDIFS=$IFS 
-IFS=$'​|'​ 
-zenityTitres=$(zenity --list \ 
-                      --checklist \ 
-                      --title="​DVD6clone"​ \ 
-                      --text="<​b>​Choississez un ou des titres</​b>​\nTitre principal : $LongestTrack"​ \ 
-                      --width=500 \ 
-                      --height=800 \ 
-                      --hide-column="​3,​4,​5"​ \ 
-                      --print-column="​3,​4,​5"​ \ 
-                      --column=""​ \ 
-                      --column=""​ \ 
-                      --column=""​ \ 
-                      --column=""​ \ 
-                      --column=""​ \ 
-                      $(echo "| Tous les titres| 0 | 0 | 0 $a" )) 
-                      ​ 
-retour="​$?"​ 
- 
-IFS=$OLDIFS 
- 
-# Si Quitter DVD6clone 
-[[ "​$retour"​ -eq 1 ]] && MENU 
-} 
-#​============================================================================================================================================ 
-# Choix destination vidéo 
-#​============================================================================================================================================ 
-DESTINATION_VIDEO() 
-{ 
-# Choix nom video 
-cheminVideo=$(zenity --file-selection \ 
-                     ​--title="​Sélectionnez le dossier de destination"​ \ 
-                     ​--directory \ 
-                     ​--filename="/​home/​$USER/​Bureau/​$titreDVD"​\ 
-                     ​--save) 
- 
-# Si Retour au menu 
-[[ $? -eq 1 ]] && MENU 
- 
-# Suppression dossier créer par zenity "​cheminVideo"​ 
-rm -fr "​$cheminVideo"​ 
- 
-nomVideo=$(echo "​$cheminVideo"​ | awk -F "/"​ '​{print $NF}') 
-echo "​nomVideo=$nomVideo"​ 
- 
-cheminDossierDVD=$(echo "​$cheminVideo"​ | awk '​{gsub(/​\/'"​$nomVideo"'​$/,"",​$0);​print $0}') 
-echo "​cheminDossierDVD=$cheminDossierDVD"​ 
- 
-# Remplacement espace par "​_"​ 
-nomVideo=$(echo "​$nomVideo"​ | tr " " "​_"​) 
- 
-cheminVideo="​$cheminDossierDVD/​$nomVideo"​ 
- 
-echo "​nomVideo=$nomVideo"​ 
-echo "​cheminVideo=$cheminVideo"​ 
- 
-# Contrôle si vidéo exsist déjà 
- 
-[[ -f "​$dossierTMP/​controle_fichier.txt"​ ]] && rm "​$dossierTMP/​controle_fichier.txt"​ 
- 
-for i in $titres; do 
-        [[ -f "​$cheminDossierDVD/​$nomVideo-Titre-$i.$typeVideo"​ ]] && echo "​$cheminDossierDVD/​$nomVideo-Titre-$i.$typeVideo"​ >> "​$dossierTMP/​controle_fichier.txt"​ 
-done 
- 
-if [[ -s "​$dossierTMP/​controle_fichier.txt"​ ]]; then 
-        zenity --question \ 
-               ​--text="​Vidéo(s) exsistante(s) :\n$(cat "​$dossierTMP/​controle_fichier.txt"​)\n\nVoulez-vous vraiment continuer et supprimer cette ou ces vidéo(s) ?" 
-        [[ $? -eq "​1"​ ]] && DESTINATION_VIDEO 
-fi 
-} 
-#​============================================================================================================================================ 
-# Visionner le DVD 
-#​============================================================================================================================================ 
-VISIONNERDVD() 
-{ 
-# Contrôle DVD 
-DVDIDENTIQUE 
- 
-# Choix titre(s) à copier 
-ZENITYTITRE 
- 
-zenityTitres=$(echo "​$zenityTitres"​ | tr "​|"​ " " | xargs -n 3) 
-echo "​zenityTitres=$zenityTitres"​ 
- 
-titre=$(echo "​$zenityTitres"​ | awk '​{print $1}') 
-echo "​titre=$titre"​ 
- 
-if [[ "​$titre"​ -eq "​0"​ ]]; then 
- 
-        # Contrôle DVD 
-        DVDIDENTIQUE 
- 
-        zenity --info \ 
-               ​--title="​Mplayer contrôle"​ \ 
-               ​--text="​\n 
-               <​span color=\"​red\">​Molette de la souris</​span>​ 
-               <​span color=\"​red\">​Pavé directionnel\tAvance ou recule la vidéo</​span>​ 
-               <​span color=\"​blue\">​ESPACE\t\t\tPause (autre appui reprend la lecture)</​span>​ 
-               <​span color=\"​red\">​m\t\t\t\tCoupe le son (mute)</​span>​ 
-               <​span color=\"​blue\">​f\t\t\t\tBascule en mode plein-écran</​span>​ 
-               <​span color=\"​red\">#​\t\t\t\tSélection des pistes audio</​span>​ 
-               <​span color=\"​blue\">​v\t\t\t\tBascule l'​affichage des sous-titres</​span>​ 
-               <​span color=\"​red\">​j\t\t\t\tSélection des sous-titres</​span>​ 
-               <​span color=\"​blue\">​5\t\t\t\tMenu principal</​span>"​ & 
- 
-        pidZenityInfoMplayer=$! 
- 
-        # Lancement de Mplayer 
-        mplayer -dvd-device "​$pathDevice"​ -mouse-movements dvdnav:// -sid "​999"​ & 
- 
-        pidMplayer=$! 
-        wait "​$pidMplayer"​ 
-        kill "​$pidZenityInfoMplayer"​ 
- 
-        # Si Retour au menu 
-        [[ $? -eq 1 ]] && MENU 
- 
-else 
-        # Contrôle DVD 
-        DVDIDENTIQUE 
- 
-        aid=$(zenity --list \ 
-                     ​--radiolist \ 
-                     ​--width=500 \ 
-                     ​--height=800 \ 
-                     ​--title="​DVD6clone"​ \ 
-                     ​--text="<​b>​Choississez une piste audio</​b>"​ \ 
-                     ​--ok-label="​Valider choix" \ 
-                     ​--cancel-label="​Retour au menu" \ 
-                     ​--separator="​ " \ 
-                     ​--hide-column="​2,​3,​4,​5,​6,​7,​8,​9,​10,​12,​14,​15"​ \ 
-                     ​--print-column="​16"​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​Titre"​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​Durée"​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​Piste"​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​Langue"​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​Format"​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​ID piste" \ 
-                     ​$(echo "​$infoDVD"​ | 
-                       awk '{if ($2=='​$titre'​ && $6=="​Audio"​) {print $0}}' | 
-                       awk '{if (NR==1) {print "​TRUE",​$0} ​ 
-                             else if (NR!=1) {print "​FALSE",​$0}}'​ | sort -k 10,10)) 
- 
-        # Si Quitter DVD6clone 
-        [[ $? -eq 1 ]] && MENU 
- 
-        echo "​aid=$aid"​ 
- 
-        # Contrôle DVD 
-        DVDIDENTIQUE 
- 
-        sid=$(zenity --list \ 
-                     ​--radiolist \ 
-                     ​--width=500 \ 
-                     ​--height=800 \ 
-                     ​--title="​DVD6clone"​ \ 
-                     ​--text="<​b>​Choississez un sous-titre</​b>"​ \ 
-                     ​--ok-label="​Valider choix" \ 
-                     ​--cancel-label="​Retour au menu" \ 
-                     ​--separator="​ " \ 
-                     ​--hide-column="​2,​3,​4,​5,​6,​7,​8,​9,​10,​12,​14,​15"​ \ 
-                     ​--print-column="​16"​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​Titre"​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​Durée"​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​Langue"​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​Format"​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​ID piste" \ 
-        $(echo "​$infoDVD"​ | 
-          awk '{if ($2=='​$titre'​ && $6=="​Sous-titre"​) {print $0}}' | 
-          awk 'BEGIN {print "TRUE . . . . . . . . . Aucun . . . . 999"} {print "​False",​$0}'​ | sort -k 10,10)) 
- 
-        # Si Quitter DVD6clone 
-        [[ $? -eq 1 ]] && MENU 
- 
-        echo "​sid=$sid"​ 
- 
-        zenity --info \ 
-               ​--title="​Mplayer contrôle"​ \ 
-               ​--text="​\n 
-               <​span color=\"​red\">​Molette de la souris</​span>​ 
-               <​span color=\"​red\">​Pavé directionnel\tAvance ou recule la vidéo</​span>​ 
-               <​span color=\"​blue\">​ESPACE\t\t\tPause (autre appui reprend la lecture)</​span>​ 
-               <​span color=\"​red\">​m\t\t\t\tCoupe le son (mute)</​span>​ 
-               <​span color=\"​blue\">​f\t\t\t\tBascule en mode plein-écran</​span>​ 
-               <​span color=\"​red\">#​\t\t\t\tSélection des pistes audio</​span>​ 
-               <​span color=\"​blue\">​v\t\t\t\tBascule l'​affichage des sous-titres</​span>​ 
-               <​span color=\"​red\">​j\t\t\t\tSélection des sous-titres</​span>​ 
-               <​span color=\"​blue\">​5\t\t\t\tMenu principal</​span>"​ & 
- 
-        pidZenityInfoMplayer=$! 
- 
-        # Lancement de Mplayer 
-        mplayer -dvd-device "​$pathDevice"​ -mouse-movements dvdnav://"​$titre"​ -aid "​$aid"​ -sid "​$sid"​ & 
- 
-        pidMplayer=$! 
-        wait "​$pidMplayer"​ 
-        kill "​$pidZenityInfoMplayer"​ 
- 
-        # Si Retour au menu 
-        [[ $? -eq 1 ]] && MENU 
-fi 
-} 
-#​============================================================================================================================================ 
-# Choix format de sortie 
-#​============================================================================================================================================ 
-FORMATCOPIEDVD() 
-{ 
-choixFormat=$(zenity --list \ 
-                     ​--radiolist\ 
-                     ​--title="​DVD6clone"​ \ 
-                     ​--text="<​b>​Sélectionnez un format</​b>"​ \ 
-                     ​--ok-label="​Valider choix" --cancel-label="​Retour au menu" \ 
-                     ​--hide-column="​2"​ \ 
-                     ​--print-column="​2"​ \ 
-                     ​--width=800 ​ \ 
-                     ​--height=450 ​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     "​TRUE"​ " 1" "​Dossier (VIDEO_TS et AUDIO_TS)"​ \ 
-                     "​FALSE"​ " 2" "Image ISO") 
- 
-# Choix 
-case "​$choixFormat"​ 
-        in 
-        " 1"​) ​ 
-                DVDBACKUP 
-                ;; 
- 
-        " 2"​) ​ 
-                ISO 
-                ;; 
- 
-        *) 
-esac 
-} 
-#​============================================================================================================================================ 
-# Copie du DVD dans dossier 
-#​============================================================================================================================================ 
-DVDBACKUP() 
-{ 
-# Choix nom video 
-cheminDossierDVD=$(zenity --file-selection \ 
-                          --title="​Sélectionnez le dossier de destination"​ \ 
-                          --directory \ 
-                          --filename="/​home/​$USER/​Bureau/​$titreDVD"​\ 
-                          --save) 
- 
-# Si Retour au menu 
-[[ $? -eq 1 ]] && MENU 
- 
-# Suppression dossier créer par zenity "​cheminVideo"​ 
-rm -fr "​$cheminDossierDVD"​ 
- 
-nomDossierDVD=$(echo "​$cheminDossierDVD"​ | awk -F "/"​ '​{print $NF}') 
-echo "​nomDossierDVD=$nomDossierDVD"​ 
- 
-cheminDossierDVD=$(echo "​$cheminDossierDVD"​ | awk '​{gsub(/​\/'"​$nomDossierDVD"'​$/,"",​$0);​print $0}') 
-echo "​cheminDossierDVD=$cheminDossierDVD"​ 
- 
-dossierMedia=$(df | awk '​$1=="'​$pathDevice'"​ {print $NF}') 
-echo "​dossierMedia=$dossierMedia"​ 
- 
-tailleDVD=$(du -cm "​$dossierMedia"​ | grep "​total"​ | awk '​{printf "​%d"​ ,$1}') 
-echo "​tailleDVD=$tailleDVD"​ 
- 
-# Vérification espace disque dur destination 
-nbrOperation="​1"​ 
-ESPACEDESTINATION 
- 
-# Remplacement espace par "​_"​ 
-nomDossierDVD=$(echo "​$nomDossierDVD"​ | tr " " "​_"​) 
- 
-tempsStart="​$(date '​+%s'​)"​ 
- 
-dvdbackup -p -v -M -i "​$pathDevice"​ -o "​$cheminDossierDVD"​ -n "​$nomDossierDVD"​ 2>&1 | 
-awk -v nomDossierDVD="​$nomDossierDVD"​ \ 
-    -v cheminDossierDVD="​$cheminDossierDVD"​ \ 
-    -v tempsStart="​$tempsStart"​ \ 
-    -v nbrOperation="​$nbrOperation"​ \ 
-    -v tailleDVD="​$tailleDVD"​ \ 
-    -v titreDVD="​$titreDVD"​ \ 
-    -vRS='​\r'​ \ 
-    -F [:%] '/​Copie en cours Titre/ { 
- 
-{ 
-a=("du -cm '​$cheminDossierDVD/​$nomDossierDVD'​ | grep total | cut -f1") 
-a|getline 
-tailleCopier=$0 
-close(a) 
-} 
- 
-{pourcentDvdbackup=(tailleCopier*100)/​tailleDVD} 
- 
-{tempsActuel = strftime ("​%s"​)};​ 
-{tailleCopierhumain = tailleDVDhumain*pourcentDvdbackup/​100} ; 
-{pourcentZenity = (pourcentDvdbackup/​nbrOperation)+0.1} ; 
-{tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-if (pourcentZenity<​1) ​ 
-{printf "​\n#​Copie du DVD en cours...\\n\\n"​ 
-printf "Nom du DVD : %s \\n" , titreDVD 
-printf "​Taille copiée : %d / %d Mo\\n" ,​tailleCopier,​tailleDVD 
-printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-printf "​Veuillez patienter..."​ } 
- 
-else {printf "​\n%d\n"​ ,​pourcentZenity 
-printf "​\n#​Copie du DVD en cours...\\n\\n"​ 
-printf "Nom du DVD : %s \\n" , titreDVD 
-printf "​Taille copiée : %d / %d Mo\\n" ,​tailleCopier,​tailleDVD 
-printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-printf "%d %" , pourcentZenity};​ fflush();​}'​ | 
-awk '​!x[$0]++;​fflush();'​ | 
-zenity --progress \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--width=400 \ 
-       ​--height=250 \ 
-       ​--cancel-label="​Annuler et retour au menu" \ 
-       ​--auto-close 
- 
-# Si Annuler retour au menu 
-[[ $? -eq 1 ]] && MENU 
- 
-mkdir "​$cheminDossierDVD/​$nomDossierDVD"/​AUDIO_TS 
- 
-# Signal sononor 
-aplay /​usr/​share/​dvd6clone/​dvd6clone_sound.wav 
- 
-# Message opération terminée 
-zenity --info \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--text="<​big><​b>​Terminé !</​b></​big>​ 
-              \n<​b>​Chemin copie(s)</​b>​\n<​span color=\"​blue\">"​$cheminDossierDVD/​$nomDossierDVD"</​span>"​ 
-} 
-#​============================================================================================================================================ 
-# Copie du DVD en ISO 
-#​============================================================================================================================================ 
-ISO() 
-{ 
-# Choix nom video 
-cheminDossierDVD=$(zenity --file-selection \ 
-                          --title="​Sélectionnez le dossier de destination"​ \ 
-                          --directory \ 
-                          --filename="/​home/​$USER/​Bureau/​$titreDVD"​\ 
-                          --save) 
- 
-# Si Retour au menu 
-[[ $? -eq 1 ]] && MENU 
- 
-# Suppression dossier créer par zenity "​cheminVideo"​ 
-rm -fr "​$cheminDossierDVD"​ 
- 
-nomDossierDVD=$(echo "​$cheminDossierDVD"​ | awk -F "/"​ '​{print $NF}') 
-echo "​nomDossierDVD=$nomDossierDVD"​ 
- 
-cheminDossierDVD=$(echo "​$cheminDossierDVD"​ | awk '​{gsub(/​\/'"​$nomDossierDVD"'​$/,"",​$0);​print $0}') 
-echo "​cheminDossierDVD=$cheminDossierDVD"​ 
- 
-dossierMedia=$(df | awk '​$1=="'​$pathDevice'"​ {print $NF}') 
-echo "​dossierMedia=$dossierMedia"​ 
- 
-tailleDVD=$(du -cm "​$dossierMedia"​ | grep "​total"​ | awk '​{printf "​%d"​ ,$1}') 
-echo "​tailleDVD=$tailleDVD"​ 
- 
-# Remplacement espace par "​_"​ 
-nomDossierDVD=$(echo "​$nomDossierDVD"​ | tr " " "​_"​) 
- 
-# Vérification espace disque dur destination 
-nbrOperation="​2"​ 
-ESPACEDESTINATION 
- 
-tempsStart="​$(date '​+%s'​)"​ 
-{ 
-dvdbackup -p -v -M -i "​$pathDevice"​ -o "​$dossierTMP"​ -n "​$nomDossierDVD"​ 2>&1 | 
-awk -v nomDossierDVD="​$nomDossierDVD"​ \ 
-    -v cheminDossierDVD="​$cheminDossierDVD"​ \ 
-    -v tempsStart="​$tempsStart"​ \ 
-    -v nbrOperation="​$nbrOperation"​ \ 
-    -v tailleDVD="​$tailleDVD"​ \ 
-    -v titreDVD="​$titreDVD"​ \ 
-    -vRS='​\r'​ \ 
-    -F [:%] '/​Copie en cours Titre/ { 
- 
-{ 
-a=("du -cm '​$dossierTMP/​$nomDossierDVD'​ | grep total | cut -f1") 
-a|getline 
-tailleCopier=$0 
-close(a) 
-} 
- 
-{pourcentDvdbackup=(tailleCopier*100)/​tailleDVD} 
- 
-{tempsActuel = strftime ("​%s"​)};​ 
-{tailleCopierhumain = tailleDVDhumain*pourcentDvdbackup/​100} ; 
-{pourcentZenity = (pourcentDvdbackup/​nbrOperation)+0.1} ; 
-{tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-if (pourcentZenity<​1) ​ 
-{printf "​\n#​Copie du DVD en cours...\\n\\n"​ 
-printf "Nom du DVD : %s \\n" , titreDVD 
-printf "​Taille copiée : %d / %d Mo\\n" ,​tailleCopier,​tailleDVD 
-printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-printf "​Veuillez patienter..."​ } 
- 
-else {printf "​\n%d\n"​ ,​pourcentZenity 
-printf "​\n#​Copie du DVD en cours...\\n\\n"​ 
-printf "Nom du DVD : %s \\n" , titreDVD 
-printf "​Taille copiée : %d / %d Mo\\n" ,​tailleCopier,​tailleDVD 
-printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-printf "%d %" , pourcentZenity};​ fflush();​}'​ | 
-awk '​!x[$0]++;​fflush();' ​ 
- 
-mkdir "​$dossierTMP/​$nomDossierDVD"/​AUDIO_TS 
- 
-# Création image ISO 
- 
-tailleCopier=$(du -cm "​$dossierTMP/​$nomDossierDVD"​ | grep total | cut -f1) 
- 
-[[ "​$tailleCopier"​ -ge "​$tailleDVD"​ ]] && genisoimage -v -r -J -o "​$cheminDossierDVD/​$nomDossierDVD.iso"​ "​$dossierTMP/​$nomDossierDVD"​ 2>&1 | 
- 
-awk -v tempsStart="​$tempsStart"​ \ 
--v nbrOperation="​$nbrOperation"​ \ 
--v tailleDVD="​$tailleDVD"​ \ 
--v titreDVD="​$titreDVD"​ \ 
--vRS='​\n'​ \ 
--F "​."​ '/% done,/ { 
- 
-{pourcentGenisoimage = $1} ; 
-{tempsActuel = strftime ("​%s"​)};​ 
-{tailleCopier = tailleDVD*pourcentGenisoimage/​100} ; 
-{pourcentZenity = (pourcentGenisoimage/​nbrOperation)+50} ; 
-{tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-{printf "​\n%d\n"​ ,​pourcentZenity ​ 
-printf "​\n#​Création image ISO du DVD...\\n\\n"​ 
-printf "Nom du DVD : %s \\n" , titreDVD 
-printf "​Taille ISO créée : %d/​%d\\n"​ ,​tailleCopier,​tailleDVD 
-printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-printf "%d %" , pourcentZenity ; fflush();​}}'​ | 
-awk '​!x[$0]++;​fflush();'​ 
-} |  
-zenity --progress \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--width=400 \ 
-       ​--height=250 \ 
-       ​--cancel-label="​Annuler et retour au menu" \ 
-       ​--auto-close 
- 
-# Si Annuler retour au menu 
-[[ $? -eq 1 ]] && MENU 
- 
-# Signal sononor 
-aplay /​usr/​share/​dvd6clone/​dvd6clone_sound.wav 
- 
-# Message opération terminée 
-zenity --info \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--text="<​big><​b>​Terminé !</​b></​big>​ 
-              \n<​b>​Chemin copie(s)</​b>​\n<​span color=\"​blue\">"​$cheminDossierDVD/​$nomDossierDVD.iso"</​span>"​ 
-} 
-#​============================================================================================================================================ 
-# Choix format de sortie 
-#​============================================================================================================================================ 
-FORMATCOPIETITRE() 
-{ 
-choixFormat=$(zenity --list \ 
-                     ​--radiolist\ 
-                     ​--title="​DVD6clone"​ \ 
-                     ​--text="<​b>​Sélectionnez un format</​b>"​ \ 
-                     ​--ok-label="​Valider choix" --cancel-label="​Retour au menu" \ 
-                     ​--hide-column="​2"​ \ 
-                     ​--print-column="​2"​ \ 
-                     ​--width=800 ​ \ 
-                     ​--height=450 ​ \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     ​--column="​ " \ 
-                     "​TRUE"​ " 1" "​Format VOB - Vidéo copie - Audio copie - sous-titrage copie" \ 
-                     "​FALSE"​ " 2" "​Format MKV - Video copie - Audio copie - sous-titrage copie" \ 
-                     "​FALSE"​ " 3" "​Format MKV - Video x264 - Audio ac3 - sous-titrage copie"​) 
- 
-# Choix 
-case "​$choixFormat"​ 
-        in 
-        " 1") VOB 
-              ;; 
- 
-        " 2") MKV 
-              ;; 
-              ​ 
-        " 3") X264 
-              ;; 
- 
-        *) 
-esac 
-} 
-#​============================================================================================================================================ 
-# Format VOB 
-#​============================================================================================================================================ 
-VOB() 
-{ 
-# Contrôle DVD 
-DVDIDENTIQUE 
- 
-# Choix titre(s) à copier 
-ZENITYTITRE 
- 
-zenityTitres=$(echo "​$zenityTitres"​ | tr "​|"​ " " | xargs -n 3) 
-echo "​zenityTitres=$zenityTitres"​ 
- 
-titres=$(echo "​$zenityTitres"​ | awk '​{print $1}') 
-echo "​titres=$titres"​ 
- 
-# Si selectionné tous les titres 
-if [[ $(echo $titres | awk '​{print $1}') -eq "​0"​ ]]; then 
-        titres="​$numTitres"​ 
-        zenityTitres=$(echo "​$infoDVD"​ | awk '​{print $2,​$4,​$5}'​ | sort -u) 
-fi 
- 
-echo "​titres=$titres"​ 
-echo "​zenityTitres=$zenityTitres"​ 
- 
-dureeOperationTotal=$(echo "​$zenityTitres"​ | awk '​{dureeOperationTotal = dureeOperationTotal + $3} END {print dureeOperationTotal}'​) 
-echo "​dureeOperationTotal=$dureeOperationTotal"​ 
- 
-# Destination vidéo 
-typeVideo="​vob"​ 
-DESTINATION_VIDEO 
- 
-# Vérification espace disque dur destination 
-nbrOperation="​2"​ 
-ESPACEDESTINATION 
- 
-# Copie titre(s) 
-tempsCopier="​1"​ 
-dureeOperationEffectue="​1"​ 
-tempsStart="​$(date '​+%s'​)"​ 
- 
-for i in $titres; do 
-      dureeSecTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $3}') 
-      dureeHMSTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $2}') 
- 
-      mplayer -dvd-device "​$pathDevice"​ -dumpstream dvdnav://$i -dumpfile "​$cheminVideo-Titre-$i.vob"​ 2>&1 | 
- 
-      awk -v titreDVD="​$titreDVD"​ \ 
-          -v dureeSecTitre="​$dureeSecTitre"​ \ 
-          -v dureeHMSTitre="​$dureeHMSTitre"​ \ 
-          -v tempsStart="​$tempsStart"​ \ 
-          -v dureeOperationEffectue="​$dureeOperationEffectue"​ \ 
-          -v tempsCopier="​$tempsCopier"​ \ 
-          -v dureeOperationTotal="​$dureeOperationTotal"​ \ 
-          -vRS='​\r'​ \ 
-          -F [~.] \ 
-          '/%)/ {{pourcentMplayer = $2} ; 
-                 ​{tempsActuel = strftime ("​%s"​)};​ 
-                 ​{tempsCopier = dureeSecTitre*pourcentMplayer/​100} ; 
-                 ​{pourcentZenity = (100*(tempsCopier+dureeOperationEffectue))/​dureeOperationTotal} ; 
-                  if (pourcentZenity<​1) {pourcentZenity=1} ; 
-                 ​{tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-                 ​{printf "​\n%d\n"​ ,​pourcentZenity 
-                  printf "​\n#​Ripe du titre '​$i'​ en cours...\\n\\n"​ 
-                  printf "Nom du DVD : %s \\n" , titreDVD 
-                  printf "Temps ripe du titre : %02d:​%02d:​%02d / %s \\n\\n",​ int(tempsCopier/​3600),​ int(tempsCopier/​60%60),​ tempsCopier%60 , dureeHMSTitre 
-                  printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-                  printf "%d %" , pourcentZenity ; fflush();​}}'​ 
- 
-      dureeOperationEffectue=$(echo "​$dureeSecTitre"​ "​$dureeOperationEffectue"​ | awk '​{dureeOperationEffectue = $1+$2} END {print dureeOperationEffectue}'​) 
-      echo "​$dureeOperationEffectue"​ > "​$dossierTMP/​dureeOperationEffectue.txt"​ 
-      echo "​$cheminVideo-Titre-$i.vob"​ >> "​$dossierTMP/​destination.txt"​ 
- 
-done | 
-awk '​!x[$0]++;​fflush();'​ | 
-zenity --progress \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--width=400 \ 
-       ​--height=250 \ 
-       ​--cancel-label="​Annuler et retour au menu" \ 
-       ​--auto-close 
- 
-# Si Annuler retour au menu 
-[[ $? -eq 1 ]] && MENU 
- 
-# Signal sononor 
-aplay /​usr/​share/​dvd6clone/​dvd6clone_sound.wav 
- 
-# Message opération terminée 
-zenity --info \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--text="<​big><​b>​Terminé !</​b></​big>​ 
-              \n<​b>​Chemin copie(s)</​b>​\n<​span color=\"​blue\">​$(cat "​$dossierTMP/​destination.txt"​)</​span>"​ 
-} 
-#​============================================================================================================================================ 
-# Format MKV video copie audio copie 
-#​============================================================================================================================================ 
-MKV() 
-{ 
-# Contrôle DVD 
-DVDIDENTIQUE 
- 
-# Choix titre(s) à copier 
-ZENITYTITRE 
- 
-zenityTitres=$(echo "​$zenityTitres"​ | tr "​|"​ " " | xargs -n 3) 
-echo "​zenityTitres=$zenityTitres"​ 
- 
-titres=$(echo "​$zenityTitres"​ | awk '​{print $1}') 
-echo "​titres=$titres"​ 
- 
-# Si selectionné tous les titres 
-if [[ $(echo $titres | awk '​{print $1}') -eq "​0"​ ]]; then 
-        titres="​$numTitres"​ 
-        zenityTitres=$(echo "​$infoDVD"​ | awk '​{print $2,​$4,​$5}'​ | sort -u) 
-fi 
- 
-echo "​titres=$titres"​ 
-echo "​zenityTitres=$zenityTitres"​ 
- 
-# Choix titre(s) à copier 
-zenityAudioSub=$(zenity --list \ 
-                        --checklist \ 
-                        --width=600 \ 
-                        --height=800 \ 
-                        --title="​DVD6clone"​ \ 
-                        --text="<​b>​Sélectionnez le titre à copier</​b>"​ \ 
-                        --ok-label="​Valider choix" \ 
-                        --cancel-label="​Retour au menu" \ 
-                        --separator="​ " \ 
-                        --hide-column="​2,​4,​6,​8,​9,​12,​14,​15"​ \ 
-                        --print-column="​3,​5,​6,​7,​8,​10,​11,​13,​15,​16"​ \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​Titre"​ \ 
-                        --column="​ " \ 
-                        --column="​Durée"​ \ 
-                        --column="​ " \ 
-                        --column="​Piste"​ \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​Langue"​ \ 
-                        --column="​ " \ 
-                        --column="​Format"​ \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​ID piste" \ 
-                        $(for i in $titres; do 
-                                awk '{if ($2=='​$i'​ && $6=="​Audio"​ && $9=="​fr"​) {print "​TRUE",​$0} 
-                                      else if ($2=='​$i'​) {print "​FALSE",​$0}}'​ <<<"​$infoDVD"​ 
-                          done)) 
- 
-# Si Quitter DVD6clone 
-[[ $? -eq 1 ]] && MENU 
- 
-zenityAudioSub=$(echo "​$zenityAudioSub"​ | xargs -n 10) 
-echo "​zenityAudioSub=$zenityAudioSub"​ 
- 
-titres=$(echo "​$zenityAudioSub"​ | awk '​{print $1}' | sort -u) 
-echo "​titres=$titres"​ 
- 
-dureeOperationVOB=$(echo "​$zenityAudioSub"​ | awk '​{print $1,​$3}'​ | sort -u | awk '{time = time + $2} END {printf "​%d\n",​ time}'​) 
-echo "​dureeOperationVOB=$dureeOperationVOB"​ 
- 
-dureeOperationMPG=$(echo "​$zenityAudioSub"​ | awk '​{print $1,​$3}'​ | sort -u | awk '{time = time + $2} END {printf "​%d\n",​ time}'​) 
-echo "​dureeOperationMPG=$dureeOperationMPG"​ 
- 
-dureeOperationSUB=$(echo "​$zenityAudioSub"​ | awk '{if ($4=="​Sous-titre"​) {time = time + $3}} END {printf "​%d\n",​ time}'​) 
-echo "​dureeOperationSUB=$dureeOperationSUB"​ 
- 
-dureeOperationMKV="​$dureeOperationVOB"​ 
-echo "​dureeOperationMKV=$dureeOperationMKV"​ 
- 
-dureeOperationTotal=$(echo "​$dureeOperationVOB $dureeOperationMPG $dureeOperationSUB $dureeOperationMKV"​ | awk '​{print $1+$2+$3+$4}'​) 
-echo "​dureeOperationTotal=$dureeOperationTotal"​ 
- 
-# Destination vidéo 
-typeVideo="​mkv"​ 
-DESTINATION_VIDEO 
- 
-# Vérification espace disque dur destination 
-nbrOperation="​3"​ 
-ESPACEDESTINATION 
- 
-#Extraction chapitrage 
-for i in $titres; do 
-dvdxchap -t $i "​$pathDevice"​ > "​$dossierTMP/​chapters-titre-$i.txt"​ 
-done 
-{ 
-# Ripe titre(s) sur disque dur 
-tempsCopier="​1"​ 
-dureeOperationEffectue="​1"​ 
-tempsStart="​$(date '​+%s'​)"​ 
- 
-for i in $titres; do 
-      dureeSecTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $3}') 
-      dureeHMSTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $2}') 
- 
-      mplayer -dvd-device "​$pathDevice"​ -dumpstream dvdnav://$i -dumpfile "​$dossierTMP/​Titre-$i.vob"​ 2>&1 | 
- 
-      awk -v titreDVD="​$titreDVD"​ \ 
-          -v dureeSecTitre="​$dureeSecTitre"​ \ 
-          -v dureeHMSTitre="​$dureeHMSTitre"​ \ 
-          -v tempsStart="​$tempsStart"​ \ 
-          -v dureeOperationEffectue="​$dureeOperationEffectue"​ \ 
-          -v tempsCopier="​$tempsCopier"​ \ 
-          -v dureeOperationTotal="​$dureeOperationTotal"​ \ 
-          -vRS='​\r'​ \ 
-          -F [~.] \ 
-          '/%)/ { 
-          {pourcentMplayer = $2}; 
-          {tempsActuel = strftime ("​%s"​)};​ 
-          {tempsCopier = dureeSecTitre*pourcentMplayer/​100} ; 
-          {pourcentZenity = (100*(tempsCopier+dureeOperationEffectue))/​dureeOperationTotal} ; 
-           if (pourcentZenity<​1) {pourcentZenity=1} ; 
-          {tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-          {printf "​\n%d\n"​ ,​pourcentZenity 
-           ​printf "​\n#​Ripe du titre '​$i'​ en cours...\\n\\n"​ 
-           ​printf "Nom du DVD : %s \\n" , titreDVD 
-           ​printf "Temps ripe du titre : %02d:​%02d:​%02d / %s \\n\\n",​ int(tempsCopier/​3600),​ int(tempsCopier/​60%60),​ tempsCopier%60 , dureeHMSTitre 
-           ​printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-           ​printf "%d %" , pourcentZenity ; fflush();​}}'​ 
- 
-      dureeOperationEffectue=$(echo "​$dureeSecTitre"​ "​$dureeOperationEffectue"​ | awk '​{dureeOperationEffectue = $1+$2} END {print dureeOperationEffectue}'​) 
-      echo "​$dureeOperationEffectue"​ > "​$dossierTMP/​dureeOperationEffectue.txt"​ 
-done | 
-awk '​!x[$0]++;​fflush();'​ 
- 
-# Caclul bande noir (crop) 
-mplayer "​$dossierTMP/​Titre-$i.vob"​ -vo null -nosound -vf cropdetect > "​$dossierTMP/​crop-Titre-$i.txt"​ & 
-pid=$! 
-sleep 10 
-kill $pid 
-crop=$(cat "​$dossierTMP/​crop-Titre-$i.txt"​ | awk -F [\(\)] '/​Crop/​ {print $2}' | awk 'END {print}'​) 
- 
-# Convertion format mpeg / ac3 
-for i in $titres; do 
-        dureeOperationEffectue=$(cat "​$dossierTMP/​dureeOperationEffectue.txt"​) 
- 
-        dureeSecTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $3}') 
-        dureeHMSTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $2}') 
- 
-        cdeVideoMap=$(ffmpeg -i "​$dossierTMP/​Titre-$i.vob"​ 2>&1 | awk -F [\ [#] '{if ($5=="​Stream"​ && $9=="​Video:"​) {print "​-map",​$7}}'​ | xargs -n 1000) 
-        cdeAudioMap=$(ffmpeg -i "​$dossierTMP/​Titre-$i.vob"​ 2>&1 | awk -F [\ [#] '{if ($5=="​Stream"​ && $9=="​Audio:"​) {print "​-map",​$7}}'​ | xargs -n 1000) 
- 
-        ffmpeg -y -i "​$dossierTMP/​Titre-$i.vob"​ -target pal-dvd $crop $cdeVideoMap $cdeAudioMap "​$dossierTMP/​Titre-$i.mpg"​ 2>&1 | 
-        awk -v titreDVD="​$titreDVD"​ \ 
-            -v dureeSecTitre="​$dureeSecTitre"​ \ 
-            -v dureeHMSTitre="​$dureeHMSTitre"​ \ 
-            -v tempsStart="​$tempsStart"​ \ 
-            -v dureeOperationEffectue="​$dureeOperationEffectue"​ \ 
-            -v tempsCopier="​$tempsCopier"​ \ 
-            -v dureeOperationTotal="​$dureeOperationTotal"​ \ 
-            -vRS='​\r'​ \ 
-            -F [:=.] \ 
-            '/​^frame/​ {\ 
-            {pourcentFFmpeg = (((($7*3600)+($8*60)+$9)*100)/​110)} ; ; 
-            {tempsActuel = strftime ("​%s"​)};​ 
-            {tempsCopier = (($7*3600)+($8*60)+$9)} ; 
-            {pourcentZenity = (100*(tempsCopier+dureeOperationEffectue))/​dureeOperationTotal} ; 
-             if (pourcentZenity<​1) {pourcentZenity=1} ; 
-            {tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-            {printf "​\n%d\n"​ ,​pourcentZenity 
-             ​printf "​\n#​Création vidéo MEPG du titre '​$i'​ en cours...\\n\\n"​ 
-             ​printf "Nom du DVD : %s \\n" , titreDVD 
-             ​printf "Temps création du titre : %02d:​%02d:​%02d / %s \\n\\n",​ int(tempsCopier/​3600),​ int(tempsCopier/​60%60),​ tempsCopier%60 , dureeHMSTitre 
-             ​printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-             ​printf "%d %" , pourcentZenity ; fflush();​}}'​ 
-        dureeOperationEffectue=$(echo "​$dureeSecTitre"​ "​$dureeOperationEffectue"​ | awk '​{dureeOperationEffectue = $1+$2} END {print dureeOperationEffectue}'​) 
-        echo "​$dureeOperationEffectue"​ > "​$dossierTMP/​dureeOperationEffectue.txt"​ 
-done | 
-awk '​!x[$0]++;​fflush();'​ 
- 
-# ripe sous-titre(s) 
-dureeOperationEffectue=$(cat "​$dossierTMP/​dureeOperationEffectue.txt"​) 
-echo "​dureeOperationEffectue=$dureeOperationEffectue"​ 
- 
-for i in $titres; do 
-      dureeSecTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $3}') 
-      dureeHMSTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $2}') 
-      sid=$(awk '​$1=='​$i'​ && $4=="​Sous-titre"​ {print $10}' <<<​ "​$zenityAudioSub"​) 
- 
-        for sid in $sid; do 
-                mencoder "​$dossierTMP/​Titre-$i.vob"​ -nosound -ovc frameno -sid "​$sid"​ -vobsubout "​$dossierTMP/​Titre-$i-sid-$sid"​ -vobsuboutindex 0 -o /dev/null | 
-                awk -v titreDVD="​$titreDVD"​ \ 
-                    -v dureeSecTitre="​$dureeSecTitre"​ \ 
-                    -v dureeHMSTitre="​$dureeHMSTitre"​ \ 
-                    -v tempsStart="​$tempsStart"​ \ 
-                    -v dureeOperationEffectue="​$dureeOperationEffectue"​ \ 
-                    -v tempsCopier="​$tempsCopier"​ \ 
-                    -v dureeOperationTotal="​$dureeOperationTotal"​ \ 
-                    -F [%\(] \ 
-                    -vRS='​\r'​ \ 
-                    '/%)/ { 
-                    {pourcentMencoder = $2} ; 
-                    {tempsActuel = strftime ("​%s"​)};​ 
-                    {tempsCopier = dureeSecTitre*pourcentMencoder/​100} ; 
-                    {pourcentZenity = (100*(tempsCopier+dureeOperationEffectue))/​dureeOperationTotal} ; 
-                     if (pourcentZenity<​1) {pourcentZenity=1} ; 
-                    {tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-                    {printf "​\n%d\n"​ ,​pourcentZenity 
-                    printf "​\n#​Ripe du sous-titre Titre-'​$i'​-sid-'​$sid'​ en cours...\\n\\n"​ 
-                    printf "Nom du DVD : %s \\n" , titreDVD 
-                    printf "Temps ripe du sous-titre : %02d:​%02d:​%02d / %s \\n\\n",​ int(tempsCopier/​3600),​ int(tempsCopier/​60%60),​ tempsCopier%60 , dureeHMSTitre 
-                    printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-                    printf "%d %" , pourcentZenity ; fflush();​}}'​ 
- 
-        dureeOperationEffectue=$(echo "​$dureeSecTitre"​ "​$dureeOperationEffectue"​ | awk '​{dureeOperationEffectue = $1+$2} END {print dureeOperationEffectue}'​) 
-        echo "​$dureeOperationEffectue"​ > "​$dossierTMP/​dureeOperationEffectue.txt"​ 
-        done 
-done | 
-awk '​!x[$0]++;​fflush();'​ 
- 
-# création vidéo MKV 
-dureeOperationEffectue=$(cat "​$dossierTMP/​dureeOperationEffectue.txt"​) 
- 
-for i in $titres; do 
-        cdeVideoMKV=$(mkvmerge -i "​$dossierTMP/​Titre-$i.vob"​ |  
-                      awk '​$3==video {printf "-d %s -A -S -T --forced-track %s:no --track-name %d:video --display-dimensions %s:1024x576 '​$dossierTMP'/​Titre-'​$i'​.mpg"​ ,​$3,​$3,​$3,​$3}'​) 
- 
-        cdeAudioMKV=$(echo "​$zenityAudioSub"​ |  
-                      awk '​$1=='​$i'​ && $4=="​Audio"​ {printf " -a %d -D -S -T --forced-track %d:no --track-name %d:Audio_%s '​$dossierTMP'/​Titre-'​$i'​.mpg"​ ,​$5,​$5,​$5,​$7}'​) 
- 
-        cdeSubMKV=$(echo "​$zenityAudioSub"​ |  
-                    awk '​$1=='​$i'​ && $4=="​Sous-titre"​ {printf "-A -D -s 0 -T --forced-track 0:no --track-name 0:​Sous-titre_%s '​$dossierTMP'/​Titre-'​$i'​-sid-%d.idx " ,​$7,​$10}'​) 
- 
-        dureeSecTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $3}') 
-        dureeHMSTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $2}') 
- 
-        mkvmerge -o "​$cheminVideo-Titre-$i.mkv"​ $cdeVideoMKV $cdeAudioMKV $cdeSubMKV --chapters "​$dossierTMP/​chapters-titre-$i.txt"​ 2>&1 | 
- 
-        awk -v titreDVD="​$titreDVD"​ \ 
-            -v dureeSecTitre="​$dureeSecTitre"​ \ 
-            -v dureeHMSTitre="​$dureeHMSTitre"​ \ 
-            -v tempsStart="​$tempsStart"​ \ 
-            -v dureeOperationEffectue="​$dureeOperationEffectue"​ \ 
-            -v tempsCopier="​$tempsCopier"​ \ 
-            -v dureeOperationTotal="​$dureeOperationTotal"​ \ 
-            -F [\ %] \ 
-            -vRS='​\r'​ \ 
-            '/​Progression :/ { 
-            {pourcentMkvmerge = $3} ; 
-            {tempsActuel = strftime ("​%s"​)};​ 
-            {tempsCopier = dureeSecTitre*pourcentMkvmerge/​100} ; 
-            {pourcentZenity = (100*(tempsCopier+dureeOperationEffectue))/​dureeOperationTotal} ; 
-             if (pourcentZenity<​1) {pourcentZenity=1} ; 
-            {tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-            {printf "​\n%d\n"​ ,​pourcentZenity 
-             ​printf "​\n#​Création vidéo MKV du titre '​$i'​ en cours...\\n\\n"​ 
-             ​printf "Nom du DVD : %s \\n" , titreDVD 
-             ​printf "Temps ripe du titre : %02d:​%02d:​%02d / %s \\n\\n",​ int(tempsCopier/​3600),​ int(tempsCopier/​60%60),​ tempsCopier%60 , dureeHMSTitre 
-             ​printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-             ​printf "%d %" , pourcentZenity ; fflush();​}}'​ 
- 
-      dureeOperationEffectue=$(echo "​$dureeSecTitre"​ "​$dureeOperationEffectue"​ | awk '​{dureeOperationEffectue = $1+$2} END {print dureeOperationEffectue}'​) 
-      echo "​$dureeOperationEffectue"​ > "​$dossierTMP/​dureeOperationEffectue.txt"​ 
-      echo "​$cheminVideo-Titre-$i.mkv"​ >> "​$dossierTMP/​destination.txt"​ 
-done | 
-awk '​!x[$0]++;​fflush();'​ 
-} | 
-zenity --progress \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--width=400 \ 
-       ​--height=250 \ 
-       ​--cancel-label="​Annuler et retour au menu" \ 
-       ​--auto-close 
- 
-# Si Annuler retour au menu 
-[[ $? -eq 1 ]] && MENU 
- 
-# Signal sononor 
-aplay /​usr/​share/​dvd6clone/​dvd6clone_sound.wav 
- 
-# Message opération terminée 
-zenity --info \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--text="<​big><​b>​Terminé !</​b></​big>​ 
-              \n<​b>​Chemin copie(s)</​b>​\n<​span color=\"​blue\">​$(cat "​$dossierTMP/​destination.txt"​)</​span>"​ 
-} 
-#​============================================================================================================================================ 
-# Format MKV vidéo X264 audio ac3 
-#​============================================================================================================================================ 
-X264() 
-{ 
-# Contrôle DVD 
-DVDIDENTIQUE 
- 
-# Choix titre(s) à copier 
-ZENITYTITRE 
- 
-zenityTitres=$(echo "​$zenityTitres"​ | tr "​|"​ " " | xargs -n 3) 
-echo "​zenityTitres=$zenityTitres"​ 
- 
-titres=$(echo "​$zenityTitres"​ | awk '​{print $1}') 
-echo "​titres=$titres"​ 
- 
-# Si selectionné tous les titres 
-if [[ $(echo $titres | awk '​{print $1}') -eq "​0"​ ]]; then 
-        titres="​$numTitres"​ 
-        zenityTitres=$(echo "​$infoDVD"​ | awk '​{print $2,​$4,​$5}'​ | sort -u) 
-fi 
- 
-echo "​titres=$titres"​ 
-echo "​zenityTitres=$zenityTitres"​ 
- 
-# Choix titre(s) à copier 
-zenityAudioSub=$(zenity --list \ 
-                        --checklist \ 
-                        --width=600 \ 
-                        --height=800 \ 
-                        --title="​DVD6clone"​ \ 
-                        --text="<​b>​Sélectionnez le titre à copier</​b>"​ \ 
-                        --ok-label="​Valider choix" \ 
-                        --cancel-label="​Retour au menu" \ 
-                        --separator="​ " \ 
-                        --hide-column="​2,​4,​6,​8,​9,​12,​14,​15"​ \ 
-                        --print-column="​3,​5,​6,​7,​8,​10,​11,​13,​15,​16"​ \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​Titre"​ \ 
-                        --column="​ " \ 
-                        --column="​Durée"​ \ 
-                        --column="​ " \ 
-                        --column="​Piste"​ \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​Langue"​ \ 
-                        --column="​ " \ 
-                        --column="​Format"​ \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​ID piste" \ 
-                        $(for i in $titres; do 
-                                awk '{if ($2=='​$i'​ && $6=="​Audio"​ && $9=="​fr"​) {print "​TRUE",​$0} 
-                                      else if ($2=='​$i'​) {print "​FALSE",​$0}}'​ <<<"​$infoDVD"​ 
-                          done)) 
- 
-# Si Quitter DVD6clone 
-[[ $? -eq 1 ]] && MENU 
- 
-zenityAudioSub=$(echo "​$zenityAudioSub"​ | xargs -n 10) 
-echo "​zenityAudioSub=$zenityAudioSub"​ 
- 
-titres=$(echo "​$zenityAudioSub"​ | awk '​{print $1}' | sort -u) 
-echo "​titres=$titres"​ 
- 
-dureeOperationVOB=$(echo "​$zenityAudioSub"​ | awk '​{print $1,​$3}'​ | sort -u | awk '{time = time + $2} END {printf "​%d\n",​ time}'​) 
-echo "​dureeOperationVOB=$dureeOperationVOB"​ 
- 
-dureeOperationMPG=$(echo "​$zenityAudioSub"​ | awk '​{print $1,​$3}'​ | sort -u | awk '{time = time + $2} END {printf "​%d\n",​ time}'​) 
-echo "​dureeOperationMPG=$dureeOperationMPG"​ 
- 
-dureeOperationSUB=$(echo "​$zenityAudioSub"​ | awk '{if ($4=="​Sous-titre"​) {time = time + $3}} END {printf "​%d\n",​ time}'​) 
-echo "​dureeOperationSUB=$dureeOperationSUB"​ 
- 
-dureeOperationMKV="​$dureeOperationVOB"​ 
-echo "​dureeOperationMKV=$dureeOperationMKV"​ 
- 
-dureeOperationTotal=$(echo "​$dureeOperationVOB $dureeOperationMPG $dureeOperationSUB $dureeOperationMKV"​ | awk '​{print $1+$2+$3+$4}'​) 
-echo "​dureeOperationTotal=$dureeOperationTotal"​ 
- 
-# Destination vidéo 
-typeVideo="​mkv"​ 
-DESTINATION_VIDEO 
- 
-# Vérification espace disque dur destination 
-nbrOperation="​3"​ 
-ESPACEDESTINATION 
- 
-# Choix qualité vidéo 
-crf=$(zenity --scale \ 
-             ​--title="​DVD6clone"​ \ 
-             ​--text="<​b>​Sélectionnez la qualité de votre nouvelle vidéo</​b>​\n\nPetit nombre = meilleure qualité mais plus de temps de calcul\n"​ \ 
-             ​--value=20 \ 
-             ​--min-value=0 \ 
-             ​--max-value=50 \ 
-             ​--ok-label="​Valider choix" \ 
-             ​--cancel-label="​Retour au menu") 
- 
-# Si Retour au menu 
-[[ $? -eq 1 ]] && MENU 
- 
-#Extraction chapitrage 
-for i in $titres; do 
-dvdxchap -t $i "​$pathDevice"​ > "​$dossierTMP/​chapters-titre-$i.txt"​ 
-done 
-{ 
-# Ripe titre(s) sur disque dur 
-tempsCopier="​1"​ 
-dureeOperationEffectue="​1"​ 
-tempsStart="​$(date '​+%s'​)"​ 
- 
-for i in $titres; do 
-      dureeSecTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $3}') 
-      dureeHMSTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $2}') 
- 
-      mplayer -dvd-device "​$pathDevice"​ -dumpstream dvdnav://$i -dumpfile "​$dossierTMP/​Titre-$i.vob"​ 2>&1 | 
- 
-      awk -v titreDVD="​$titreDVD"​ \ 
-          -v dureeSecTitre="​$dureeSecTitre"​ \ 
-          -v dureeHMSTitre="​$dureeHMSTitre"​ \ 
-          -v tempsStart="​$tempsStart"​ \ 
-          -v dureeOperationEffectue="​$dureeOperationEffectue"​ \ 
-          -v tempsCopier="​$tempsCopier"​ \ 
-          -v dureeOperationTotal="​$dureeOperationTotal"​ \ 
-          -vRS='​\r'​ \ 
-          -F [~.] \ 
-          '/%)/ { 
-          {pourcentMplayer = $2}; 
-          {tempsActuel = strftime ("​%s"​)};​ 
-          {tempsCopier = dureeSecTitre*pourcentMplayer/​100} ; 
-          {pourcentZenity = (100*(tempsCopier+dureeOperationEffectue))/​dureeOperationTotal} ; 
-           if (pourcentZenity<​1) {pourcentZenity=1} ; 
-          {tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-          {printf "​\n%d\n"​ ,​pourcentZenity 
-           ​printf "​\n#​Ripe du titre '​$i'​ en cours...\\n\\n"​ 
-           ​printf "Nom du DVD : %s \\n" , titreDVD 
-           ​printf "Temps ripe du titre : %02d:​%02d:​%02d / %s \\n\\n",​ int(tempsCopier/​3600),​ int(tempsCopier/​60%60),​ tempsCopier%60 , dureeHMSTitre 
-           ​printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-           ​printf "%d %" , pourcentZenity ; fflush();​}}'​ 
- 
-      dureeOperationEffectue=$(echo "​$dureeSecTitre"​ "​$dureeOperationEffectue"​ | awk '​{dureeOperationEffectue = $1+$2} END {print dureeOperationEffectue}'​) 
-      echo "​$dureeOperationEffectue"​ > "​$dossierTMP/​dureeOperationEffectue.txt"​ 
-done | 
-awk '​!x[$0]++;​fflush();'​ 
- 
-# Caclul bande noir (crop) 
-mplayer "​$dossierTMP/​Titre-$i.vob"​ -vo null -nosound -vf cropdetect > "​$dossierTMP/​crop-Titre-$i.txt"​ & 
-pid=$! 
-sleep 10 
-kill $pid 
-crop=$(cat "​$dossierTMP/​crop-Titre-$i.txt"​ | awk -F [\(\)] '/​Crop/​ {print $2}' | awk 'END {print}'​) 
- 
-# Convertion format x264 / ac3 
-for i in $titres; do 
-        dureeOperationEffectue=$(cat "​$dossierTMP/​dureeOperationEffectue.txt"​) 
- 
-        dureeSecTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $3}') 
-        dureeHMSTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $2}') 
- 
-        cdeVideoMap=$(ffmpeg -i "​$dossierTMP/​Titre-$i.vob"​ 2>&1 | awk -F [\ [#] '{if ($5=="​Stream"​ && $9=="​Video:"​) {print "​-map",​$7}}'​ | xargs -n 1000) 
-        cdeAudioMap=$(ffmpeg -i "​$dossierTMP/​Titre-$i.vob"​ 2>&1 | awk -F [\ [#] '{if ($5=="​Stream"​ && $9=="​Audio:"​) {print "​-map",​$7}}'​ | xargs -n 1000) 
- 
-        ffmpeg -y -i "​$dossierTMP/​Titre-$i.vob"​ -threads 0 $cdeVideoMap $cdeAudioMap -vcodec libx264 -preset slow -crf $crf $crop -acodec aac -ar 44100 -ab 256k -ac 2 "​$dossierTMP/​Titre-$i.mkv"​ 2>&1 | 
-        awk -v titreDVD="​$titreDVD"​ \ 
-            -v dureeSecTitre="​$dureeSecTitre"​ \ 
-            -v dureeHMSTitre="​$dureeHMSTitre"​ \ 
-            -v tempsStart="​$tempsStart"​ \ 
-            -v dureeOperationEffectue="​$dureeOperationEffectue"​ \ 
-            -v tempsCopier="​$tempsCopier"​ \ 
-            -v dureeOperationTotal="​$dureeOperationTotal"​ \ 
-            -vRS='​\r'​ \ 
-            -F [:=.] \ 
-            '/​^frame/​ {\ 
-            {pourcentFFmpeg = (((($7*3600)+($8*60)+$9)*100)/​110)} ; ; 
-            {tempsActuel = strftime ("​%s"​)};​ 
-            {tempsCopier = (($7*3600)+($8*60)+$9)} ; 
-            {pourcentZenity = (100*(tempsCopier+dureeOperationEffectue))/​dureeOperationTotal} ; 
-             if (pourcentZenity<​1) {pourcentZenity=1} ; 
-            {tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-            {printf "​\n%d\n"​ ,​pourcentZenity 
-             ​printf "​\n#​Convertion vidéo et audio du titre '​$i'​ en cours...\\n\\n"​ 
-             ​printf "Nom du DVD : %s \\n" , titreDVD 
-             ​printf "Temps création du titre : %02d:​%02d:​%02d / %s \\n\\n",​ int(tempsCopier/​3600),​ int(tempsCopier/​60%60),​ tempsCopier%60 , dureeHMSTitre 
-             ​printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-             ​printf "%d %" , pourcentZenity ; fflush();​}}'​ 
-        dureeOperationEffectue=$(echo "​$dureeSecTitre"​ "​$dureeOperationEffectue"​ | awk '​{dureeOperationEffectue = $1+$2} END {print dureeOperationEffectue}'​) 
-        echo "​$dureeOperationEffectue"​ > "​$dossierTMP/​dureeOperationEffectue.txt"​ 
-done | 
-awk '​!x[$0]++;​fflush();'​ 
- 
-# ripe sous-titre(s) 
-dureeOperationEffectue=$(cat "​$dossierTMP/​dureeOperationEffectue.txt"​) 
-echo "​dureeOperationEffectue=$dureeOperationEffectue"​ 
- 
-for i in $titres; do 
-      dureeSecTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $3}') 
-      dureeHMSTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $2}') 
-      sid=$(awk '​$1=='​$i'​ && $4=="​Sous-titre"​ {print $10}' <<<​ "​$zenityAudioSub"​) 
- 
-        for sid in $sid; do 
-                mencoder "​$dossierTMP/​Titre-$i.vob"​ -nosound -ovc frameno -sid "​$sid"​ -vobsubout "​$dossierTMP/​Titre-$i-sid-$sid"​ -vobsuboutindex 0 -o /dev/null | 
-                awk -v titreDVD="​$titreDVD"​ \ 
-                    -v dureeSecTitre="​$dureeSecTitre"​ \ 
-                    -v dureeHMSTitre="​$dureeHMSTitre"​ \ 
-                    -v tempsStart="​$tempsStart"​ \ 
-                    -v dureeOperationEffectue="​$dureeOperationEffectue"​ \ 
-                    -v tempsCopier="​$tempsCopier"​ \ 
-                    -v dureeOperationTotal="​$dureeOperationTotal"​ \ 
-                    -F [%\(] \ 
-                    -vRS='​\r'​ \ 
-                    '/%)/ { 
-                    {pourcentMencoder = $2} ; 
-                    {tempsActuel = strftime ("​%s"​)};​ 
-                    {tempsCopier = dureeSecTitre*pourcentMencoder/​100} ; 
-                    {pourcentZenity = (100*(tempsCopier+dureeOperationEffectue))/​dureeOperationTotal} ; 
-                     if (pourcentZenity<​1) {pourcentZenity=1} ; 
-                    {tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-                    {printf "​\n%d\n"​ ,​pourcentZenity 
-                    printf "​\n#​Ripe du sous-titre Titre-'​$i'​-sid-'​$sid'​ en cours...\\n\\n"​ 
-                    printf "Nom du DVD : %s \\n" , titreDVD 
-                    printf "Temps ripe du sous-titre : %02d:​%02d:​%02d / %s \\n\\n",​ int(tempsCopier/​3600),​ int(tempsCopier/​60%60),​ tempsCopier%60 , dureeHMSTitre 
-                    printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-                    printf "%d %" , pourcentZenity ; fflush();​}}'​ 
- 
-        dureeOperationEffectue=$(echo "​$dureeSecTitre"​ "​$dureeOperationEffectue"​ | awk '​{dureeOperationEffectue = $1+$2} END {print dureeOperationEffectue}'​) 
-        echo "​$dureeOperationEffectue"​ > "​$dossierTMP/​dureeOperationEffectue.txt"​ 
-        done 
-done | 
-awk '​!x[$0]++;​fflush();'​ 
- 
-# création vidéo MKV 
-dureeOperationEffectue=$(cat "​$dossierTMP/​dureeOperationEffectue.txt"​) 
- 
-for i in $titres; do 
-        cdeVideoMKV=$(mkvmerge -i "​$dossierTMP/​Titre-$i.vob"​ |  
-                      awk '​$3==video {printf "-d %s -A -S -T --forced-track %s:no --track-name %d:video --display-dimensions %s:1024x576 '​$dossierTMP'/​Titre-'​$i'​.mkv"​ ,​$3,​$3,​$3,​$3}'​) 
- 
-        cdeAudioMKV=$(echo "​$zenityAudioSub"​ |  
-                      awk '​$1=='​$i'​ && $4=="​Audio"​ {printf " -a %d -D -S -T --forced-track %d:no --track-name %d:Audio_%s '​$dossierTMP'/​Titre-'​$i'​.mkv"​ ,​$5,​$5,​$5,​$7}'​) 
- 
-        cdeSubMKV=$(echo "​$zenityAudioSub"​ |  
-                    awk '​$1=='​$i'​ && $4=="​Sous-titre"​ {printf "-A -D -s 0 -T --forced-track 0:no --track-name 0:​Sous-titre_%s '​$dossierTMP'/​Titre-'​$i'​-sid-%d.idx " ,​$7,​$10}'​) 
- 
-        dureeSecTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $3}') 
-        dureeHMSTitre=$(echo "​$zenityTitres"​ | awk '/​^'​$i'/​ {print $2}') 
- 
-        mkvmerge -o "​$cheminVideo-Titre-$i.mkv"​ $cdeVideoMKV $cdeAudioMKV $cdeSubMKV --chapters "​$dossierTMP/​chapters-titre-$i.txt"​ 2>&1 | 
- 
-        awk -v titreDVD="​$titreDVD"​ \ 
-            -v dureeSecTitre="​$dureeSecTitre"​ \ 
-            -v dureeHMSTitre="​$dureeHMSTitre"​ \ 
-            -v tempsStart="​$tempsStart"​ \ 
-            -v dureeOperationEffectue="​$dureeOperationEffectue"​ \ 
-            -v tempsCopier="​$tempsCopier"​ \ 
-            -v dureeOperationTotal="​$dureeOperationTotal"​ \ 
-            -F [\ %] \ 
-            -vRS='​\r'​ \ 
-            '/​Progression :/ { 
-            {pourcentMkvmerge = $3} ; 
-            {tempsActuel = strftime ("​%s"​)};​ 
-            {tempsCopier = dureeSecTitre*pourcentMkvmerge/​100} ; 
-            {pourcentZenity = (100*(tempsCopier+dureeOperationEffectue))/​dureeOperationTotal} ; 
-             if (pourcentZenity<​1) {pourcentZenity=1} ; 
-            {tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-            {printf "​\n%d\n"​ ,​pourcentZenity 
-             ​printf "​\n#​Création vidéo MKV du titre '​$i'​ en cours...\\n\\n"​ 
-             ​printf "Nom du DVD : %s \\n" , titreDVD 
-             ​printf "Temps ripe du titre : %02d:​%02d:​%02d / %s \\n\\n",​ int(tempsCopier/​3600),​ int(tempsCopier/​60%60),​ tempsCopier%60 , dureeHMSTitre 
-             ​printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-             ​printf "%d %" , pourcentZenity ; fflush();​}}'​ 
- 
-      dureeOperationEffectue=$(echo "​$dureeSecTitre"​ "​$dureeOperationEffectue"​ | awk '​{dureeOperationEffectue = $1+$2} END {print dureeOperationEffectue}'​) 
-      echo "​$dureeOperationEffectue"​ > "​$dossierTMP/​dureeOperationEffectue.txt"​ 
-      echo "​$cheminVideo-Titre-$i.mkv"​ >> "​$dossierTMP/​destination.txt"​ 
-done | 
-awk '​!x[$0]++;​fflush();'​ 
-} | 
-zenity --progress \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--width=400 \ 
-       ​--height=250 \ 
-       ​--cancel-label="​Annuler et retour au menu" \ 
-       ​--auto-close 
- 
-# Si Annuler retour au menu 
-[[ $? -eq 1 ]] && MENU 
- 
-# Signal sononor 
-aplay /​usr/​share/​dvd6clone/​dvd6clone_sound.wav 
- 
-# Message opération terminée 
-zenity --info \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--text="<​big><​b>​Terminé !</​b></​big>​ 
-              \n<​b>​Chemin copie(s)</​b>​\n<​span color=\"​blue\">​$(cat "​$dossierTMP/​destination.txt"​)</​span>"​ 
-} 
-#​============================================================================================================================================ 
-# Convertion vobsub en STR 
-#​============================================================================================================================================ 
-STR() 
-{ 
-# Contrôle DVD 
-DVDIDENTIQUE 
- 
-# Choix titre(s) à copier 
-ZENITYTITRE 
- 
-zenityTitres=$(echo "​$zenityTitres"​ | tr "​|"​ " " | xargs -n 3) 
-echo "​zenityTitres=$zenityTitres"​ 
- 
-titres=$(echo "​$zenityTitres"​ | awk '​{print $1}') 
-echo "​titres=$titres"​ 
- 
-# Si selectionné tous les titres 
-if [[ $(echo $titres | awk '​{print $1}') -eq "​0"​ ]]; then 
-        titres="​$numTitres"​ 
-        zenityTitres=$(echo "​$infoDVD"​ | awk '​{print $2,​$4,​$5}'​ | sort -u) 
-fi 
- 
-echo "​titres=$titres"​ 
-echo "​zenityTitres=$zenityTitres"​ 
- 
-# Choix titre(s) à copier 
-zenitySub=$(zenity --list \ 
-                        --checklist \ 
-                        --width=500 \ 
-                        --height=800 \ 
-                        --title="​DVD6clone"​ \ 
-                        --text="<​b>​Choississez un ou des sous-titres à convertir en STR</​b>"​ \ 
-                        --ok-label="​Valider choix" \ 
-                        --cancel-label="​Retour au menu" \ 
-                        --separator="​ " \ 
-                        --hide-column="​2,​4,​5,​6,​7,​8,​9,​10,​12,​13,​14,​15,​17"​ \ 
-                        --print-column="​3,​5,​6,​7,​8,​10,​11,​13,​16,​17"​ \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​Titre"​ \ 
-                        --column="​ " \ 
-                        --column="​Durée"​ \ 
-                        --column="​ " \ 
-                        --column="​Piste"​ \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​Langue"​ \ 
-                        --column="​ " \ 
-                        --column="​Format"​ \ 
-                        --column="​ " \ 
-                        --column="​ " \ 
-                        --column="​ID piste" \ 
-                        --column="​ " \ 
-                        $(for i in $titres; do 
-                                awk '{if ($2=='​$i'​ && $9=="​fr"​) {print "​TRUE",​$0,"​fra"​} 
-                                 else if ($2=='​$i'​ && $9=="​en"​) {print "​FALSE",​$0,"​eng"​} 
-                                 else if ($2=='​$i'​ && $9=="​de"​) {print "​FALSE",​$0,"​deu"​} 
-                                 else if ($2=='​$i'​ && $9=="​es"​) {print "​FALSE",​$0,"​spa"​} 
-                                 else if ($2=='​$i'​ && $9=="​nl"​) {print "​FALSE",​$0,"​nld"​} 
-                                 else if ($2=='​$i'​ && $9=="​it"​) {print "​FALSE",​$0,"​ita"​} 
-                                 else if ($2=='​$i'​ && $9=="​pt"​) {print "​FALSE",​$0,"​por"​}}'​ <<<​ "$(awk '​$6=="​Sous-titre"​ {print $0}' <<<​ "​$infoDVD"​)"​ 
-                          done)) 
- 
-# Si Quitter DVD6clone 
-[[ $? -eq 1 ]] && MENU 
- 
-zenitySub=$(echo "​$zenitySub"​ | xargs -n 10) 
-echo "​zenitySub=$zenitySub"​ 
- 
-titres=$(echo "​$zenitySub"​ | awk '​{print $1}' | sort -u) 
-echo "​titres=$titres"​ 
- 
-dureeOperationVOB=$(echo "​$zenitySub"​ | awk '​{print $1,​$3}'​ | sort -u | awk '{time = time + $2} END {printf "​%d\n",​ time}'​) 
-echo "​dureeOperationVOB=$dureeOperationVOB"​ 
- 
-dureeOperationSTR=$(echo "​$zenitySub"​ | awk '{if ($4=="​Sous-titre"​) {time = time + $3}} END {printf "​%d\n",​ time}'​) 
-echo "​dureeOperationSTR=$dureeOperationSTR"​ 
- 
-dureeOperationTotal=$(echo "​$dureeOperationVOB $dureeOperationSUB $dureeOperationSTR"​ | awk '​{print $1+$2+$3}'​) 
-echo "​dureeOperationTotal=$dureeOperationTotal"​ 
- 
-# Destination vidéo 
-typeVideo="​str"​ 
-DESTINATION_VIDEO 
- 
-# Création dossier PGM 
-dossierPGM="​$dossierTMP/​PGM"​ 
-mkdir "​$dossierPGM"​ 
- 
-# Vérification espace disque dur destination 
-nbrOperation="​1"​ 
-ESPACEDESTINATION 
- 
-{ 
-# Ripe titre(s) sur disque dur 
-tempsCopier="​1"​ 
-dureeOperationEffectue="​1"​ 
-tempsStart="​$(date '​+%s'​)"​ 
- 
-for i in $titres; do 
-      dureeSecTitre=$(echo "​$zenitySub"​ | awk '/​^'​$i'/​ {print $3}' | sort -u) 
-      dureeHMSTitre=$(echo "​$zenitySub"​ | awk '/​^'​$i'/​ {print $2}' | sort -u) 
- 
-      mplayer -dvd-device "​$pathDevice"​ -dumpstream dvdnav://$i -dumpfile "​$dossierTMP/​Titre-$i.vob"​ 2>&1 | 
- 
-        awk -v titreDVD="​$titreDVD"​ \ 
-          -v dureeSecTitre="​$dureeSecTitre"​ \ 
-          -v dureeHMSTitre="​$dureeHMSTitre"​ \ 
-          -v tempsStart="​$tempsStart"​ \ 
-          -v dureeOperationEffectue="​$dureeOperationEffectue"​ \ 
-          -v tempsCopier="​$tempsCopier"​ \ 
-          -v dureeOperationTotal="​$dureeOperationTotal"​ \ 
-          -vRS='​\r'​ \ 
-          -F [~.] \ 
-          '/%)/ { 
-          {pourcentMplayer = $2} ; 
-          {tempsActuel = strftime ("​%s"​)};​ 
-          {tempsCopier = dureeSecTitre*pourcentMplayer/​100} ; 
-          {pourcentZenity = (100*(tempsCopier+dureeOperationEffectue))/​dureeOperationTotal} ; 
-           if (pourcentZenity<​1) {pourcentZenity=1} ; 
-          {tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-          {printf "​\n%d\n"​ ,​pourcentZenity 
-           ​printf "​\n#​Ripe du titre '​$i'​ en cours...\\n\\n"​ 
-           ​printf "Nom du DVD : %s \\n" , titreDVD 
-           ​printf "Temps ripe du titre : %02d:​%02d:​%02d / %s \\n\\n",​ int(tempsCopier/​3600),​ int(tempsCopier/​60%60),​ tempsCopier%60 , dureeHMSTitre 
-           ​printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-           ​printf "%d %" , pourcentZenity ; fflush();​}}'​ 
- 
-        dureeOperationEffectue=$(echo "​$dureeSecTitre"​ "​$dureeOperationEffectue"​ | awk '​{dureeOperationEffectue = $1+$2} END {print dureeOperationEffectue}'​) 
-        echo "​$dureeOperationEffectue"​ > "​$dossierTMP/​dureeOperationEffectue.txt"​ 
-done | 
-awk '​!x[$0]++;​fflush();'​ 
- 
-# Opération transformation Vobsub en STR 
-for i in $titres; do 
- 
-        sid=$(awk '​$1=='​$i'​ && $4=="​Sous-titre"​ {print $9}' <<<​ "​$zenitySub"​) 
- 
-        for sid in $sid; do 
- 
-        # Création dossier extraction sous-titre 
-        mkdir "​$dossierPGM/​Titre-$i-sid-$sid"​ 
-        cd "​$dossierPGM/​Titre-$i-sid-$sid"​ 
- 
-        # extraction soustitre 
-        tcextract -i "​$dossierTMP/​Titre-$i.vob"​ -x ps1 -a $((0x20 + $sid)) > "​vobsub-Titre-$i-sid-$sid"​ 
- 
-        # Extraction soustitres en images PGM 
-        subtitle2pgm -i "​vobsub-Titre-$i-sid-$sid"​ -o "​vobsub-Titre-$i-sid-$sid"​ -c 0,0,255,255 
- 
-        # Liste fichiers PGM 
-        fichierPGM=$(ls | grep "​.pgm$"​) 
-        nbrFichiersPGM=$(ls | grep "​.pgm$"​ | wc -l ) 
- 
-        dureeOperationEffectue=$(cat "​$dossierTMP/​dureeOperationEffectue.txt"​) 
-        pourcentDejaEffectue=$(echo "​$dureeOperationEffectue $dureeOperationTotal"​ | awk '​{pourcentDejaEffectue = ($1*100)/​$2} END {print pourcentDejaEffectue}'​) 
-        dureeSecTitre=$(echo "​$zenitySub"​ | awk '/​^'​$i'/​ {print $3}' | sort -u) 
- 
-                for fichierPGM in $fichierPGM;​ do 
-                        langue=$(echo "​$zenitySub"​ | awk '​$1=='​$i'​ && $9=='​$sid'​ {print $10}' | sort -u) 
-                        tesseract "​$fichierPGM"​ "​$fichierPGM"​ -l "​$langue"​ 2>&1 
-                        nbrFichiersTXT=$(ls -l | grep "​.txt$"​ | wc -l ) 
-                        echo "​$nbrFichiersPGM $nbrFichiersTXT"​ | 
- 
-                        awk -v dureeSecTitre="​$dureeSecTitre"​ \ 
-                            -v dureeOperationTotal="​$dureeOperationTotal"​ \ 
-                            -v pourcentDejaEffectue="​$pourcentDejaEffectue"​ \ 
-                            -v tempsStart="​$tempsStart"​ \ 
-                            -v titreDVD="​$titreDVD"​ \ 
-                            '​{pourcentTesseract = ($2*100/​$1)};​ 
-                             ​{pourcentZenity = pourcentDejaEffectue+(pourcentTesseract/​(dureeOperationTotal/​dureeSecTitre))};​ 
-                             ​{tempsActuel = strftime ("​%s"​)};​ 
-                             ​{tempsRestantSecTotal = ((tempsActuel-tempsStart)*100/​pourcentZenity)-(tempsActuel-tempsStart)};​ 
- 
-                             ​{printf "​\n%d\n"​ ,​pourcentZenity 
-                              printf "​\n#​Scannage sous-titre Titre-'​$i'​-sid-'​$sid'​ en cours...\\n\\n"​ 
-                              printf "Nom du DVD : %s \\n" , titreDVD 
-                              printf "​Images scannées : %s / %s \\n\\n"​ ,'​$nbrFichiersTXT','​$nbrFichiersPGM' ​ 
-                              printf "Temps total restant estimé : %02d:​%02d:​%02d \\n\\n",​ int(tempsRestantSecTotal/​3600),​ int(tempsRestantSecTotal/​60%60),​ tempsRestantSecTotal%60 
-                              printf "%d %\n" , pourcentZenity ; fflush();​}'​ 
-                done | 
-                awk '​!x[$0]++;​fflush();'​ 
- 
-        # Création sous-titre STR 
-        langue=$(echo "​$zenitySub"​ | awk '​$1=='​$i'​ && $9=='​$sid'​ {print $10}' | sort -u) 
-        srttool -s -i "​vobsub-Titre-$i-sid-$sid.srtx"​ -o "​$cheminVideo-Titre-$i-sid-$sid-$langue.srt" ​ 
- 
-        dureeOperationEffectue=$(echo "​$dureeSecTitre"​ "​$dureeOperationEffectue"​ | awk '​{dureeOperationEffectue = $1+$2} END {print dureeOperationEffectue}'​) 
-        echo "​$dureeOperationEffectue"​ > "​$dossierTMP/​dureeOperationEffectue.txt"​ 
-        echo "​$cheminVideo-Titre-$i-sid-$sid-$langue.srt"​ >> "​$dossierTMP/​destination.txt"​ 
-        done 
-done 
- 
-} | 
-zenity --progress \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--width=400 \ 
-       ​--height=250 \ 
-       ​--cancel-label="​Annuler et retour au menu" \ 
-       ​--auto-close 
-        
-# Signal sononor 
-aplay /​usr/​share/​dvd6clone/​dvd6clone_sound.wav 
- 
-# Message opération terminée 
-zenity --info \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--width=500 \ 
-       ​--height=250 \ 
-       ​--text="<​big><​b>​Terminé !</​b></​big>​ 
-              \n<​b>​Chemin copie(s)</​b>​\n<​span color=\"​blue\">​$(cat "​$dossierTMP/​destination.txt"​)</​span>"​ 
-} 
-#​============================================================================================================================================ 
-# Information DVD 
-#​============================================================================================================================================ 
-INFODVD() 
-{ 
-zenity --text-info \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--width=1200 ​ \ 
-       ​--height=800 ​ \ 
-       ​--filename=""​$dossierTMP/​lsdvd.txt""​ 
-} 
-#​============================================================================================================================================ 
-# Aide 
-#​============================================================================================================================================ 
-AIDE() 
-{ 
-zenity --text-info \ 
-       ​--title="​DVD6clone"​ \ 
-       ​--width=1200 ​ \ 
-       ​--height=800 ​ \ 
-       ​--filename="/​usr/​share/​dvd6clone/​DVD6clone-info.txt"​ 
-} 
-#​============================================================================================================================================ 
-# Lancement programme 
-#​============================================================================================================================================ 
-DVDMONTE 
-MENU 
-</​code>​ 
- 
-===== Démarrage et utilisation de DVD6clone ===== 
- 
- 
-Tapons dans un terminal le chemin vers le fichier du script, par exemple si il se trouve dans notre /home. 
- 
-<​code>/​home/​$USER/​DVD6clone</​code>​ 
- 
-ou plus simplement en faisant un double clic dessus le fichier <​key>​DVD6clone</​key>​ 
- 
-L'​utilisation de DVD6clone est relativement simple pour plus d'info à son sujet consultez l'​option "//​Aide et info de DVD6clone//"​ dans le menu principal de DVD6clone. 
- 
-{{ /​file-R71e12d66c5e8c8825e9fab663c20fe44.png?​1000 }} 
- 
- 
- 
-===== Liens =====  
- 
-[[http://​debian-facile.org/​viewtopic.php?​id=8019|Discussion sur le forum concernant DVD6clone]] 
- 
-[[https://​launchpad.net/​~slyfox-free/​+archive/​dvd6clone/​|ppa:​slyfox-free/​dvd6clone]] remarque ce lien est HS !!! 
- 
- 
-   
- 
- 
- 
- 
  

Pied de page des forums

Propulsé par FluxBB