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 →
Ci-dessous, les différences entre deux révisions de la page.
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:50] Slyfox [Sylmedia] |
utilisateurs:slyfox:scripts:accueil [14/08/2018 17:30] Slyfox créée |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Slymedia ====== | ||
- | ====== Sylmedia ====== | + | * Objet : du tuto FIXME |
- | + | * Niveau requis : FIXME {{tag>débutant avisé}} | |
- | * Objet : | + | * Commentaires : //Contexte d'utilisation du sujet du tuto. // FIXME |
- | * 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à !.]] :-) | * 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/07/2018 | ||
- | * Commentaires sur le forum : | ||
- | |||
- | <note warning>__**Script en cours d’écriture!**__</note> | ||
- | |||
- | Installation des paquets: | ||
- | <code root>apt-get update | ||
- | 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** \\ | ||
- | Déplacer le fichier **slymedia.sh** dans le dossier **/home** ou a convenance.\\ | ||
- | 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. | ||
+ | ===== Script ===== | ||
+ | <note warning>En cours d'écriture, peut fonctionner que partiellement !</note> | ||
- | <note>Version du 31.07.2018</note> | + | <note tip>Version du: 02.08.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 | ||
+ | # Version: 20180802 | ||
#=========================================================================================================== | #=========================================================================================================== | ||
Ligne 57: | Ligne 35: | ||
--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 346: | ||
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 351: | ||
STREAMSUBTITLE | STREAMSUBTITLE | ||
cdeYadStream=(${cdeYadStream[@]} --field=" ":LBL " ") | cdeYadStream=(${cdeYadStream[@]} --field=" ":LBL " ") | ||
+ | |||
done | done | ||
} | } | ||
Ligne 380: | Ligne 358: | ||
{ | { | ||
# 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 393: | ||
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 437: | ||
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 560: | Ligne 551: | ||
cdeQualityVideo=(${qVideo5[@]}) | cdeQualityVideo=(${qVideo5[@]}) | ||
- | fi | ||
- | } | ||
- | #=========================================================================================================== | ||
- | function QUALITY_AUDIO() | ||
- | { | ||
- | # 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)}') | ||
- | |||
- | # Commande selon la qualité | ||
- | if [[ "${cAudio}" = "copy" ]] || [[ "${cAudio}" == "flac" ]]; then | ||
- | cdeQualityAudio=() | ||
- | |||
- | elif [[ "${typeRate}" == "CBR" ]]; then | ||
- | |||
- | if [[ "${quality}" == "Excellente" ]] && [[ "${rateTotal}" -ge "320" ]]; then | ||
- | cdeQualityAudio=(${qAudio1[@]}) | ||
- | |||
- | elif [[ "${quality}" == "Elevée" ]] && [[ "${rateTotal}" -ge "256" ]]; then | ||
- | cdeQualityAudio=(${qAudio2[@]}) | ||
- | |||
- | elif [[ "${quality}" == "Moyenne" ]] && [[ "${rateTotal}" -ge "192" ]]; then | ||
- | cdeQualityAudio=(${qAudio3[@]}) | ||
- | |||
- | elif [[ "${quality}" == "Minimum" ]] && [[ "${rateTotal}" -ge "128" ]]; then | ||
- | cdeQualityAudio=(${qAudio4[@]}) | ||
- | |||
- | elif [[ "${quality}" == "Faible" ]] && [[ "${rateTotal}" -ge "64" ]]; then | ||
- | cdeQualityAudio=(${qAudio5[@]}) | ||
- | |||
- | else | ||
- | |||
- | if [[ "${codecAudioIn}" == "${codecAudioOut}" ]]; then | ||
- | cAudio="copy" | ||
- | cdeQualityAudio=() | ||
- | |||
- | else | ||
- | cdeQualityAudio=(-b:a "${rateTotal}k") | ||
- | |||
- | fi | ||
- | |||
- | fi | ||
- | |||
- | elif [[ "${typeRate}" == "VBR" ]]; then | ||
- | |||
- | if [[ "${quality}" == "Excellente" ]]; then | ||
- | cdeQualityAudio=(${qAudio1[@]}) | ||
- | |||
- | elif [[ "${quality}" == "Elevée" ]]; then | ||
- | cdeQualityAudio=(${qAudio2[@]}) | ||
- | |||
- | elif [[ "${quality}" == "Moyenne" ]]; then | ||
- | cdeQualityAudio=(${qAudio3[@]}) | ||
- | |||
- | elif [[ "${quality}" == "Minimum" ]]; then | ||
- | cdeQualityAudio=(${qAudio4[@]}) | ||
- | |||
- | elif [[ "${quality}" == "Faible" ]]; then | ||
- | cdeQualityAudio=(${qAudio5[@]}) | ||
- | |||
- | fi | ||
fi | fi | ||
} | } | ||
Ligne 629: | Ligne 560: | ||
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 577: | ||
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 606: | ||
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 633: | ||
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 660: | ||
cAudio="libmp3lame" | cAudio="libmp3lame" | ||
- | 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 755: | Ligne 688: | ||
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 714: | ||
FFMPEG_VIDEO | FFMPEG_VIDEO | ||
FFMPEG_AUDIO | FFMPEG_AUDIO | ||
+ | FFMPEG_OUT | ||
# 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} -------- ${rateTotal}" ## 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 829: | Ligne 763: | ||
done | done | ||
} | } | ||
+ | |||
#=========================================================================================================== | #=========================================================================================================== | ||
function FFMPEG_AUDIO() | function FFMPEG_AUDIO() | ||
Ligne 841: | Ligne 776: | ||
PROFIL | PROFIL | ||
QUALITY_AUDIO | QUALITY_AUDIO | ||
+ | |||
+ | |||
+ | |||
+ | #cdeQualityAudio=(-b:a "${rateTotal}k") ## TEST | ||
+ | |||
+ | |||
+ | |||
+ | |||
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 | ||
+ | } | ||
+ | #=========================================================================================================== | ||
+ | function QUALITY_AUDIO() | ||
+ | { | ||
+ | # Recherche debit total maximum du fichier source | ||
+ | rateTotal=$(ffprobe -i "${iFileIn}" -hide_banner -v quiet -show_entries format=bit_rate -of csv=s="|" | awk -F [\|] '{printf "%d\n" ,($2/1000)}') | ||
+ | |||
+ | # Commande selon la qualité | ||
+ | if [[ "${cAudio}" = "copy" ]] || [[ "${cAudio}" == "flac" ]]; then | ||
+ | cdeQualityAudio=() | ||
+ | |||
+ | elif [[ "${typeRate}" == "CBR" ]]; then | ||
+ | |||
+ | if [[ "${quality}" == "Excellente" ]] && [[ "${rateTotal}" -gt "320" ]]; then | ||
+ | cdeQualityAudio=(${qAudio1[@]}) | ||
+ | |||
+ | elif [[ "${quality}" == "Elevée" ]] && [[ "${rateTotal}" -gt "256" ]]; then | ||
+ | cdeQualityAudio=(${qAudio2[@]}) | ||
+ | |||
+ | elif [[ "${quality}" == "Moyenne" ]] && [[ "${rateTotal}" -gt "192" ]]; then | ||
+ | cdeQualityAudio=(${qAudio3[@]}) | ||
+ | |||
+ | elif [[ "${quality}" == "Minimum" ]] && [[ "${rateTotal}" -gt "128" ]]; then | ||
+ | cdeQualityAudio=(${qAudio4[@]}) | ||
+ | |||
+ | elif [[ "${quality}" == "Faible" ]] && [[ "${rateTotal}" -gt "64" ]]; then | ||
+ | cdeQualityAudio=(${qAudio5[@]}) | ||
+ | |||
+ | else | ||
+ | |||
+ | if [[ "${codecAudioIn}" == "${codecAudioOut}" ]]; then | ||
+ | cAudio="copy" | ||
+ | cdeQualityAudio=() | ||
+ | |||
+ | else | ||
+ | cdeQualityAudio=(-b:a "${rateTotal}k") | ||
+ | fi | ||
+ | |||
+ | fi | ||
+ | |||
+ | elif [[ "${typeRate}" == "VBR" ]]; then | ||
+ | |||
+ | if [[ "${quality}" == "Excellente" ]]; then | ||
+ | cdeQualityAudio=(${qAudio1[@]}) | ||
+ | |||
+ | elif [[ "${quality}" == "Elevée" ]]; then | ||
+ | cdeQualityAudio=(${qAudio2[@]}) | ||
+ | |||
+ | elif [[ "${quality}" == "Moyenne" ]]; then | ||
+ | cdeQualityAudio=(${qAudio3[@]}) | ||
+ | |||
+ | elif [[ "${quality}" == "Minimum" ]]; then | ||
+ | cdeQualityAudio=(${qAudio4[@]}) | ||
+ | |||
+ | elif [[ "${quality}" == "Faible" ]]; then | ||
+ | cdeQualityAudio=(${qAudio5[@]}) | ||
+ | |||
+ | fi | ||
+ | fi | ||
+ | |||
+ | |||
+ | #cdeQualityAudio=(-b:a "${rateTotal}k") ## TEST | ||
+ | |||
+ | |||
+ | echo "typeRate: ${typeRate}" ## TEST | ||
+ | echo "rateTotal: ${rateTotal}" ## TEST | ||
+ | echo "quality: ${quality}" ## TEST | ||
+ | echo "cdeQualityAudio: ${cdeQualityAudio[@]}" ## TEST | ||
+ | } | ||
+ | #=========================================================================================================== | ||
+ | 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 | done | ||
} | } | ||
Ligne 863: | Ligne 887: | ||
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 | ||
Ligne 911: | Ligne 947: | ||
- | elif [[ "${typeImage}" == "Other" ]]; then | + | else [[ "${typeImage}" == "Other" ]] |
typeImage="0" | typeImage="0" | ||
- | else | + | |
- | typeImage="3" | + | |
fi | fi | ||
Ligne 983: | Ligne 1018: | ||
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 1029: | ||
elif [[ "${typeImage}" == "Other" ]]; then | elif [[ "${typeImage}" == "Other" ]]; then | ||
typeImage="OTHER" | typeImage="OTHER" | ||
- | |||
else | else | ||
Ligne 1009: | Ligne 1041: | ||
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 1065: | Ligne 1101: | ||
elif [[ "${status}" -eq "4" ]]; then | elif [[ "${status}" -eq "4" ]]; then | ||
SAVE | SAVE | ||
- | YADFILE | + | YADSOURCE |
- | + | ||
- | # YADFILE Bouton "Quitter" ou "Croix fenêtre" | + | # YADSOURCE 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 | ||
- | + | ||
- | # YADFILE Bouton "Annuler" | + | # YADSOURCE Bouton "Annuler" |
elif [[ "${status}" -eq "2" ]]; then | elif [[ "${status}" -eq "2" ]]; then | ||
MAIN | MAIN | ||
- | + | ||
- | # YADFILE Bouton "Valider" | + | # YADSOURCE choix "Fichier" |
- | elif [[ "${status}" -eq "0" ]]; then | + | elif [[ "${source}" == "Fichier" ]]; then |
- | STREAM | + | YADFILE |
- | MAIN | + | |
+ | # 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" | ||
+ | |||
fi | fi | ||
Ligne 1105: | Ligne 1168: | ||
CONFIGURATION | CONFIGURATION | ||
MAIN | MAIN | ||
- | |||
</code> | </code> | ||