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 Les deux révisions suivantes | ||
doc:programmation:bash:ffmpeg [28/04/2020 07:59] golgot200 [script - choix du titre et du bitrate] |
doc:programmation:bash:ffmpeg [28/04/2020 21:39] golgot200 [script - choix du titre et du bitrate] |
||
---|---|---|---|
Ligne 57: | Ligne 57: | ||
if [[ "$COUNT_VIDEO_TS" -eq 1 ]] && [[ "$COUNT_DEVICE" -eq 1 ]]; then | if [[ "$COUNT_VIDEO_TS" -eq 1 ]] && [[ "$COUNT_DEVICE" -eq 1 ]]; then | ||
- | echo -e "\e[32mLes conditions sont réunies : On continue\e[0m" | + | echo -e "\e[3;4;32m Les conditions sont réunies : On continue\e\n[0m" |
TITLE=$(lsdvd /dev/sr0 | head -1 | awk '{print $3}') | TITLE=$(lsdvd /dev/sr0 | head -1 | awk '{print $3}') | ||
Ligne 75: | Ligne 75: | ||
[yY][eE][sS]|[yY]) | [yY][eE][sS]|[yY]) | ||
- | echo -e "\e[3;4;33mRéponse:\n\e[0m \e[32mOui\e[0m" | + | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[32mOui\e[0m" |
echo "" | echo "" | ||
mkdir -p "$TITLE/IFOS" | mkdir -p "$TITLE/IFOS" | ||
Ligne 81: | Ligne 81: | ||
;; | ;; | ||
[nN][oO]|[nN]) | [nN][oO]|[nN]) | ||
- | echo -e "\e[3;4;33mRéponse:\n\e[0m \e[33mNon\e[0m" | + | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[33mNon\e[0m" |
read -r -p "Entrer un nouveau nom: " TITLE | read -r -p "Entrer un nouveau nom: " TITLE | ||
if [[ -z "$TITLE" ]]; then | if [[ -z "$TITLE" ]]; then | ||
Ligne 106: | Ligne 106: | ||
- | echo -e "La limite est fixée pour encoder tous les titres." | + | echo -e "\e[3;4;32m La limite est fixée pour encoder tous les titres.\e[0m" |
read -r -p "Encoder tous les titres ? [Y/n] " input | read -r -p "Encoder tous les titres ? [Y/n] " input | ||
case $input in | case $input in | ||
[yY][eE][sS]|[yY]) | [yY][eE][sS]|[yY]) | ||
- | echo -e "\e[3;4;33mRéponse:\n\e[0m \e[32mOui, on encode tous les titres.\e[0m" | + | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[32mOui, on encode tous les titres.\e[0m" |
- | echo -e "$default_limit" >> "$TITLE/time_limit.txt" | + | echo "$default_limit" >> "$TITLE/time_limit.txt" |
echo "" | echo "" | ||
;; | ;; | ||
[nN][oO]|[nN]) | [nN][oO]|[nN]) | ||
- | echo -e "\e[3;4;33mRéponse:\n\e[0m \e[33mNon,\e[0m \e[32mje veux encoder que les titres d'une certaine durée.\e[0m" | + | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[33mNon, je veux encoder que les titres d'une certaine durée.\e[0m" |
read -r -p "Entrer une limite (ex:1800) en secondes: " time_limit | read -r -p "Entrer une limite (ex:1800) en secondes: " time_limit | ||
if [[ -z "$time_limit" ]]; then | if [[ -z "$time_limit" ]]; then | ||
Ligne 127: | Ligne 127: | ||
times=$((time_limit / 60)) | times=$((time_limit / 60)) | ||
echo -e "Seul les titres de \e[94m$times minutes\e[0m et plus seront pris en compte." | echo -e "Seul les titres de \e[94m$times minutes\e[0m et plus seront pris en compte." | ||
- | echo -e "$time_limit" >> "$TITLE/time_limit.txt" | + | echo "$time_limit" >> "$TITLE/time_limit.txt" |
echo "" | echo "" | ||
fi | fi | ||
Ligne 139: | Ligne 139: | ||
;; | ;; | ||
esac | esac | ||
+ | |||
+ | #fr=1 | ||
+ | #all=0 | ||
+ | |||
+ | echo -e "\e[3;4;32m la langue française est privilégiée par défaut.\e[0m" | ||
+ | read -r -p "Privilégier cette option ? [Y/n] " input | ||
+ | case $input in | ||
+ | [yY][eE][sS]|[yY]) | ||
+ | |||
+ | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[32mOui, on garde cette option.\e\n[0m" | ||
+ | echo "1" > "$TITLE/choix_langues.txt" | ||
+ | ;; | ||
+ | [nN][oO]|[nN]) | ||
+ | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[33mNon, on garde toutes les langues.\e[0m" | ||
+ | echo "0" > "$TITLE/choix_langues.txt" | ||
+ | |||
+ | ;; | ||
+ | *) | ||
+ | echo "Invalid input..." | ||
+ | echo "Quit" | ||
+ | rm -r "$TITLE" | ||
+ | echo -e "Supression du dossier \e[32m$TITLE\e[0m" | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | |||
+ | |||
Ligne 148: | Ligne 176: | ||
[yY][eE][sS]|[yY]) | [yY][eE][sS]|[yY]) | ||
- | echo -e "\e[3;4;33mRéponse:\n\e[0m \e[32mOui\e[0m" | + | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[32mOui\e[0m" |
for (( i=1; i<=TITLE_COUNT; i++ )) | for (( i=1; i<=TITLE_COUNT; i++ )) | ||
Ligne 155: | Ligne 183: | ||
BITRATE=$(mplayer -noconfig all -nocache -vo null -ao null -frames 0 -identify -dvd-device "$DEVICE" dvdnav://"$i" 2>/dev/null | \ | BITRATE=$(mplayer -noconfig all -nocache -vo null -ao null -frames 0 -identify -dvd-device "$DEVICE" dvdnav://"$i" 2>/dev/null | \ | ||
grep "VIDEO:" | awk '{print$8}' | sed 's/\.[^ ]*/ /g') | grep "VIDEO:" | awk '{print$8}' | sed 's/\.[^ ]*/ /g') | ||
- | echo -e "$BITRATE" >> "$TITLE/bitrate.txt" | + | echo "$BITRATE" >> "$TITLE/bitrate.txt" |
done | done | ||
;; | ;; | ||
[nN][oO]|[nN]) | [nN][oO]|[nN]) | ||
- | echo -e "\e[3;4;33mRéponse:\n\e[0m \e[33mNon\e[0m" | + | echo -e "\e[3;4;32m Réponse:\n\e[0m \e[33mNon, on applique un bitrate de son choix\e[0m" |
read -r -p "Appliquer un nouveau Bitrate (ex 1500): " newbitrate | read -r -p "Appliquer un nouveau Bitrate (ex 1500): " newbitrate | ||
+ | echo -e "\e[3;4;33mChoix du bitrate:\n\e[0m \e[3;6;94m$newbitrate kbits/s\e[0m (pour tous les titres)" | ||
+ | |||
if [[ -z "$newbitrate" ]]; then | if [[ -z "$newbitrate" ]]; then | ||
- | echo "Invalid input..." | + | echo -e " \e[3;6;94m Bitrate erroné\e[0m" |
echo "Quit" | echo "Quit" | ||
rm -r "$TITLE" | rm -r "$TITLE" | ||
Ligne 172: | Ligne 202: | ||
for (( i=1; i<=TITLE_COUNT; i++ )) | for (( i=1; i<=TITLE_COUNT; i++ )) | ||
do | do | ||
- | echo -e "$newbitrate" >> "$TITLE/bitrate.txt" | + | echo "$newbitrate" >> "$TITLE/bitrate.txt" |
done | done | ||
fi ;; | fi ;; | ||
Ligne 388: | Ligne 418: | ||
+ | choix_langues=$(sed q "$TITLE/choix_langues.txt") | ||
COUNT_AUDIO_FR=$(mplayer -noconfig all -nocache -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE.mkv" 2>/dev/null |awk '/-alang fr,/ { print $9 }' | wc -w) | COUNT_AUDIO_FR=$(mplayer -noconfig all -nocache -vo null -ao null -frames 0 -identify "$TITLE/$i-$TITLE.mkv" 2>/dev/null |awk '/-alang fr,/ { print $9 }' | wc -w) | ||
## AU MOINS UN AUDIO FRANÇAIS OU PLUS. | ## AU MOINS UN AUDIO FRANÇAIS OU PLUS. | ||
- | if [[ -e "$TITLE/$i-$TITLE.mkv" ]] && [[ "$COUNT_AUDIO_FR" -ge "1" ]]; then | + | if [[ -e "$TITLE/$i-$TITLE.mkv" ]] && [[ "$COUNT_AUDIO_FR" -ge "1" ]] && [[ "$choix_langues" -eq "1" ]] ; then |
mkvmerge -o "$TITLE/$i-$TITLE-[Language: Français].mkv" -a fre "$TITLE/$i-$TITLE.mkv" | mkvmerge -o "$TITLE/$i-$TITLE-[Language: Français].mkv" -a fre "$TITLE/$i-$TITLE.mkv" | ||
Ligne 547: | Ligne 577: | ||
rm -f "$TITLE/bitrate.txt" | rm -f "$TITLE/bitrate.txt" | ||
rm -f "$TITLE/time_limit.txt" | rm -f "$TITLE/time_limit.txt" | ||
+ | rm -f "$TITLE/choix_langues.txt" | ||
echo -e "\e[32mJob terminé.\e[0m" | echo -e "\e[32mJob terminé.\e[0m" | ||
- | echo -e "\e[32mTemps total écoulé: $(date -ud "@$(($(date +%s) - START_TIME))" +%T)\e[0m (HH:MM:SS)" | + | echo -e "\e[32mTemps total écoulé:\e[0m \e[3;6;94m$(date -ud "@$(($(date +%s) - START_TIME))" +%T)\e[0m (HH:MM:SS)" |
</file> | </file> | ||
Puis collez-le dans le fichier créé. | Puis collez-le dans le fichier créé. |