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:46]
Slyfox [Sylmedia]
utilisateurs:slyfox:scripts:accueil [14/08/2018 17:24]
Slyfox
Ligne 1: Ligne 1:
- +====== Sylmedia ​======
-====== Sylmedia ======+
  
   * Objet :    * Objet : 
Ligne 6: Ligne 5:
   * Commentaires : -   * Commentaires : -
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
-  * Suivi : {{tag>en chantier}}+  * Suivi : 
     * Création par [[user>​Slyfox]] 31/07/2018     * Création par [[user>​Slyfox]] 31/07/2018
   * Commentaires sur le forum :    * Commentaires sur le forum : 
Ligne 33: Ligne 32:
  
  
-<​note>​Version du 31.07.2018</​note>​+<​note>​**Version du 02.08.2018**</​note>​ 
 + 
 +===== Script =====
  
 <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
 +# Version: 20180802
  
 #​=========================================================================================================== #​===========================================================================================================
Ligne 57: Ligne 59:
 --field="​ ":LBL " " \ --field="​ ":LBL " " \
 --field="":​LBL ""​ \ --field="":​LBL ""​ \
 +--field="<​b>​Source</​b>":​LBL " " \
 --field="​ ":LBL " " \ --field="​ ":LBL " " \
 --button="​Quitter!gtk-quit!:​1"​ \ --button="​Quitter!gtk-quit!:​1"​ \
Ligne 367: Ligne 370:
  
 for i in ${fileIn}; do for i in ${fileIn}; do
- 
- #ffprobe -i  "​${i}"​ -hide_banner -v quiet -show_streams 
  STREAMTITLE  STREAMTITLE
  STREAMVIDEO  STREAMVIDEO
Ligne 374: Ligne 375:
  STREAMSUBTITLE  STREAMSUBTITLE
  cdeYadStream=(${cdeYadStream[@]} --field="​ ":LBL " ")  cdeYadStream=(${cdeYadStream[@]} --field="​ ":LBL " ")
 +
 done done
 } }
Ligne 380: Ligne 382:
 { {
 # 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}"​)
Ligne 415: Ligne 417:
  fi  fi
   
- # Mise en forme piste vidéo (envoi vers fichier tmp et envoi dans tableau cdeYadStream) + # Type d'​image (Front, back, other) 
- if [[ "​${index}"​ != ""​ ]]; then + if [[ "​${codec}"​ == "​mjpeg"​ ]] || [[ "​${codec}"​ == "​png"​ ]]; then 
- 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"​)+ # Recherche numéro id depuis la map 
 + id=$(awk -F [\:] '​{print $2}' <<<​ "​0:​${index}"​) 
 + typeImage=$(ffprobe -i  "​${i}"​ -hide_banner -v quiet -select_streams ${id} -show_entries stream_tags=comment -of csv=s="​|"​ | awk -F [\|] '​{print $2}'​) 
 + 
 + 
 + # Mise en forme piste vidéo (envoi vers fichier tmp et envoi dans tableau cdeYadStream) 
 + if [[ "​${index}"​ != ""​ ]]; then 
 + printf "​|${i}|0:​${index}|VIDEO|${typeImage}|${codec}|${width}|${height}\n" >> "​${dossierTmp}/​stream.txt"​ 
 + cdeYadStream=(${cdeYadStream[@]} --field="​0:​${index} | VIDEO |${typeImage} ​${codec} ${width}x${height}":​CHK "​TRUE"​) 
 +  
 + fi
   
 + else
 +
 + # Mise en forme piste vidéo (envoi vers fichier tmp et envoi dans tableau cdeYadStream)
 + if [[ "​${index}"​ != ""​ ]]; then
 + printf "​|${i}|0:​${index}|VIDEO|${codec}|${width}|${height}|${fps}\n"​ >> "​${dossierTmp}/​stream.txt"​
 + cdeYadStream=(${cdeYadStream[@]} --field="​0:​${index} | VIDEO |${codec} ${width}x${height} ${fps} fps":​CHK "​TRUE"​)
 +
 + fi
  fi  fi
 +
 +
   
 done <<<​ "​${streamVideo}"​ done <<<​ "​${streamVideo}"​
Ligne 439: Ligne 461:
  
  LANGUE  LANGUE
-  
- # Calcul du débit audio 
- #if [[ "​${debitAudio}"​ = +([0-9]) ]] ; then 
- #​ debitAudio=$(echo "​${debitAudio} / 1000" | bc) 
- #else 
- #​ debitAudio="​N/​A"​ 
- #fi 
   
  # Affectation TRUE ou FALSE  # Affectation TRUE ou FALSE
Ligne 629: Ligne 644:
 else else
  cVideo="​libx265"​  cVideo="​libx265"​
 +
 + qVideo1=(-crf 18 -preset slow)
 + qVideo2=(-crf 24 -preset slow)
 + qVideo3=(-crf 30 -preset medium)
 + qVideo4=(-crf 36 -preset veryfast)
 + qVideo5=(-crf 42 -preset ultrafast)
 fi fi
  
-qVideo1=(-crf 18 -preset slow) +
-qVideo2=(-crf 24 -preset slow) +
-qVideo3=(-crf 30 -preset medium) +
-qVideo4=(-crf 36 -preset veryfast) +
-qVideo5=(-crf 42 -preset ultrafast) +
 } }
 #​=========================================================================================================== #​===========================================================================================================
Ligne 644: Ligne 661:
 else else
  cVideo="​libx264"​  cVideo="​libx264"​
-fi 
  
-qVideo1=(-crf 18 -preset slow) + qVideo1=(-crf 18 -preset slow) 
-qVideo2=(-crf 24 -preset slow) + qVideo2=(-crf 24 -preset slow) 
-qVideo3=(-crf 30 -preset medium) + qVideo3=(-crf 30 -preset medium) 
-qVideo4=(-crf 36 -preset veryfast) + qVideo4=(-crf 36 -preset veryfast) 
-qVideo5=(-crf 42 -preset ultrafast) + qVideo5=(-crf 42 -preset ultrafast) 
 + 
 +fi
 } }
 #​=========================================================================================================== #​===========================================================================================================
Ligne 672: Ligne 690:
  cAudio="​libvorbis"​  cAudio="​libvorbis"​
   
-fi + if [[ "​${typeRate}"​ == "​VBR"​ ]]; then 
 + qAudio1=(-qscale:​a 10) 
 + qAudio2=(-qscale:​a 8) 
 + qAudio3=(-qscale:​a 5) 
 + qAudio4=(-qscale:​a 4) 
 + qAudio5=(-qscale:​a 0)
  
-if [[ "​${typeRate}"​ == "VBR" ]]; then + elif [[ "​${typeRate}"​ == "CBR" ]]; then 
- qAudio1=(-qscale:a 10+ qAudio1=(-b:a 320k
- qAudio2=(-qscale:a 8+ qAudio2=(-b:a 256k
- qAudio3=(-qscale:a 5+ qAudio3=(-b:a 192k
- qAudio4=(-qscale:a 4+ qAudio4=(-b:a 128k
- qAudio5=(-qscale:a 0)+ qAudio5=(-b:a 64k) 
 + fi
  
-elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then +fi
- qAudio1=(-b:​a 320k) +
- qAudio2=(-b:​a 256k) +
- qAudio3=(-b:​a 192k) +
- qAudio4=(-b:​a 128k) +
- qAudio5=(-b:​a 64k) +
-fi+
 } }
 #​=========================================================================================================== #​===========================================================================================================
Ligne 699: Ligne 717:
  cAudio="​aac"​  cAudio="​aac"​
  
-fi+ if [[ "​${typeRate}"​ == "​VBR"​ ]]; then 
 + qAudio1=(-q:​a 0) 
 + qAudio2=(-q:​a 2) 
 + qAudio3=(-q:​a 5) 
 + qAudio4=(-q:​a 7) 
 + qAudio5=(-q:​a 9)
  
-if [[ "​${typeRate}"​ == "VBR" ]]; then + elif [[ "​${typeRate}"​ == "CBR" ]]; then 
- qAudio1=(-q:a 0+ qAudio1=(-b:a 320k
- qAudio2=(-q:a 2+ qAudio2=(-b:a 256k
- qAudio3=(-q:a 5+ qAudio3=(-b:a 192k
- qAudio4=(-q:a 7+ qAudio4=(-b:a 128k
- qAudio5=(-q:a 9)+ qAudio5=(-b:a 64k) 
 + fi
  
-elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then 
- qAudio1=(-b:​a 320k) 
- qAudio2=(-b:​a 256k) 
- qAudio3=(-b:​a 192k) 
- qAudio4=(-b:​a 128k) 
- qAudio5=(-b:​a 64k) 
 fi fi
 } }
Ligne 726: Ligne 744:
  cAudio="​libmp3lame"​  cAudio="​libmp3lame"​
  
-fi + if [[ "​${typeRate}"​ == "​VBR"​ ]]; then 
- + qAudio1=(-q:​a 0) 
-if [[ "​${typeRate}"​ == "​VBR"​ ]]; then + qAudio2=(-q:​a 2) 
- qAudio1=(-q:​a 0) + qAudio3=(-q:​a 5) 
- qAudio2=(-q:​a 2) + qAudio4=(-q:​a 7) 
- qAudio3=(-q:​a 5) + qAudio5=(-q:​a 9) 
- qAudio4=(-q:​a 7) +  
- qAudio5=(-q:​a 9) + elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then 
-  + qAudio1=(-b:​a 320k) 
-elif [[ "​${typeRate}"​ == "​CBR"​ ]]; then + qAudio2=(-b:​a 256k) 
- qAudio1=(-b:​a 320k) + qAudio3=(-b:​a 192k) 
- qAudio2=(-b:​a 256k) + qAudio4=(-b:​a 128k) 
- qAudio3=(-b:​a 192k) + qAudio5=(-b:​a 64k) 
- qAudio4=(-b:​a 128k) + fi
- qAudio5=(-b:​a 64k)+
 fi fi
 } }
Ligne 755: Ligne 772:
  cdeSub=()  cdeSub=()
   
- # Nom fichier + # Nom fichier ​source 
- fileNameExt=$(basename "​${iFileIn}"​) + fileNameExtension=$(basename "​${iFileIn}"​) 
- fileName="​${fileNameExt%.*}"+ fileName="​${fileNameExtension%.*}" 
 + extension="​${fileNameExtension##​*.}"
   
  # Recherche map  # Recherche map
Ligne 780: Ligne 798:
  FFMPEG_VIDEO  FFMPEG_VIDEO
  FFMPEG_AUDIO  FFMPEG_AUDIO
 + FFMPEG_OUT
 +
 +
   
  # Conversion fichier  # Conversion fichier
Ligne 787: Ligne 808:
  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 +Image cover fichier ​audio
- numImage="​1"​ +
- +
  for iMapVideo in ${mapVideo};​ do  for iMapVideo in ${mapVideo};​ do
 +
 + numImage="​1"​
  
- # Recherche codec vidéo ​map vidéo+ # Recherche codec vidéo ​(image)
  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
   
Ligne 847: Ligne 868:
 done done
 } }
 +#​===========================================================================================================
 +function FFMPEG_OUT()
 +{
 +
 +
 +# Si fichier exsite déjà ajoute "​copie"​ et numéro de la copie
 +nbrCopie="​1"​
 +
 +while [[ -f "​${dirOut}/​${fileName}.${conteneur}"​ ]]; do
 + fileName=$(awk '​{gsub(/​ - copie.*/, ""​);​ printf "%s - copie '​$nbrCopie'"​ ,$0}' <<<​ "​${fileName}"​)
 + ((nbrCopie+=1))
 +done
 +}
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 #​=========================================================================================================== #​===========================================================================================================
 function COVER() function COVER()
Ligne 863: Ligne 908:
  
 if [[ "​${nameImage}"​ == ""​ ]]; then  if [[ "​${nameImage}"​ == ""​ ]]; then 
- nameImage="​cover_${typeImage}"​+ #nameImage="​cover_${typeImage}"​
   
 +
 + if [[ "​${typeImage}"​ == "Cover (front)"​ ]]; then
 + nameImage="​Cover front"
 +
 + elif [[ "​${typeImage}"​ == "Cover (back)"​ ]]; then
 + nameImage="​Cover back"
 +
 + else [[ "​${typeImage}"​ == "​Other"​ ]]
 + nameImage="​Other"​
 +
 + fi
 +
 elif [[ "​${nameImage}"​ == "​${nameImageSave}"​ ]]; then elif [[ "​${nameImage}"​ == "​${nameImageSave}"​ ]]; then
  nameImage="​${nameImage}_${numImage}"​  nameImage="​${nameImage}_${numImage}"​
Ligne 911: Ligne 968:
  
  
-elif [[ "​${typeImage}"​ == "​Other"​ ]]; then+else [[ "​${typeImage}"​ == "​Other"​ ]]
  typeImage="​0"​  typeImage="​0"​
  
-else +
- typeImage="​3"​+
  
 fi fi
Ligne 983: Ligne 1039:
 function COVER_MP3() function COVER_MP3()
 { {
- 
- 
 if [[ "​${typeImage}"​ == "Cover (front)"​ ]]; then if [[ "​${typeImage}"​ == "Cover (front)"​ ]]; then
  typeImage="​FRONT_COVER"​  typeImage="​FRONT_COVER"​
Ligne 996: Ligne 1050:
 elif [[ "​${typeImage}"​ == "​Other"​ ]]; then elif [[ "​${typeImage}"​ == "​Other"​ ]]; then
  typeImage="​OTHER"​  typeImage="​OTHER"​
-  
  
 else else
Ligne 1009: Ligne 1062:
 function COVER_OTHER() function COVER_OTHER()
 { {
-# renommage image cover en "​cover"​ +if [[ "${typeImage}" ​== "Cover \(back\)" ​]]; then
-mv "${dossierTmp}/​${nameImage}.${codecVideoIn}" "${dossierTmp}/​cover.${codecVideoIn}"+
  
-# Ajout de l'​image au fichier audio + # renommage image cover en "​cover"​ 
-kid3-cli -c "set picture:"​${dossierTmp}/​cover.${codecVideoIn}"​ ''"​ "​${dirOut}/​${fileName}.${conteneur}"​+ mv "​${dossierTmp}/​${nameImage}.${codecVideoIn}"​ "​${dossierTmp}/​cover.${codecVideoIn}"​ 
 + 
 + # Ajout de l'​image au fichier audio 
 + kid3-cli -c "set picture:"​${dossierTmp}/​cover.${codecVideoIn}"​ ''"​ "​${dirOut}/​${fileName}.${conteneur}"​ 
 + 
 +fi
 } }
  
Ligne 1134: Ligne 1191:
  
 </​code>​ </​code>​
 +
 +
  

Pied de page des forums

Propulsé par FluxBB