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
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
utilisateurs:slyfox:scripts:accueil [31/07/2018 13:14]
Slyfox [Sylmedia]
utilisateurs:slyfox:scripts:accueil [31/07/2018 13:50]
Slyfox [Sylmedia]
Ligne 16: Ligne 16:
 apt-get install ffmpeg yad flac vorbis-tools eyed3 kid3-cli</​code>​ apt-get install ffmpeg yad flac vorbis-tools eyed3 kid3-cli</​code>​
  
-Copier le script ci-dessous dans un fichier et le nommer slymedia.sh \\ +Copier le script ci-dessous dans un fichier et le nommer ​**slymedia.sh** \\ 
-<​note>​Avant le premier lancement il faut que le fichier soit excutable.</​note>​ +Déplacer le fichier **slymedia.sh** dans le dossier **/home** ou a convenance.\\ 
-<​code ​root>chmod u+x slymedia.sh</​code>​+Avant le premier lancement il faut que le fichier soit exécutable (adapter si nécessaire le chemin du fichier).\\ 
 +<​code ​user>chmod u+x /$HOME/slymedia.sh</​code>​ 
 + 
 +Pour lancer le script:\\ 
 + 
 +  * Ouvrir un terminal graphique (gnome terminal, terminal mate...) et taper le chemin du fichier **slymedia.sh** (adapter si nécessaire le chemin du fichier).\\ 
 + 
 +<code user>/​$HOME/​slymedia.sh</​code>​ 
 + 
 +ou\\ 
 + 
 +  * Faire un double clic sur le fichier. 
  
-Pour lancer le script, taper le chemin du fichier du script "​slymedia.sh"​ dans le terminal graphique (gnome terminal, terminal mate...)\\ 
  
 <​note>​Version du 31.07.2018</​note>​ <​note>​Version du 31.07.2018</​note>​
  
 <code user>#! /bin/bash <code user>#! /bin/bash
 + 
 # Paquets à installer: ffmpeg yad flac vorbis-tools eyed3 kid3-cli # Paquets à installer: ffmpeg yad flac vorbis-tools eyed3 kid3-cli
 + 
 #​=========================================================================================================== #​===========================================================================================================
 function YADMAIN() function YADMAIN()
Ligne 53: Ligne 64:
 --button="​Lancer conversion!gtk-convert!:​0"​ \ --button="​Lancer conversion!gtk-convert!:​0"​ \
 "​${cdeYadStream[@]}"​) "​${cdeYadStream[@]}"​)
 + 
 # Status de sortie Yad # Status de sortie Yad
 status="​$?"​ status="​$?"​
 + 
 # Récupération variables # Récupération variables
 profile=$(awk -F [\|] '​{print $2}' <<<​ "​${yadMain}"​) profile=$(awk -F [\|] '​{print $2}' <<<​ "​${yadMain}"​)
Ligne 94: Ligne 105:
 --button="​gtk-cancel:​2"​ \ --button="​gtk-cancel:​2"​ \
 --button="​gtk-ok:​0"​) --button="​gtk-ok:​0"​)
 + 
 # Status de sortie Yad # Status de sortie Yad
 status="​$?"​ status="​$?"​
 + 
 # Récupération variables # Récupération variables
 definition=$(awk -F [\|] '​{print $2}' <<<​ "​${yadPreference}"​) definition=$(awk -F [\|] '​{print $2}' <<<​ "​${yadPreference}"​)
Ligne 106: Ligne 117:
 nocopy=$(awk -F [\|] '​{print $20}' <<<​ "​${yadPreference}"​) nocopy=$(awk -F [\|] '​{print $20}' <<<​ "​${yadPreference}"​)
 dirIn=$(awk -F [\|] '​{print $21}' <<<​ "​${yadPreference}"​) dirIn=$(awk -F [\|] '​{print $21}' <<<​ "​${yadPreference}"​)
- +  
 + 
 } }
 #​=========================================================================================================== #​===========================================================================================================
Ligne 113: Ligne 124:
 { {
 IFS=$"​|"​ IFS=$"​|"​
 + 
 yadSource=$(yad --list \ yadSource=$(yad --list \
 --radiolist \ --radiolist \
Ligne 131: Ligne 142:
 "​FALSE"​ "​CD"​ \ "​FALSE"​ "​CD"​ \
 "​FALSE"​ "​DDL"​) "​FALSE"​ "​DDL"​)
 + 
 # Status de sortie Yad # Status de sortie Yad
 status="​$?"​ status="​$?"​
 + 
 # Récupération variables # Récupération variables
 source=$(awk -F [\|] '/​TRUE/​ {print $2}' <<<​ "​${yadSource}"​) source=$(awk -F [\|] '/​TRUE/​ {print $2}' <<<​ "​${yadSource}"​)
Ligne 155: Ligne 166:
 --button="​gtk-cancel:​2"​ \ --button="​gtk-cancel:​2"​ \
 --button="​gtk-ok:​0"​) --button="​gtk-ok:​0"​)
 + 
 # Status de sortie Yad # Status de sortie Yad
 status="​$?"​ status="​$?"​
Ligne 165: Ligne 176:
 dirSylmedia="/​home/​$USER/​.slymedia"​ dirSylmedia="/​home/​$USER/​.slymedia"​
 [[ ! -d "​${dirSylmedia}"​ ]] && mkdir "​${dirSylmedia}"​ [[ ! -d "​${dirSylmedia}"​ ]] && mkdir "​${dirSylmedia}"​
 + 
 # Suppression des anciens dossiers temporaires # Suppression des anciens dossiers temporaires
 rm -rf "​${dirSylmedia}"/​tmp* rm -rf "​${dirSylmedia}"/​tmp*
 + 
 # Création du dossier temporaire # Création du dossier temporaire
 dossierTmp="​$(mktemp -d "​${dirSylmedia}/​tmp-XXXXXXXXXXX"​)"​ dossierTmp="​$(mktemp -d "​${dirSylmedia}/​tmp-XXXXXXXXXXX"​)"​
 + 
 # Création du fichier de configurations # Création du fichier de configurations
 fileConfig="​${dirSylmedia}/​config.txt"​ fileConfig="​${dirSylmedia}/​config.txt"​
 + 
 [[ ! -f "​${fileConfig}"​ ]] && CONFIGDEFAUT [[ ! -f "​${fileConfig}"​ ]] && CONFIGDEFAUT
 } }
Ligne 188: Ligne 199:
 # Sauvegarde variables dans fichier de configuaration utilisateur # Sauvegarde variables dans fichier de configuaration utilisateur
 echo -e "​profile=\"​${profile}\"​\nquality=\"​${quality}\"​\ndirOut=\"​${dirOut}\"​\ndefinition=\"​${definition}\"​\nlangAudio=\"​${langAudio}\"​\ntypeRate=\"​${typeRate}\"​\nlangSub=\"​${langSub}\"​\nmetadata=\"​${metadata}\"​\nnocopy=\"​${nocopy}\"​\ndirIn=\"​${dirIn}\""​ > "​${fileConfig}"​ echo -e "​profile=\"​${profile}\"​\nquality=\"​${quality}\"​\ndirOut=\"​${dirOut}\"​\ndefinition=\"​${definition}\"​\nlangAudio=\"​${langAudio}\"​\ntypeRate=\"​${typeRate}\"​\nlangSub=\"​${langSub}\"​\nmetadata=\"​${metadata}\"​\nnocopy=\"​${nocopy}\"​\ndirIn=\"​${dirIn}\""​ > "​${fileConfig}"​
 + 
 echo "​profile:​ ${profile}"​ echo "​profile:​ ${profile}"​
 echo "​quality:​ ${quality}"​ echo "​quality:​ ${quality}"​
Ligne 207: Ligne 218:
  language="​Français"​  language="​Français"​
  languageISO="​fre"​  languageISO="​fre"​
- + 
  elif [[ "​${lang}"​ == "​gre"​ ]] || [[ "​${lang}"​ == "​deu"​ ]] || [[ "​${lang}"​ == "​de"​ ]]; then  elif [[ "​${lang}"​ == "​gre"​ ]] || [[ "​${lang}"​ == "​deu"​ ]] || [[ "​${lang}"​ == "​de"​ ]]; then
  language="​Allemand"​  language="​Allemand"​
  languageISO="​deu"​  languageISO="​deu"​
- + 
  elif [[ "​${lang}"​ == "​eng"​ ]] || [[ "​${lang}"​ == "​en"​ ]]; then  elif [[ "​${lang}"​ == "​eng"​ ]] || [[ "​${lang}"​ == "​en"​ ]]; then
  language="​Anglais"​  language="​Anglais"​
  languageISO="​eng"​  languageISO="​eng"​
-  +  
- + 
  elif [[ "​${lang}"​ == "​ara"​ ]] || [[ "​${lang}"​ == "​ar"​ ]]; then  elif [[ "​${lang}"​ == "​ara"​ ]] || [[ "​${lang}"​ == "​ar"​ ]]; then
  language="​Arabe"​  language="​Arabe"​
  languageISO="​ara"​  languageISO="​ara"​
- + 
  elif [[ "​${lang}"​ == "​bre"​ ]] || [[ "​${lang}"​ == "​br"​ ]]; then  elif [[ "​${lang}"​ == "​bre"​ ]] || [[ "​${lang}"​ == "​br"​ ]]; then
  language="​Breton"​  language="​Breton"​
  languageISO="​bre"​   languageISO="​bre"​
- + 
  elif [[ "​${lang}"​ == "​cat"​ ]] || [[ "​${lang}"​ == "​ca"​ ]]; then  elif [[ "​${lang}"​ == "​cat"​ ]] || [[ "​${lang}"​ == "​ca"​ ]]; then
  language="​Catalan"​  language="​Catalan"​
  languageISO="​cat"​  languageISO="​cat"​
 + 
  elif [[ "​${lang}"​ == "​chi"​ ]] || [[ "​${lang}"​ == "​zho"​ ]] || [[ "​${lang}"​ == "​zh"​ ]]; then  elif [[ "​${lang}"​ == "​chi"​ ]] || [[ "​${lang}"​ == "​zho"​ ]] || [[ "​${lang}"​ == "​zh"​ ]]; then
  language="​Chinois"​  language="​Chinois"​
  languageISO="​chi"​  languageISO="​chi"​
- + 
  elif [[ "​${lang}"​ == "​kor"​ ]] || [[ "​${lang}"​ == "​ko"​ ]]; then  elif [[ "​${lang}"​ == "​kor"​ ]] || [[ "​${lang}"​ == "​ko"​ ]]; then
  language="​Coréen"​  language="​Coréen"​
  languageISO="​kor"​  languageISO="​kor"​
- + 
  elif [[ "​${lang}"​ == "​cos"​ ]] || [[ "​${lang}"​ == "​co"​ ]]; then  elif [[ "​${lang}"​ == "​cos"​ ]] || [[ "​${lang}"​ == "​co"​ ]]; then
  language="​Corse"​  language="​Corse"​
  languageISO="​cos"​  languageISO="​cos"​
- + 
  elif [[ "​${lang}"​ == "​hat"​ ]] || [[ "​${lang}"​ == "​ht"​ ]]; then  elif [[ "​${lang}"​ == "​hat"​ ]] || [[ "​${lang}"​ == "​ht"​ ]]; then
  language="​Créole_haïtien"​  language="​Créole_haïtien"​
  languageISO="​hat"​  languageISO="​hat"​
- + 
  elif [[ "​${lang}"​ == "​hat"​ ]] || [[ "​${lang}"​ == "​ht"​ ]]; then  elif [[ "​${lang}"​ == "​hat"​ ]] || [[ "​${lang}"​ == "​ht"​ ]]; then
  language="​Créole_haïtien"​  language="​Créole_haïtien"​
  languageISO="​hat"​  languageISO="​hat"​
- + 
  elif [[ "​${lang}"​ == "​rcf"​ ]] || [[ "​${lang}"​ == "​rc"​ ]]; then  elif [[ "​${lang}"​ == "​rcf"​ ]] || [[ "​${lang}"​ == "​rc"​ ]]; then
  language="​Créole_Réunionnais"​  language="​Créole_Réunionnais"​
  languageISO="​rcf"​  languageISO="​rcf"​
- + 
  elif [[ "​${lang}"​ == "​gla"​ ]] || [[ "​${lang}"​ == "​gd"​ ]]; then  elif [[ "​${lang}"​ == "​gla"​ ]] || [[ "​${lang}"​ == "​gd"​ ]]; then
  language="​Écossais"​  language="​Écossais"​
  languageISO="​gla"​  languageISO="​gla"​
 + 
  elif [[ "​${lang}"​ == "​spa"​ ]] || [[ "​${lang}"​ == "​es"​ ]]; then  elif [[ "​${lang}"​ == "​spa"​ ]] || [[ "​${lang}"​ == "​es"​ ]]; then
  language="​Espagnol"​  language="​Espagnol"​
  languageISO="​spa"​  languageISO="​spa"​
- + 
  elif [[ "​${lang}"​ == "​epo"​ ]] || [[ "​${lang}"​ == "​eo"​ ]]; then  elif [[ "​${lang}"​ == "​epo"​ ]] || [[ "​${lang}"​ == "​eo"​ ]]; then
  language="​Espéranto"​  language="​Espéranto"​
  languageISO="​epo"​  languageISO="​epo"​
 + 
  elif [[ "​${lang}"​ == "​fin"​ ]] || [[ "​${lang}"​ == "​fi"​ ]]; then  elif [[ "​${lang}"​ == "​fin"​ ]] || [[ "​${lang}"​ == "​fi"​ ]]; then
  language="​Finnois"​  language="​Finnois"​
  languageISO="​fin"​  languageISO="​fin"​
- + 
  elif [[ "​${lang}"​ == "​glg"​ ]] || [[ "​${lang}"​ == "​gl"​ ]]; then  elif [[ "​${lang}"​ == "​glg"​ ]] || [[ "​${lang}"​ == "​gl"​ ]]; then
  language="​Galicien"​  language="​Galicien"​
  languageISO="​glg"​  languageISO="​glg"​
-  +  
- + 
  elif [[ "​${lang}"​ == "​wel"​ ]] || [[ "​${lang}"​ == "​cym"​ ]] || [[ "​${lang}"​ == "​cy"​ ]]; then  elif [[ "​${lang}"​ == "​wel"​ ]] || [[ "​${lang}"​ == "​cym"​ ]] || [[ "​${lang}"​ == "​cy"​ ]]; then
  language="​Gallois"​  language="​Gallois"​
  languageISO="​wel"​  languageISO="​wel"​
 + 
  elif [[ "​${lang}"​ == "​gre"​ ]] || [[ "​${lang}"​ == "​ell"​ ]] || [[ "​${lang}"​ == "​el"​ ]]; then  elif [[ "​${lang}"​ == "​gre"​ ]] || [[ "​${lang}"​ == "​ell"​ ]] || [[ "​${lang}"​ == "​el"​ ]]; then
  language="​Grec"​  language="​Grec"​
  languageISO="​gre"​  languageISO="​gre"​
- + 
  elif [[ "​${lang}"​ == "​heb"​ ]] || [[ "​${lang}"​ == "​he"​ ]]; then  elif [[ "​${lang}"​ == "​heb"​ ]] || [[ "​${lang}"​ == "​he"​ ]]; then
  language="​Hébreu"​  language="​Hébreu"​
  languageISO="​heb"​  languageISO="​heb"​
- + 
  elif [[ "​${lang}"​ == "​hin"​ ]] || [[ "​${lang}"​ == "​hi"​ ]]; then  elif [[ "​${lang}"​ == "​hin"​ ]] || [[ "​${lang}"​ == "​hi"​ ]]; then
  language="​Hindi"​  language="​Hindi"​
  languageISO="​hin"​  languageISO="​hin"​
- + 
  elif [[ "​${lang}"​ == "​hun"​ ]] || [[ "​${lang}"​ == "​hu"​ ]]; then  elif [[ "​${lang}"​ == "​hun"​ ]] || [[ "​${lang}"​ == "​hu"​ ]]; then
  language="​Hongrois"​  language="​Hongrois"​
  languageISO="​hun"​  languageISO="​hun"​
- + 
  elif [[ "​${lang}"​ == "​gle"​ ]] || [[ "​${lang}"​ == "​ga"​ ]]; then  elif [[ "​${lang}"​ == "​gle"​ ]] || [[ "​${lang}"​ == "​ga"​ ]]; then
  language="​Irlandais"​  language="​Irlandais"​
  languageISO="​gle"​  languageISO="​gle"​
- + 
  elif [[ "​${lang}"​ == "​ice"​ ]] || [[ "​${lang}"​ == "​isl"​ ]] || [[ "​${lang}"​ == "​is"​ ]]; then  elif [[ "​${lang}"​ == "​ice"​ ]] || [[ "​${lang}"​ == "​isl"​ ]] || [[ "​${lang}"​ == "​is"​ ]]; then
  language="​Islandais"​  language="​Islandais"​
  languageISO="​ice"​   languageISO="​ice"​
 + 
  elif [[ "​${lang}"​ == "​ita"​ ]] || [[ "​${lang}"​ == "​it"​ ]]; then  elif [[ "​${lang}"​ == "​ita"​ ]] || [[ "​${lang}"​ == "​it"​ ]]; then
  language="​Italien"​  language="​Italien"​
  languageISO="​ita"​  languageISO="​ita"​
- + 
  elif [[ "​${lang}"​ == "​jpn"​ ]] || [[ "​${lang}"​ == "​jp"​ ]]; then  elif [[ "​${lang}"​ == "​jpn"​ ]] || [[ "​${lang}"​ == "​jp"​ ]]; then
  language="​Japonais"​  language="​Japonais"​
  languageISO="​jpn"​  languageISO="​jpn"​
- + 
  elif [[ "​${lang}"​ == "​lat"​ ]] || [[ "​${lang}"​ == "​la"​ ]]; then  elif [[ "​${lang}"​ == "​lat"​ ]] || [[ "​${lang}"​ == "​la"​ ]]; then
  language="​Latin"​  language="​Latin"​
  languageISO="​lat"​  languageISO="​lat"​
 + 
  elif [[ "​${lang}"​ == "​ltz"​ ]] || [[ "​${lang}"​ == "​la"​ ]]; then  elif [[ "​${lang}"​ == "​ltz"​ ]] || [[ "​${lang}"​ == "​la"​ ]]; then
  language="​Luxembourgeois"​  language="​Luxembourgeois"​
  languageISO="​ltz"​  languageISO="​ltz"​
- + 
  elif [[ "​${lang}"​ == "​dut"​ ]] || [[ "​${lang}"​ == "​nld"​ ]] || [[ "​${lang}"​ == "​lb"​ ]]; then  elif [[ "​${lang}"​ == "​dut"​ ]] || [[ "​${lang}"​ == "​nld"​ ]] || [[ "​${lang}"​ == "​lb"​ ]]; then
  language="​Néerlandais"​  language="​Néerlandais"​
  languageISO="​dut"​  languageISO="​dut"​
- + 
  elif [[ "​${lang}"​ == "​nor"​ ]] || [[ "​${lang}"​ == "​no"​ ]]; then  elif [[ "​${lang}"​ == "​nor"​ ]] || [[ "​${lang}"​ == "​no"​ ]]; then
  language="​Norvégien"​  language="​Norvégien"​
  languageISO="​nor"​  languageISO="​nor"​
- + 
  elif [[ "​${lang}"​ == "​por"​ ]] || [[ "​${lang}"​ == "​pt"​ ]]; then  elif [[ "​${lang}"​ == "​por"​ ]] || [[ "​${lang}"​ == "​pt"​ ]]; then
  language="​Portugais"​  language="​Portugais"​
  languageISO="​por"​  languageISO="​por"​
- + 
  elif [[ "​${lang}"​ == "​roh"​ ]] || [[ "​${lang}"​ == "​rm"​ ]]; then  elif [[ "​${lang}"​ == "​roh"​ ]] || [[ "​${lang}"​ == "​rm"​ ]]; then
  language="​Romanche"​  language="​Romanche"​
  languageISO="​roh"​  languageISO="​roh"​
 + 
  elif [[ "​${lang}"​ == "​rus"​ ]] || [[ "​${lang}"​ == "​ru"​ ]]; then  elif [[ "​${lang}"​ == "​rus"​ ]] || [[ "​${lang}"​ == "​ru"​ ]]; then
  language="​Russe"​  language="​Russe"​
  languageISO="​rus"​  languageISO="​rus"​
 + 
  elif [[ "​${lang}"​ == "​swe"​ ]] || [[ "​${lang}"​ == "​sv"​ ]]; then  elif [[ "​${lang}"​ == "​swe"​ ]] || [[ "​${lang}"​ == "​sv"​ ]]; then
  language="​Suédois"​  language="​Suédois"​
  languageISO="​swe"​  languageISO="​swe"​
 + 
  else  else
  language="​Inconnu"​  language="​Inconnu"​
Ligne 352: Ligne 363:
 [[ -f "​${dossierTmp}/​stream.txt"​ ]] && rm "​${dossierTmp}/​stream.txt"​ [[ -f "​${dossierTmp}/​stream.txt"​ ]] && rm "​${dossierTmp}/​stream.txt"​
 cdeYadStream=() cdeYadStream=()
- + 
 IFS=$'​\n'​ IFS=$'​\n'​
 + 
 for i in ${fileIn}; do for i in ${fileIn}; do
 + 
  #ffprobe -i  "​${i}"​ -hide_banner -v quiet -show_streams  #ffprobe -i  "​${i}"​ -hide_banner -v quiet -show_streams
  STREAMTITLE  STREAMTITLE
Ligne 370: Ligne 381:
 # Titre et durée # Titre et durée
 streamFormat=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -show_entries format=duration,​bit_rate -of csv=s="​|"​) streamFormat=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -show_entries format=duration,​bit_rate -of csv=s="​|"​)
 + 
 durationS=$(awk -F [\|] '​{print $2}' <<<​ "​${streamFormat}"​) durationS=$(awk -F [\|] '​{print $2}' <<<​ "​${streamFormat}"​)
 durationHMS=$(date -d@"​${durationS}"​ -u +%H:%M:%S) durationHMS=$(date -d@"​${durationS}"​ -u +%H:%M:%S)
 rateTotal=$(awk -F [\|] '​{printf "%d kb/s" ,​($3/​1000)}'​ <<<​ "​${streamFormat}"​) rateTotal=$(awk -F [\|] '​{printf "%d kb/s" ,​($3/​1000)}'​ <<<​ "​${streamFormat}"​)
 + 
 # Mise en mémoire dans tableau cdeYadStream # Mise en mémoire dans tableau cdeYadStream
 cdeYadStream=(${cdeYadStream[@]} --field="<​b>​TITRE:​ $(basename "​${i}"​) - ${durationHMS} - ${rateTotal}</​b>":​LBL " ") cdeYadStream=(${cdeYadStream[@]} --field="<​b>​TITRE:​ $(basename "​${i}"​) - ${durationHMS} - ${rateTotal}</​b>":​LBL " ")
Ligne 382: Ligne 393:
 { {
 streamVideo=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams v -show_entries stream=index,​codec_name,​width,​height,​r_frame_rate -of csv=s="​|"​) streamVideo=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams v -show_entries stream=index,​codec_name,​width,​height,​r_frame_rate -of csv=s="​|"​)
 + 
 while read line; do while read line; do
- + 
  index=$(awk -F [\|] '​{print $2}' <<<​ "​${line}"​)  index=$(awk -F [\|] '​{print $2}' <<<​ "​${line}"​)
  codec=$(awk -F [\|] '​{print $3}' <<<​ "​${line}"​)  codec=$(awk -F [\|] '​{print $3}' <<<​ "​${line}"​)
Ligne 391: Ligne 402:
  fps1=$(awk -F [\|] '​{print $6}' <<<​ "​${line}"​ | awk -F [\/] '​{print $1}')  fps1=$(awk -F [\|] '​{print $6}' <<<​ "​${line}"​ | awk -F [\/] '​{print $1}')
  fps2=$(awk -F [\|] '​{print $6}' <<<​ "​${line}"​ | awk -F [\/] '​{print $2}')  fps2=$(awk -F [\|] '​{print $6}' <<<​ "​${line}"​ | awk -F [\/] '​{print $2}')
- + 
  # Vérifiction si fps1 et fps2 sont des valeurs numériques  # Vérifiction si fps1 et fps2 sont des valeurs numériques
- + 
  if [[ "​${fps1}"​ = +([0-9]) ]] && [[ "​${fps2}"​ = +([0-9]) ]]; then  if [[ "​${fps1}"​ = +([0-9]) ]] && [[ "​${fps2}"​ = +([0-9]) ]]; then
  fps=$(echo "​${fps1} / ${fps2}"​ | bc -l | awk '​{printf "​%.3f"​ ,$1}')  fps=$(echo "​${fps1} / ${fps2}"​ | bc -l | awk '​{printf "​%.3f"​ ,$1}')
- + 
  elif [[ "​${fps1}"​ = +([0-9]) ]] && [[ "​${fps2}"​ != +([0-9]) ]]; then  elif [[ "​${fps1}"​ = +([0-9]) ]] && [[ "​${fps2}"​ != +([0-9]) ]]; then
  fps=$(awk '​{printf "​%d"​ ,$1}' <<<​ "​${fps1}"​)  fps=$(awk '​{printf "​%d"​ ,$1}' <<<​ "​${fps1}"​)
- + 
  else  else
  fps="​N/​A"​  fps="​N/​A"​
  fi  fi
- + 
  # Mise en forme piste vidéo (envoi vers fichier tmp et envoi dans tableau cdeYadStream)  # Mise en forme piste vidéo (envoi vers fichier tmp et envoi dans tableau cdeYadStream)
  if [[ "​${index}"​ != ""​ ]]; then  if [[ "​${index}"​ != ""​ ]]; then
  printf "​|${i}|0:​${index}|VIDEO|${codec}|${width}|${height}|${fps}|\n"​ >> "​${dossierTmp}/​stream.txt"​  printf "​|${i}|0:​${index}|VIDEO|${codec}|${width}|${height}|${fps}|\n"​ >> "​${dossierTmp}/​stream.txt"​
  cdeYadStream=(${cdeYadStream[@]} --field="​0:​${index} | VIDEO | ${codec} ${width}x${height} ${fps}":​CHK "​TRUE"​)  cdeYadStream=(${cdeYadStream[@]} --field="​0:​${index} | VIDEO | ${codec} ${width}x${height} ${fps}":​CHK "​TRUE"​)
- + 
  fi  fi
- + 
 done <<<​ "​${streamVideo}"​ done <<<​ "​${streamVideo}"​
 } }
Ligne 417: Ligne 428:
 { {
 streamAudio=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams a -show_entries stream=index,​codec_name,​sample_rate,​channel_layout,​bit_rate -show_entries stream_tags=language -of csv=s="​|"​) streamAudio=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams a -show_entries stream=index,​codec_name,​sample_rate,​channel_layout,​bit_rate -show_entries stream_tags=language -of csv=s="​|"​)
- + 
  while read line; do  while read line; do
 + 
  index=$(awk -F [\|] '​{print $2}' <<<​ "​${line}"​)  index=$(awk -F [\|] '​{print $2}' <<<​ "​${line}"​)
  codec=$(awk -F [\|] '​{print $3}' <<<​ "​${line}"​)  codec=$(awk -F [\|] '​{print $3}' <<<​ "​${line}"​)
Ligne 426: Ligne 437:
  lang=$(awk -F [\|] '​{print $NF}' <<<​ "​${line}"​)  lang=$(awk -F [\|] '​{print $NF}' <<<​ "​${line}"​)
  #​debitAudio=$(awk -F [\|] '​{print $6}' <<<​ "​${line}"​)  #​debitAudio=$(awk -F [\|] '​{print $6}' <<<​ "​${line}"​)
 + 
  LANGUE  LANGUE
- + 
  # Calcul du débit audio  # Calcul du débit audio
  #if [[ "​${debitAudio}"​ = +([0-9]) ]] ; then  #if [[ "​${debitAudio}"​ = +([0-9]) ]] ; then
Ligne 435: Ligne 446:
  #​ debitAudio="​N/​A"​  #​ debitAudio="​N/​A"​
  #fi  #fi
- + 
  # Affectation TRUE ou FALSE  # Affectation TRUE ou FALSE
  if [[ "​${language}"​ == "​${langAudio}"​ ]] || [[ "​${language}"​ == "​Inconnu"​ ]] || [[ "​${langAudio}"​ == "​Toutes les langues"​ ]]; then  if [[ "​${language}"​ == "​${langAudio}"​ ]] || [[ "​${language}"​ == "​Inconnu"​ ]] || [[ "​${langAudio}"​ == "​Toutes les langues"​ ]]; then
  bol="​TRUE"​  bol="​TRUE"​
- + 
  else  else
  bol="​FALSE"​  bol="​FALSE"​
  fi  fi
- + 
  # Mise en forme piste audio (envoi vers fichier tmp et envoi dans tableau cdeYadStream)  # Mise en forme piste audio (envoi vers fichier tmp et envoi dans tableau cdeYadStream)
  if [[ "​${index}"​ != ""​ ]]; then  if [[ "​${index}"​ != ""​ ]]; then
  printf "​|${i}|0:​${index}|AUDIO|${codec}|${language}|${languageISO}|${rate}|${channelOut}|\n"​ >> "​${dossierTmp}/​stream.txt"​  printf "​|${i}|0:​${index}|AUDIO|${codec}|${language}|${languageISO}|${rate}|${channelOut}|\n"​ >> "​${dossierTmp}/​stream.txt"​
  cdeYadStream=(${cdeYadStream[@]} --field="​0:​${index}| AUDIO | ${language} ${codec} ${rate} Hz ${channelOut}":​CHK "​${bol}"​)  cdeYadStream=(${cdeYadStream[@]} --field="​0:​${index}| AUDIO | ${language} ${codec} ${rate} Hz ${channelOut}":​CHK "​${bol}"​)
- + 
  fi  fi
- + 
  done <<<​ "​${streamAudio}"​   done <<<​ "​${streamAudio}"​
 } }
Ligne 457: Ligne 468:
 { {
 streamSub=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams s -show_entries stream=index,​codec_name -show_entries stream_tags=language -of csv=s="​|"​) streamSub=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams s -show_entries stream=index,​codec_name -show_entries stream_tags=language -of csv=s="​|"​)
 + 
 while read line; do while read line; do
 + 
  index=$(awk -F [\|] '​{print $2}' <<<​ "​${line}"​)  index=$(awk -F [\|] '​{print $2}' <<<​ "​${line}"​)
  codec=$(awk -F [\|] '​{print $3}' <<<​ "​${line}"​)  codec=$(awk -F [\|] '​{print $3}' <<<​ "​${line}"​)
  lang=$(awk -F [\|] '​{print $NF}' <<<​ "​${line}"​)  lang=$(awk -F [\|] '​{print $NF}' <<<​ "​${line}"​)
 + 
  LANGUE  LANGUE
- + 
  # Affectation TRUE ou FALSE  # Affectation TRUE ou FALSE
  if [[ "​${language}"​ == "​${langSub}"​ ]] || [[ "​${language}"​ == "​Inconnu"​ ]] || [[ "​${langSub}"​ == "​Toutes les langues"​ ]]; then  if [[ "​${language}"​ == "​${langSub}"​ ]] || [[ "​${language}"​ == "​Inconnu"​ ]] || [[ "​${langSub}"​ == "​Toutes les langues"​ ]]; then
  bol="​TRUE"​  bol="​TRUE"​
- + 
  else  else
  bol="​FALSE"​  bol="​FALSE"​
  fi  fi
- + 
  # Mise en forme piste audio (envoi vers fichier tmp et envoi dans tableau cdeYadStream)  # Mise en forme piste audio (envoi vers fichier tmp et envoi dans tableau cdeYadStream)
- + 
  if [[ "​${index}"​ != ""​ ]]; then   if [[ "​${index}"​ != ""​ ]]; then
  printf "​|${i}|0:​${index}|SUBTITLE|${codec}|${language}|${languageISO}|\n"​ >> "​${dossierTmp}/​stream.txt"​  printf "​|${i}|0:​${index}|SUBTITLE|${codec}|${language}|${languageISO}|\n"​ >> "​${dossierTmp}/​stream.txt"​
  cdeYadStream=(${cdeYadStream[@]} --field="​0:​${index} | SUBTITLE | ${language} ${codec}":​CHK "​${bol}"​)  cdeYadStream=(${cdeYadStream[@]} --field="​0:​${index} | SUBTITLE | ${language} ${codec}":​CHK "​${bol}"​)
- + 
  fi  fi
- + 
 done <<<​ "​${streamSub}"​ done <<<​ "​${streamSub}"​
 } }
 #​=========================================================================================================== #​===========================================================================================================
 + 
 function PROFIL() function PROFIL()
 { {
Ligne 491: Ligne 502:
  FLAC  FLAC
  conteneur="​flac"​  conteneur="​flac"​
 + 
 elif [[ "​${profile}"​ = "Audio vorbis"​ ]]; then elif [[ "​${profile}"​ = "Audio vorbis"​ ]]; then
  VORBIS  VORBIS
  conteneur="​ogg"​  conteneur="​ogg"​
 + 
 elif [[ "​${profile}"​ = "Audio aac" ]]; then elif [[ "​${profile}"​ = "Audio aac" ]]; then
  AAC  AAC
  conteneur="​m4a"​  conteneur="​m4a"​
- + 
 elif [[ "​${profile}"​ = "Audio mp3" ]]; then elif [[ "​${profile}"​ = "Audio mp3" ]]; then
  MP3  MP3
  conteneur="​mp3"​  conteneur="​mp3"​
- + 
 elif [[ "​${profile}"​ = "​Vidéo mkv - x264 - vorbis"​ ]]; then elif [[ "​${profile}"​ = "​Vidéo mkv - x264 - vorbis"​ ]]; then
  X264  X264
  VORBIS  VORBIS
  conteneur="​mkv"​  conteneur="​mkv"​
 + 
 elif [[ "​${profile}"​ = "​Vidéo mkv - x264 - aac" ]]; then elif [[ "​${profile}"​ = "​Vidéo mkv - x264 - aac" ]]; then
  X264  X264
  AAC  AAC
  conteneur="​mkv"​  conteneur="​mkv"​
- + 
 elif [[ "​${profile}"​ = "​Vidéo mkv - x264 - mp3" ]]; then elif [[ "​${profile}"​ = "​Vidéo mkv - x264 - mp3" ]]; then
  X264  X264
  MP3  MP3
  conteneur="​mkv"​  conteneur="​mkv"​
- + 
 elif [[ "​${profile}"​ = "​Vidéo mkv - x265 - aac" ]]; then elif [[ "​${profile}"​ = "​Vidéo mkv - x265 - aac" ]]; then
  X265  X265
  AAC  AAC
  conteneur="​mkv"​  conteneur="​mkv"​
- + 
 elif [[ "​${profile}"​ = "​Vidéo mkv - x265 - mp3" ]]; then elif [[ "​${profile}"​ = "​Vidéo mkv - x265 - mp3" ]]; then
  X265  X265
Ligne 536: Ligne 547:
 if [[ "​${quality}"​ == "​Excellente"​ ]]; then if [[ "​${quality}"​ == "​Excellente"​ ]]; then
  cdeQualityVideo=(${qVideo1[@]})  cdeQualityVideo=(${qVideo1[@]})
- + 
 elif [[ "​${quality}"​ == "​Elevée"​ ]]; then elif [[ "​${quality}"​ == "​Elevée"​ ]]; then
  cdeQualityVideo=(${qVideo2[@]})  cdeQualityVideo=(${qVideo2[@]})
- + 
 elif [[ "​${quality}"​ == "​Moyenne"​ ]]; then elif [[ "​${quality}"​ == "​Moyenne"​ ]]; then
  cdeQualityVideo=(${qVideo3[@]})  cdeQualityVideo=(${qVideo3[@]})
- + 
 elif [[ "​${quality}"​ == "​Minimum"​ ]]; then elif [[ "​${quality}"​ == "​Minimum"​ ]]; then
  cdeQualityVideo=(${qVideo4[@]})  cdeQualityVideo=(${qVideo4[@]})
- + 
 elif [[ "​${quality}"​ == "​Faible"​ ]]; then elif [[ "​${quality}"​ == "​Faible"​ ]]; then
  cdeQualityVideo=(${qVideo5[@]})  cdeQualityVideo=(${qVideo5[@]})
- + 
 fi fi
 } }
Ligne 556: Ligne 567:
 # Recherche debit total maximum du fichier source # Recherche debit total maximum du fichier source
 rateTotal=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -show_entries format=bit_rate -of csv=s="​|"​ | awk -F [\|] '​{printf "​%d"​ ,​($2/​1000)}'​) rateTotal=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -show_entries format=bit_rate -of csv=s="​|"​ | awk -F [\|] '​{printf "​%d"​ ,​($2/​1000)}'​)
- + 
 # Commande selon la qualité # Commande selon la qualité
 if [[ "​${cAudio}"​ = "​copy"​ ]] || [[ "​${cAudio}"​ == "​flac"​ ]]; then if [[ "​${cAudio}"​ = "​copy"​ ]] || [[ "​${cAudio}"​ == "​flac"​ ]]; then
  cdeQualityAudio=()  cdeQualityAudio=()
 + 
 elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then
 + 
  if [[ "​${quality}"​ == "​Excellente"​ ]] && [[ "​${rateTotal}"​ -ge "​320"​ ]]; then  if [[ "​${quality}"​ == "​Excellente"​ ]] && [[ "​${rateTotal}"​ -ge "​320"​ ]]; then
  cdeQualityAudio=(${qAudio1[@]})  cdeQualityAudio=(${qAudio1[@]})
 + 
  elif [[ "​${quality}"​ == "​Elevée"​ ]] && [[ "​${rateTotal}"​ -ge "​256"​ ]]; then  elif [[ "​${quality}"​ == "​Elevée"​ ]] && [[ "​${rateTotal}"​ -ge "​256"​ ]]; then
  cdeQualityAudio=(${qAudio2[@]})  cdeQualityAudio=(${qAudio2[@]})
- + 
  elif [[ "​${quality}"​ == "​Moyenne"​ ]] && [[ "​${rateTotal}"​ -ge "​192"​ ]]; then  elif [[ "​${quality}"​ == "​Moyenne"​ ]] && [[ "​${rateTotal}"​ -ge "​192"​ ]]; then
  cdeQualityAudio=(${qAudio3[@]})  cdeQualityAudio=(${qAudio3[@]})
- + 
  elif [[ "​${quality}"​ == "​Minimum"​ ]] && [[ "​${rateTotal}"​ -ge "​128"​ ]]; then  elif [[ "​${quality}"​ == "​Minimum"​ ]] && [[ "​${rateTotal}"​ -ge "​128"​ ]]; then
  cdeQualityAudio=(${qAudio4[@]})  cdeQualityAudio=(${qAudio4[@]})
- + 
  elif [[ "​${quality}"​ == "​Faible"​ ]] && [[ "​${rateTotal}"​ -ge "​64"​ ]]; then  elif [[ "​${quality}"​ == "​Faible"​ ]] && [[ "​${rateTotal}"​ -ge "​64"​ ]]; then
  cdeQualityAudio=(${qAudio5[@]})  cdeQualityAudio=(${qAudio5[@]})
- + 
  else  else
- + 
  if [[ "​${codecAudioIn}"​ == "​${codecAudioOut}"​ ]]; then  if [[ "​${codecAudioIn}"​ == "​${codecAudioOut}"​ ]]; then
  cAudio="​copy"​  cAudio="​copy"​
  cdeQualityAudio=()  cdeQualityAudio=()
 + 
  else  else
  cdeQualityAudio=(-b:​a "​${rateTotal}k"​)  cdeQualityAudio=(-b:​a "​${rateTotal}k"​)
- + 
  fi  fi
 + 
  fi  fi
- + 
 elif [[ "​${typeRate}"​ == "​VBR"​ ]]; then elif [[ "​${typeRate}"​ == "​VBR"​ ]]; then
 + 
  if [[ "​${quality}"​ == "​Excellente"​ ]]; then  if [[ "​${quality}"​ == "​Excellente"​ ]]; then
  cdeQualityAudio=(${qAudio1[@]})  cdeQualityAudio=(${qAudio1[@]})
 + 
  elif [[ "​${quality}"​ == "​Elevée"​ ]]; then  elif [[ "​${quality}"​ == "​Elevée"​ ]]; then
  cdeQualityAudio=(${qAudio2[@]})  cdeQualityAudio=(${qAudio2[@]})
- + 
  elif [[ "​${quality}"​ == "​Moyenne"​ ]]; then  elif [[ "​${quality}"​ == "​Moyenne"​ ]]; then
  cdeQualityAudio=(${qAudio3[@]})  cdeQualityAudio=(${qAudio3[@]})
- + 
  elif [[ "​${quality}"​ == "​Minimum"​ ]]; then  elif [[ "​${quality}"​ == "​Minimum"​ ]]; then
  cdeQualityAudio=(${qAudio4[@]})  cdeQualityAudio=(${qAudio4[@]})
- + 
  elif [[ "​${quality}"​ == "​Faible"​ ]]; then  elif [[ "​${quality}"​ == "​Faible"​ ]]; then
  cdeQualityAudio=(${qAudio5[@]})  cdeQualityAudio=(${qAudio5[@]})
- + 
  fi  fi
 fi fi
Ligne 619: Ligne 630:
  cVideo="​libx265"​  cVideo="​libx265"​
 fi fi
 + 
 qVideo1=(-crf 18 -preset slow) qVideo1=(-crf 18 -preset slow)
 qVideo2=(-crf 24 -preset slow) qVideo2=(-crf 24 -preset slow)
Ligne 634: Ligne 645:
  cVideo="​libx264"​  cVideo="​libx264"​
 fi fi
 + 
 qVideo1=(-crf 18 -preset slow) qVideo1=(-crf 18 -preset slow)
 qVideo2=(-crf 24 -preset slow) qVideo2=(-crf 24 -preset slow)
Ligne 646: Ligne 657:
 if [[ "​${codecAudioIn}"​ = "​flac"​ ]] && [[ "​${nocopy}"​ = "​TRUE"​ ]]; then if [[ "​${codecAudioIn}"​ = "​flac"​ ]] && [[ "​${nocopy}"​ = "​TRUE"​ ]]; then
  cAudio="​copy"​  cAudio="​copy"​
- + 
 else else
  cAudio="​flac"​  cAudio="​flac"​
Ligne 656: Ligne 667:
 if [[ "​${codecAudioIn}"​ = "​vorbis"​ ]] && [[ "​${nocopy}"​ = "​TRUE"​ ]]; then if [[ "​${codecAudioIn}"​ = "​vorbis"​ ]] && [[ "​${nocopy}"​ = "​TRUE"​ ]]; then
  cAudio="​copy"​  cAudio="​copy"​
- + 
 else else
  codecAudioOut="​vorbis"​  codecAudioOut="​vorbis"​
  cAudio="​libvorbis"​  cAudio="​libvorbis"​
- + 
 fi  fi
 + 
 if [[ "​${typeRate}"​ == "​VBR"​ ]]; then if [[ "​${typeRate}"​ == "​VBR"​ ]]; then
  qAudio1=(-qscale:​a 10)  qAudio1=(-qscale:​a 10)
Ligne 669: Ligne 680:
  qAudio4=(-qscale:​a 4)  qAudio4=(-qscale:​a 4)
  qAudio5=(-qscale:​a 0)  qAudio5=(-qscale:​a 0)
 + 
 elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then
  qAudio1=(-b:​a 320k)  qAudio1=(-b:​a 320k)
Ligne 683: Ligne 694:
 if [[ "​${codecAudioIn}"​ = "​aac"​ ]] && [[ "​${nocopy}"​ = "​TRUE"​ ]]; then if [[ "​${codecAudioIn}"​ = "​aac"​ ]] && [[ "​${nocopy}"​ = "​TRUE"​ ]]; then
  cAudio="​copy"​  cAudio="​copy"​
- + 
 else else
  codecAudioOut="​aac"​  codecAudioOut="​aac"​
  cAudio="​aac"​  cAudio="​aac"​
 + 
 fi fi
 + 
 if [[ "​${typeRate}"​ == "​VBR"​ ]]; then if [[ "​${typeRate}"​ == "​VBR"​ ]]; then
  qAudio1=(-q:​a 0)  qAudio1=(-q:​a 0)
Ligne 696: Ligne 707:
  qAudio4=(-q:​a 7)  qAudio4=(-q:​a 7)
  qAudio5=(-q:​a 9)  qAudio5=(-q:​a 9)
 + 
 elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then
  qAudio1=(-b:​a 320k)  qAudio1=(-b:​a 320k)
Ligne 710: Ligne 721:
 if [[ "​${codecAudioIn}"​ = "​mp3"​ ]] && [[ "​${nocopy}"​ = "​TRUE"​ ]]; then if [[ "​${codecAudioIn}"​ = "​mp3"​ ]] && [[ "​${nocopy}"​ = "​TRUE"​ ]]; then
  cAudio="​copy"​  cAudio="​copy"​
- + 
 else else
  codecAudioOut="​mp3"​  codecAudioOut="​mp3"​
  cAudio="​libmp3lame"​  cAudio="​libmp3lame"​
 + 
 fi fi
 + 
 if [[ "​${typeRate}"​ == "​VBR"​ ]]; then if [[ "​${typeRate}"​ == "​VBR"​ ]]; then
  qAudio1=(-q:​a 0)  qAudio1=(-q:​a 0)
Ligne 723: Ligne 734:
  qAudio4=(-q:​a 7)  qAudio4=(-q:​a 7)
  qAudio5=(-q:​a 9)  qAudio5=(-q:​a 9)
- + 
 elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then
  qAudio1=(-b:​a 320k)  qAudio1=(-b:​a 320k)
Ligne 736: Ligne 747:
 { {
 IFS=$'​\n'​ IFS=$'​\n'​
 + 
 for iFileIn in ${fileIn}; do for iFileIn in ${fileIn}; do
- + 
  # Initialisation commandes  # Initialisation commandes
  cdeVideo=()  cdeVideo=()
  cdeAudio=()  cdeAudio=()
  cdeSub=()  cdeSub=()
- + 
  # Nom fichier  # Nom fichier
  fileNameExt=$(basename "​${iFileIn}"​)  fileNameExt=$(basename "​${iFileIn}"​)
  fileName="​${fileNameExt%.*}"​  fileName="​${fileNameExt%.*}"​
- + 
  # Recherche map  # Recherche map
  mapVideo=$(awk -F [\|] '{if ($4 ~ /VIDEO/ && /'​${fileName}'/​) {printf "​%s\n"​ ,$3}}' <<<​ "​${stream}"​)  mapVideo=$(awk -F [\|] '{if ($4 ~ /VIDEO/ && /'​${fileName}'/​) {printf "​%s\n"​ ,$3}}' <<<​ "​${stream}"​)
  mapAudio=$(awk -F [\|] '{if ($4 ~ /AUDIO/ && /'​${fileName}'/​) {printf "​%s\n"​ ,$3}}' <<<​ "​${stream}"​)  mapAudio=$(awk -F [\|] '{if ($4 ~ /AUDIO/ && /'​${fileName}'/​) {printf "​%s\n"​ ,$3}}' <<<​ "​${stream}"​)
  mapSub=$(awk -F [\|] '{if ($4 ~ /SUBTITLE/ && /'​${fileName}'/​) {printf "​%s\n"​ ,$3}}' <<<​ "​${stream}"​)  mapSub=$(awk -F [\|] '{if ($4 ~ /SUBTITLE/ && /'​${fileName}'/​) {printf "​%s\n"​ ,$3}}' <<<​ "​${stream}"​)
- + 
  echo "​=============================================="​  echo "​=============================================="​
  echo " ​ iFileIn: ${iFileIn}"​  echo " ​ iFileIn: ${iFileIn}"​
Ligne 759: Ligne 770:
  echo " mapAudio: ${mapAudio}"​  echo " mapAudio: ${mapAudio}"​
  echo " ​  ​mapSub:​ ${mapSub}"​  echo " ​  ​mapSub:​ ${mapSub}"​
- + 
  # Metadonnée  # Metadonnée
  if [[ "​${metadata}"​ == "​TRUE"​ ]]; then  if [[ "​${metadata}"​ == "​TRUE"​ ]]; then
Ligne 766: Ligne 777:
  cdeMetadata=()  cdeMetadata=()
  fi  fi
- + 
  FFMPEG_VIDEO  FFMPEG_VIDEO
  FFMPEG_AUDIO  FFMPEG_AUDIO
- + 
  # Conversion fichier  # Conversion fichier
  ffmpeg -y -i "​${iFileIn}"​ -loglevel debug "​${cdeMetadata[@]}"​ "​${cdeVideo[@]}"​ "​${cdeAudio[@]}"​ "​${dirOut}/​${fileName}.${conteneur}"​  ffmpeg -y -i "​${iFileIn}"​ -loglevel debug "​${cdeMetadata[@]}"​ "​${cdeVideo[@]}"​ "​${cdeAudio[@]}"​ "​${dirOut}/​${fileName}.${conteneur}"​
- + 
  ffmpeg -i "​${dirOut}/​${fileName}.${conteneur}"​ ## TEST ##  ffmpeg -i "​${dirOut}/​${fileName}.${conteneur}"​ ## TEST ##
  echo "​ffmpeg -y -i "​${iFileIn}"​ "​${cdeMetadata[@]}"​ "​${cdeVideo[@]}"​ "​${cdeAudio[@]}"​ "​${dirOut}/​${fileName}.${conteneur}""​ ## TEST ##  echo "​ffmpeg -y -i "​${iFileIn}"​ "​${cdeMetadata[@]}"​ "​${cdeVideo[@]}"​ "​${cdeAudio[@]}"​ "​${dirOut}/​${fileName}.${conteneur}""​ ## TEST ##
- + 
  # Cover fichier  # Cover fichier
  numImage="​1"​  numImage="​1"​
- + 
  for iMapVideo in ${mapVideo};​ do  for iMapVideo in ${mapVideo};​ do
 + 
  # Recherche codec vidéo map vidéo  # Recherche codec vidéo map vidéo
  codecVideoIn=$(awk -F [\|] '{if ($4 ~ /VIDEO/ && /'​${iMapVideo}'/​ && /'​${fileName}'/​) {printf "​%s"​ ,$5}}' <<<​ "​${stream}"​)  codecVideoIn=$(awk -F [\|] '{if ($4 ~ /VIDEO/ && /'​${iMapVideo}'/​ && /'​${fileName}'/​) {printf "​%s"​ ,$5}}' <<<​ "​${stream}"​)
 + 
  if [[ "​${codecVideoIn}"​ == "​mjpeg"​ ]] || [[ "​${codecVideoIn}"​ == "​png"​ ]]; then  if [[ "​${codecVideoIn}"​ == "​mjpeg"​ ]] || [[ "​${codecVideoIn}"​ == "​png"​ ]]; then
  COVER  COVER
- + 
  fi  fi
- + 
  done  done
- + 
 done done
 } }
 + 
 #​=========================================================================================================== #​===========================================================================================================
 function FFMPEG_VIDEO() function FFMPEG_VIDEO()
 { {
 numFile=""​ numFile=""​
 + 
 for iMapVideo in ${mapVideo};​ do for iMapVideo in ${mapVideo};​ do
 + 
  codecVideoIn=$(awk -F [\|] '{if ($4 ~ /VIDEO/ && /'​${iMapVideo}'/​ && /'​${fileName}'/​) {printf "​%s"​ ,$5}}' <<<​ "​${stream}"​)  codecVideoIn=$(awk -F [\|] '{if ($4 ~ /VIDEO/ && /'​${iMapVideo}'/​ && /'​${fileName}'/​) {printf "​%s"​ ,$5}}' <<<​ "​${stream}"​)
- + 
  PROFIL  PROFIL
  QUALITY_VIDEO  QUALITY_VIDEO
- + 
  if [[ "​${profile}"​ = "Audio FLAC" ]] || [[ "​${profile}"​ = "Audio vorbis"​ ]] || [[ "​${profile}"​ = "Audio aac" ]] || [[ "​${profile}"​ = "Audio mp3" ]]; then  if [[ "​${profile}"​ = "Audio FLAC" ]] || [[ "​${profile}"​ = "Audio vorbis"​ ]] || [[ "​${profile}"​ = "Audio aac" ]] || [[ "​${profile}"​ = "Audio mp3" ]]; then
  cdeVideo=(-vn)  cdeVideo=(-vn)
 + 
  else  else
  cdeVideo=(${cdeVideo[@]} -map ${iMapVideo} -c:v ${cVideo} ${cdeQualityVideo[@]})  cdeVideo=(${cdeVideo[@]} -map ${iMapVideo} -c:v ${cVideo} ${cdeQualityVideo[@]})
 + 
  fi  fi
- + 
  echo "​cdeVideo:​ ${cdeVideo[@]}"​  echo "​cdeVideo:​ ${cdeVideo[@]}"​
 + 
 done done
 } }
Ligne 822: Ligne 833:
 { {
 numAudio="​0"​ numAudio="​0"​
 + 
 for iMapAudio in ${mapAudio};​ do for iMapAudio in ${mapAudio};​ do
 + 
  codecAudioIn=$(awk -F [\|] '{if ($4 ~ /AUDIO/ && /'​${iMapAudio}'/​ && /'​${fileName}'/​) {printf "​%s"​ ,$5}}' <<<​ "​${stream}"​)  codecAudioIn=$(awk -F [\|] '{if ($4 ~ /AUDIO/ && /'​${iMapAudio}'/​ && /'​${fileName}'/​) {printf "​%s"​ ,$5}}' <<<​ "​${stream}"​)
  languageISO=$(awk -F [\|] '{if ($4 ~ /AUDIO/ && $3 ~ /'​${iMapAudio}'/​ && /'​${fileName}'/​) {printf "​%s"​ ,$7}}' <<<​ "​${stream}"​)  languageISO=$(awk -F [\|] '{if ($4 ~ /AUDIO/ && $3 ~ /'​${iMapAudio}'/​ && /'​${fileName}'/​) {printf "​%s"​ ,$7}}' <<<​ "​${stream}"​)
- + 
  PROFIL  PROFIL
  QUALITY_AUDIO  QUALITY_AUDIO
- + 
  cdeAudio=(${cdeAudio[@]} -map ${iMapAudio} -metadata:​s:​a:​${numAudio} language="​${languageISO}"​ -c:a ${cAudio} ${cdeQualityAudio[@]} ${channel[@]} -cutoff 20000)  cdeAudio=(${cdeAudio[@]} -map ${iMapAudio} -metadata:​s:​a:​${numAudio} language="​${languageISO}"​ -c:a ${cAudio} ${cdeQualityAudio[@]} ${channel[@]} -cutoff 20000)
  ((numAudio+=1))  ((numAudio+=1))
 + 
 done done
 } }
Ligne 841: Ligne 852:
 # Si codecVideoIn = mjpeg --> jpeg # Si codecVideoIn = mjpeg --> jpeg
 [[ "​${codecVideoIn}"​ == "​mjpeg"​ ]] && codecVideoIn="​jpeg"​ [[ "​${codecVideoIn}"​ == "​mjpeg"​ ]] && codecVideoIn="​jpeg"​
 + 
 # Recherche numéro id depuis la map # Recherche numéro id depuis la map
 id=$(awk -F [\:] '​{print $2}' <<<​ "​${iMapVideo}"​) id=$(awk -F [\:] '​{print $2}' <<<​ "​${iMapVideo}"​)
 + 
 # Type d'​image (Front, back, other) # Type d'​image (Front, back, other)
 typeImage=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams ${id} -show_entries stream_tags=comment -of csv=s="​|"​ | awk -F [\|] '​{print $2}') typeImage=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams ${id} -show_entries stream_tags=comment -of csv=s="​|"​ | awk -F [\|] '​{print $2}')
 + 
 # Nom image cover # Nom image cover
 nameImage=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams ${id} -show_entries stream_tags=title -of csv=s="​|"​ | awk -F [\|] '​{print $2}') nameImage=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams ${id} -show_entries stream_tags=title -of csv=s="​|"​ | awk -F [\|] '​{print $2}')
 + 
 if [[ "​${nameImage}"​ == ""​ ]]; then  if [[ "​${nameImage}"​ == ""​ ]]; then 
  nameImage="​cover_${typeImage}"​  nameImage="​cover_${typeImage}"​
- + 
 elif [[ "​${nameImage}"​ == "​${nameImageSave}"​ ]]; then elif [[ "​${nameImage}"​ == "​${nameImageSave}"​ ]]; then
  nameImage="​${nameImage}_${numImage}"​  nameImage="​${nameImage}_${numImage}"​
- + 
 fi fi
 + 
 # Sauvegarde du nom de l'​image # Sauvegarde du nom de l'​image
 nameImageSave="​${numImage}"​ nameImageSave="​${numImage}"​
 ((numImage+=1)) ((numImage+=1))
 + 
 # Extraction image du fichier source # Extraction image du fichier source
 ffmpeg -y -i "​${iFileIn}"​ -map ${iMapVideo} -an "​${dossierTmp}/​${nameImage}.${codecVideoIn}"​ ffmpeg -y -i "​${iFileIn}"​ -map ${iMapVideo} -an "​${dossierTmp}/​${nameImage}.${codecVideoIn}"​
 + 
 # Image cover pour fichier audio flac # Image cover pour fichier audio flac
 if [[ "​${profile}"​ = "Audio FLAC" ]]; then if [[ "​${profile}"​ = "Audio FLAC" ]]; then
  COVER_FLAC  COVER_FLAC
 + 
 # Image cover pour fichier audio vorbis # Image cover pour fichier audio vorbis
 elif [[ "​${profile}"​ = "Audio vorbis"​ ]]; then elif [[ "​${profile}"​ = "Audio vorbis"​ ]]; then
  COVER_OGG  COVER_OGG
 + 
 # Image cover pour fichier audio mp3 # Image cover pour fichier audio mp3
 elif [[ "​${profile}"​ = "Audio mp3" ]]; then elif [[ "​${profile}"​ = "Audio mp3" ]]; then
  COVER_MP3  COVER_MP3
 + 
 # Image cover pour fichier audio aac # Image cover pour fichier audio aac
 elif [[ "​${profile}"​ = "Audio aac" ]]; then elif [[ "​${profile}"​ = "Audio aac" ]]; then
  COVER_OTHER  COVER_OTHER
 fi fi
- +  
 + 
 echo "=== COVER ===" echo "=== COVER ==="
 echo "id: ${id}" echo "id: ${id}"
Ligne 892: Ligne 903:
 function COVER_FLAC() function COVER_FLAC()
 { {
 + 
 if [[ "​${typeImage}"​ == "Cover (front)"​ ]]; then if [[ "​${typeImage}"​ == "Cover (front)"​ ]]; then
  typeImage="​3"​  typeImage="​3"​
 + 
 elif [[ "​${typeImage}"​ == "Cover (back)"​ ]]; then elif [[ "​${typeImage}"​ == "Cover (back)"​ ]]; then
  typeImage="​4"​  typeImage="​4"​
- +  
 + 
 elif [[ "​${typeImage}"​ == "​Other"​ ]]; then elif [[ "​${typeImage}"​ == "​Other"​ ]]; then
  typeImage="​0"​  typeImage="​0"​
 + 
 else else
  typeImage="​3"​  typeImage="​3"​
 + 
 fi fi
 + 
 # Ajout de l'​image au fichier audio # Ajout de l'​image au fichier audio
 metaflac --import-picture-from="​${typeImage}||${nameImage}||${dossierTmp}/​${nameImage}.${codecVideoIn}"​ "​${dirOut}/​${fileName}.${conteneur}"​ metaflac --import-picture-from="​${typeImage}||${nameImage}||${dossierTmp}/​${nameImage}.${codecVideoIn}"​ "​${dirOut}/​${fileName}.${conteneur}"​
 + 
 } }
 #​=========================================================================================================== #​===========================================================================================================
 function COVER_OGG() function COVER_OGG()
 { {
 + 
 # Type d'​image (Front, back, other) # Type d'​image (Front, back, other)
 typeImage=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams ${id} -show_entries stream_tags=comment -of csv=s="​|"​ | awk -F [\|] '​{print $2}') typeImage=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams ${id} -show_entries stream_tags=comment -of csv=s="​|"​ | awk -F [\|] '​{print $2}')
 + 
 if [[ "​${typeImage}"​ == "Cover (front)"​ ]]; then if [[ "​${typeImage}"​ == "Cover (front)"​ ]]; then
  typeImage="​3"​  typeImage="​3"​
 + 
 elif [[ "​${typeImage}"​ == "Cover (back)"​ ]]; then elif [[ "​${typeImage}"​ == "Cover (back)"​ ]]; then
  typeImage="​4"​  typeImage="​4"​
 + 
 elif [[ "​${typeImage}"​ == "​Artist/​performer"​ ]]; then elif [[ "​${typeImage}"​ == "​Artist/​performer"​ ]]; then
  typeImage="​8"​  typeImage="​8"​
- + 
 elif [[ "​${typeImage}"​ == "​Other"​ ]]; then elif [[ "​${typeImage}"​ == "​Other"​ ]]; then
  typeImage="​0"​   typeImage="​0"​
- + 
 else else
  typeImage="​3"​  typeImage="​3"​
 + 
 fi fi
 + 
 # Sauvegarde données exsistantes du fichier source # Sauvegarde données exsistantes du fichier source
 vorbiscomment --list --raw "​${dirOut}/​out.${conteneur}"​ > "​${dossierTmp}/​fileSaveOgg.txt"​ vorbiscomment --list --raw "​${dirOut}/​out.${conteneur}"​ > "​${dossierTmp}/​fileSaveOgg.txt"​
 + 
 #​Suppression image exsistante #​Suppression image exsistante
 #sed -i -e '/​^metadata_block_picture/​d'​ "​${dossierTmp}/​fileSaveOgg.txt"​ #sed -i -e '/​^metadata_block_picture/​d'​ "​${dossierTmp}/​fileSaveOgg.txt"​
 + 
 # Metadata_block_picture format # Metadata_block_picture format
 #Lien: https://​xiph.org/​flac/​format.html#​metadata_block_picture #Lien: https://​xiph.org/​flac/​format.html#​metadata_block_picture
 imageMimeType=$(file -b --mime-type "​${dossierTmp}/​${nameImage}.${codecVideoIn}"​) imageMimeType=$(file -b --mime-type "​${dossierTmp}/​${nameImage}.${codecVideoIn}"​)
 + 
 printf "0: %.8x" "​${typeImage}"​ | xxd -r -g0 >> "​${dossierTmp}/​dataImage.txt"​ printf "0: %.8x" "​${typeImage}"​ | xxd -r -g0 >> "​${dossierTmp}/​dataImage.txt"​
 printf "0: %.8x" $(echo -n "​${imageMimeType}"​ | wc -c) | xxd -r -g0 >> "​${dossierTmp}/​dataImage.txt"​ printf "0: %.8x" $(echo -n "​${imageMimeType}"​ | wc -c) | xxd -r -g0 >> "​${dossierTmp}/​dataImage.txt"​
Ligne 956: Ligne 967:
 printf "0: %.8x" 0 | xxd -r -g0 >> "​${dossierTmp}/​dataImage.txt"​ printf "0: %.8x" 0 | xxd -r -g0 >> "​${dossierTmp}/​dataImage.txt"​
 printf "0: %.8x" $(wc -c "​${dossierTmp}/​cover.${codecVideoIn}"​ | cut --delimiter='​ ' --fields=1) | xxd -r -g0 >> "​${dossierTmp}/​dataImage.txt"​ printf "0: %.8x" $(wc -c "​${dossierTmp}/​cover.${codecVideoIn}"​ | cut --delimiter='​ ' --fields=1) | xxd -r -g0 >> "​${dossierTmp}/​dataImage.txt"​
 + 
 #Image file #Image file
 cat "​${dossierTmp}/​cover.${codecVideoIn}"​ >> "​${dossierTmp}/​dataImage.txt"​ cat "​${dossierTmp}/​cover.${codecVideoIn}"​ >> "​${dossierTmp}/​dataImage.txt"​
 + 
 echo "​metadata_block_picture=$(base64 --wrap=0 < "​${dossierTmp}/​dataImage.txt"​)"​ >> "​${dossierTmp}/​fileSaveOgg.txt"​ echo "​metadata_block_picture=$(base64 --wrap=0 < "​${dossierTmp}/​dataImage.txt"​)"​ >> "​${dossierTmp}/​fileSaveOgg.txt"​
 + 
 #Update vorbis file comments #Update vorbis file comments
 vorbiscomment --write --raw --commentfile "​${dossierTmp}/​fileSaveOgg.txt"​ "​${dirOut}/​${fileName}.${conteneur}"​ vorbiscomment --write --raw --commentfile "​${dossierTmp}/​fileSaveOgg.txt"​ "​${dirOut}/​${fileName}.${conteneur}"​
 + 
 #Delete temp files #Delete temp files
 rm "​${dossierTmp}/​dataImage.txt"​ rm "​${dossierTmp}/​dataImage.txt"​
Ligne 972: Ligne 983:
 function COVER_MP3() function COVER_MP3()
 { {
- +  
 + 
 if [[ "​${typeImage}"​ == "Cover (front)"​ ]]; then if [[ "​${typeImage}"​ == "Cover (front)"​ ]]; then
  typeImage="​FRONT_COVER"​  typeImage="​FRONT_COVER"​
 + 
 elif [[ "​${typeImage}"​ == "Cover (back)"​ ]]; then elif [[ "​${typeImage}"​ == "Cover (back)"​ ]]; then
  typeImage="​BACK_COVER"​  typeImage="​BACK_COVER"​
 + 
 elif [[ "​${typeImage}"​ == "​Artist/​performer"​ ]]; then elif [[ "​${typeImage}"​ == "​Artist/​performer"​ ]]; then
  typeImage="​ARTIST"​  typeImage="​ARTIST"​
- + 
 elif [[ "​${typeImage}"​ == "​Other"​ ]]; then elif [[ "​${typeImage}"​ == "​Other"​ ]]; then
  typeImage="​OTHER"​  typeImage="​OTHER"​
-  +  
 + 
 else else
  typeImage="​FRONT_COVER"​  typeImage="​FRONT_COVER"​
 + 
 fi fi
 + 
 # Ajout de l'​image au fichier audio # Ajout de l'​image au fichier audio
 eyeD3 --add-image="​${dossierTmp}/​${nameImage}.${codecVideoIn}":"​${typeImage}":"​${nameImage}"​ "​${dirOut}/​${fileName}.${conteneur}"​ eyeD3 --add-image="​${dossierTmp}/​${nameImage}.${codecVideoIn}":"​${typeImage}":"​${nameImage}"​ "​${dirOut}/​${fileName}.${conteneur}"​
Ligne 1000: Ligne 1011:
 # renommage image cover en "​cover"​ # renommage image cover en "​cover"​
 mv "​${dossierTmp}/​${nameImage}.${codecVideoIn}"​ "​${dossierTmp}/​cover.${codecVideoIn}"​ mv "​${dossierTmp}/​${nameImage}.${codecVideoIn}"​ "​${dossierTmp}/​cover.${codecVideoIn}"​
 + 
 # Ajout de l'​image au fichier audio # Ajout de l'​image au fichier audio
 kid3-cli -c "set picture:"​${dossierTmp}/​cover.${codecVideoIn}"​ ''"​ "​${dirOut}/​${fileName}.${conteneur}"​ kid3-cli -c "set picture:"​${dossierTmp}/​cover.${codecVideoIn}"​ ''"​ "​${dirOut}/​${fileName}.${conteneur}"​
 } }
 + 
 #​=========================================================================================================== #​===========================================================================================================
 function MAIN() function MAIN()
Ligne 1010: Ligne 1021:
 # Chargement fichier de configurations # Chargement fichier de configurations
 . "​${fileConfig}"​ . "​${fileConfig}"​
 + 
 YADMAIN YADMAIN
 + 
 # Si aucune source sélectionnée # Si aucune source sélectionnée
 if [[ "​${status}"​ -eq "​0"​ ]] && [[ "​${fileIn}"​ == ""​ ]]; then if [[ "​${status}"​ -eq "​0"​ ]] && [[ "​${fileIn}"​ == ""​ ]]; then
  status="​4"​  status="​4"​
 fi fi
 + 
 # YADMAIN Bouton "​Quitter"​ ou "Croix fenêtre"​ # YADMAIN Bouton "​Quitter"​ ou "Croix fenêtre"​
 if [[ "​${status}"​ -eq "​1"​ ]] || [[ "​${status}"​ -eq "​252"​ ]]; then if [[ "​${status}"​ -eq "​1"​ ]] || [[ "​${status}"​ -eq "​252"​ ]]; then
  rm -rf "​${dossierTmp}"​  rm -rf "​${dossierTmp}"​
  exit  exit
- + 
 # YADMAIN Bouton "​Configuration par défaut"​ # YADMAIN Bouton "​Configuration par défaut"​
 elif [[ "​${status}"​ -eq "​3"​ ]]; then elif [[ "​${status}"​ -eq "​3"​ ]]; then
Ligne 1028: Ligne 1039:
  CONFIGDEFAUT  CONFIGDEFAUT
  MAIN  MAIN
 + 
 # YADMAIN Bouton "​Préférences"​ # YADMAIN Bouton "​Préférences"​
 elif [[ "​${status}"​ -eq "​2"​ ]]; then elif [[ "​${status}"​ -eq "​2"​ ]]; then
  SAVE  SAVE
  YADPREFERENCE  YADPREFERENCE
- + 
  # YADPREFERENCE Bouton "​Quitter"​ ou "Croix fenêtre"​  # YADPREFERENCE Bouton "​Quitter"​ ou "Croix fenêtre"​
  if [[ "​${status}"​ -eq "​1"​ ]] || [[ "​${status}"​ -eq "​252"​ ]]; then  if [[ "​${status}"​ -eq "​1"​ ]] || [[ "​${status}"​ -eq "​252"​ ]]; then
  rm -rf "​${dossierTmp}"​  rm -rf "​${dossierTmp}"​
  exit  exit
- + 
  # YADPREFERENCE Bouton "​Annuler"​  # YADPREFERENCE Bouton "​Annuler"​
  elif [[ "​${status}"​ -eq "​2"​ ]]; then  elif [[ "​${status}"​ -eq "​2"​ ]]; then
  MAIN  MAIN
- + 
  # YADPREFERENCE Bouton "​Valider"​  # YADPREFERENCE Bouton "​Valider"​
  elif [[ "​${status}"​ -eq "​0"​ ]]; then  elif [[ "​${status}"​ -eq "​0"​ ]]; then
Ligne 1048: Ligne 1059:
  #STREAM  #STREAM
  MAIN  MAIN
- + 
  fi  fi
 + 
 # YADMAIN Bouton "​Source"​ ou aucune source sélectionnée # YADMAIN Bouton "​Source"​ ou aucune source sélectionnée
 elif [[ "​${status}"​ -eq "​4"​ ]]; then elif [[ "​${status}"​ -eq "​4"​ ]]; then
  SAVE  SAVE
- YADSOURCE + YADFILE 
-  + 
-YADSOURCE ​Bouton "​Quitter"​ ou "Croix fenêtre"​+YADFILE ​Bouton "​Quitter"​ ou "Croix fenêtre"​
  if [[ "​${status}"​ -eq "​1"​ ]] || [[ "​${status}"​ -eq "​252"​ ]]; then  if [[ "​${status}"​ -eq "​1"​ ]] || [[ "​${status}"​ -eq "​252"​ ]]; then
  rm -rf "​${dossierTmp}"​  rm -rf "​${dossierTmp}"​
  exit  exit
-  + 
-YADSOURCE ​Bouton "​Annuler"​+YADFILE ​Bouton "​Annuler"​
  elif [[ "​${status}"​ -eq "​2"​ ]]; then  elif [[ "​${status}"​ -eq "​2"​ ]]; then
  MAIN  MAIN
-  
- # YADSOURCE choix "​Fichier"​ 
- elif [[ "​${source}"​ == "​Fichier"​ ]]; then 
- YADFILE 
-  
- # YADFILE Bouton "​Quitter"​ ou "Croix fenêtre"​ 
- if [[ "​${status}"​ -eq "​1"​ ]] || [[ "​${status}"​ -eq "​252"​ ]]; then 
- rm -rf "​${dossierTmp}"​ 
- exit 
-  
- # YADFILE Bouton "​Annuler"​ 
- elif [[ "​${status}"​ -eq "​2"​ ]]; then 
- MAIN 
-  
- # YADFILE Bouton "​Valider"​ 
- elif [[ "​${status}"​ -eq "​0"​ ]]; then 
- STREAM 
- MAIN 
- fi 
- 
- # YADSOURCE choix "​DVD"​ 
- elif [[ "​${source}"​ == "​DVD"​ ]]; then 
- echo "​Source DVD à finir" 
-  
- # YADSOURCE choix "​CD"​ 
- elif [[ "​${source}"​ == "​CD"​ ]]; then 
- echo "​Source CD à finir" 
-  
- # YADSOURCE choix "​DDL"​ 
- elif [[ "​${source}"​ == "​DDL"​ ]]; then 
- echo "​Source DDL à finir" 
  
 + # YADFILE Bouton "​Valider"​
 + elif [[ "​${status}"​ -eq "​0"​ ]]; then
 + STREAM
 + MAIN
  fi  fi
 + 
 # YADMAIN Bouton "​Lancer conversion"​ # YADMAIN Bouton "​Lancer conversion"​
 elif [[ "​${status}"​ -eq "​0"​ ]]; then elif [[ "​${status}"​ -eq "​0"​ ]]; then
  SAVE  SAVE
- + 
  # Récupération de la valeur TRUE et FALSE depuis YADMAIN et fusion avec les données du fichier stream.txt  # Récupération de la valeur TRUE et FALSE depuis YADMAIN et fusion avec les données du fichier stream.txt
  IFS=$"​|"​  IFS=$"​|"​
Ligne 1111: Ligne 1095:
  ((numLine+=1))  ((numLine+=1))
  done <<<​ $(cat "​${dossierTmp}/​stream.txt"​) | awk -F [\|] '{if ($1 ~ /TRUE/) {print $0}}')  done <<<​ $(cat "​${dossierTmp}/​stream.txt"​) | awk -F [\|] '{if ($1 ~ /TRUE/) {print $0}}')
- + 
  SAVE  SAVE
  FFMPEG  FFMPEG
  MAIN  MAIN
- + 
 fi fi
 } }
Ligne 1121: Ligne 1105:
 CONFIGURATION CONFIGURATION
 MAIN MAIN
 +
  
 </​code>​ </​code>​
  

Pied de page des forums

Propulsé par FluxBB