Vous n'êtes pas identifié(e).
Il y a un truc qui me chagrine avec ta modification. Je teste dans la journée .
Il me faudrait le retour de la commande :
quand un dvd est introduit dans le lecteur. Je ne sais pas trop comment
tu peux arriver à lire quelque chose dans « /run/media/$USER/$TITLE ».
Chez moi je n'ai déjà pas « /run/media ».
Sinon tu peux me dire ce qui te chagrine plus précisément, car le test semble
fonctionner. La seule chose c'est qu'il faudrait rajouter un système pour savoir
si le dvd monté est vraiment un dvd vidéo.
Dernière modification par enicar (19-06-2019 11:16:08)
Hors ligne
par :
J'ai juste rajouté un test sur la variable TITLE, si cette variable
est vide, c'est qu'il n'y a pas de dvd vidéo. Je suppose qu'un dvd
vidéo sans titre n'existe pas. Mais est-ce vrai ?
D'ailleurs, j'ai une autre idée. Dans le cas où plusieurs dvd ont été
détecté, il doit être possible de savoir si seulement un des deux est
un dvd vidéo (au cas où il y aurait un dvd de données et un dvd
vidéo).
Dernière modification par enicar (19-06-2019 11:42:42)
Hors ligne
Il me faudrait le retour de la commande :
cat /proc/mounts
quand un dvd est introduit dans le lecteur. Je ne sais pas trop comment
tu peux arriver à lire quelque chose dans « /run/media/$USER/$TITLE ».
Chez moi je n'ai déjà pas « /run/media ».
C'est bizarre car moi j'ai bien mon dvd qui se monte dans un dossier de nom title avec son sous-dossier VIDEO_TS
Non le seul truc qui me chagrinait c'était un DVD-vidéo + un DVD-Rom et que le script m'indique :
Il m'avait semblé que mon script partait en encodage si la formule DVD-vidéo + un DVD-Rom était de ce type.
Ma vieille formule et ton amélioration ne pose donc pas de problème sur le fonctionnement. La tienne rend le script plus portable
La seule chose c'est qu'il faudrait rajouter un système pour savoir
si le dvd monté est vraiment un dvd vidéo.
ça fait un momment que je cherche cette astuce.
Dernière modification par Anonyme (19-06-2019 14:17:06)
Non le seul truc qui me chagrinait c'était un DVD-vidéo + un DVD-Rom et que le script m'indique :
Aucun DVD-Vidéo ou 2 DVD-Vidéos/DVD-ROM ... dans différents lecteurs ?
Je pense que ta version faisait la même chose. C'est quelque chose que l'on peut améliorer.
Ça n'est pas forcément très compliqué.
Hors ligne
Dernière modification par Anonyme (19-06-2019 21:24:36)
Avec ta modification :
et je propose :
Ça consiste à lire la sortie de « lsdvd $DEVICE » une seule fois
et à fixer les variables en passant. Pour extraire le titre
du dvd, je me sers de l'expansion de variable de bash. Ici je demande
juste de supprimer au début de ligne tout caratère (*) suivit de « : »
et d'un espace uniquement sur la première ligne.
Sinon je regarde avec une expression rationnelle de bash si la ligne
contient le motif « ^Title: », si oui j'incrémente la variable
TITLE_COUNT (précédemment initialisée à zéro).
Je ne sais pas si ça vaut le coup… Ça fait pas mal de code.
En plus ça ne fonctionnera pas avec des vieilles versions de bash
à cause de la regexp (je ne sais plus dans quelle version ça a été
introduit).
Hors ligne
Dis et encoder les 2 dvd-vidéo en même temps ???
Je m'y attendais un peu
Et en plus ça doit être possible. Mais ça demanderait des
modifications du script pas banales. Je ne sais pas comment il faudrait
s'y prendre.
Hors ligne
J'ai eu une autre idée pour TITLE et TITLE_COUNT.
Je me disais qu'il était dommage d'appeler deux fois « lsdvd $DEVICE ».
Ceci dit ce n'est pas grave non plus. Mais j'ai mis au point une
solution en pur bash (sans awk ni grep).
Nous avons :
## LABEL DU DVD-VIDÉO & NOMBRE TOTAL DE TITRES SUR CELUI-CI
TITLE=$(lsdvd "$DEVICE" | awk 'NR == 1 {print $3; exit}')
TITLE_COUNT=$(lsdvd "$DEVICE" | grep -c ^'Title: ')
et je propose :
## LABEL DU DVD-VIDÉO & NOMBRE TOTAL DE TITRES SUR CELUI-CI
num=0
TITLE_COUNT=0
regexp='^Title: '
while read -r line; do
num=$((num+1))
if [[ "$num" -eq 1 ]]; then
TITLE=${line#*: }
elif [[ "$line" =~ $regexp ]]; then
TITLE_COUNT=$((TITLE_COUNT+1))
fi
done < <(lsdvd "$DEVICE")
unset num regexp
Ça consiste à lire la sortie de « lsdvd $DEVICE » une seule fois
et à fixer les variables en passant. Pour extraire le titre
du dvd, je me sers de l'expansion de variable de bash. Ici je demande
juste de supprimer au début de ligne tout caratère (*) suivit de « : »
et d'un espace uniquement sur la première ligne.
Sinon je regarde avec une expression rationnelle de bash si la ligne
contient le motif « ^Title: », si oui j'incrémente la variable
TITLE_COUNT (précédemment initialisée à zéro).
Je ne sais pas si ça vaut le coup… Ça fait pas mal de code.
En plus ça ne fonctionnera pas avec des vieilles versions de bash
à cause de la regexp (je ne sais plus dans quelle version ça a été
introduit).
SUR UN DVD-ROM :
AVEC UN SEUL DVD-VIDEO :
AVEC UN MIX:
Anonyme a écrit :Dis et encoder les 2 dvd-vidéo en même temps ??? https://debian-facile.org/img/smilies/xtras/out.gif
Je m'y attendais un peu
Et en plus ça doit être possible. Mais ça demanderait des
modifications du script pas banales. Je ne sais pas comment il faudrait
s'y prendre.
Il y a un gars qui a pontu le truc. Une tour avec une dizaine de lecteurs. J'essaierai de retrouver le lien.
EDIT: je ne sais pas pourquoi, je suis en train de penser à quelqu'un en éditant ce message
Dernière modification par Anonyme (19-06-2019 14:48:22)
Dernière modification par Anonyme (19-06-2019 14:54:39)
Dis moi, c'est peut-être bête, mais on ne pourrait pas faire un truc avec simplement VIDEO_TS ?
Non ce n'est pas bête, vu que le dvd doit être monté. Je fais une pause repas et
je regarde après.
Hors ligne
Voilà, tu peux tester ce script et me dire ce qu'il renvoit, stp ?
Hors ligne
Celui-ci se comporte plus comme ce que tu voulais. Tu me diras si ça
marche, comme d'habitude.
Hors ligne
Je charge un DVD-ROM dans le lecteur interne tout en laissant le DVD-VIDEO dans le lecteur principal :
Un DVD-VIDEO dans chaque lecteurs :
Un DVD-VIDEO interne + un CD-AUDIO externe
Rien dans les lecteurs :
C'est parfait
C'est parfait
Bon alors, je l'intègre au script sans les echo de débogage
Hors ligne
Dernière modification par Anonyme (19-06-2019 21:20:37)
Dernière modification par enicar (19-06-2019 21:19:53)
Hors ligne
Dernière modification par Anonyme (19-06-2019 21:22:47)
Ne soit pas étonné, si ça ne marche pas, j'ai intégré d'autres
modifications. Toutefois, ça devrait aller, mais le suspense est à son
comble
EDIT :Script corrigé
EDIT2 : Détection du point de montage affiné pour
gérer les noms de dossiers avec des espaces (l'ennemi des shell
scripts). Je vais réfléchir pour trouver une meilleure méthode…
Dernière modification par enicar (20-06-2019 00:51:28)
Hors ligne
Je peux virer mon lecteur externe ? Car il me fout le boxon.
Tu fais comme tu veux, c'était juste pour tester la partie qui gère le nombre
de dvd. À priori, cette partie fonctionne.
Hors ligne
Anonyme a écrit :Je peux virer mon lecteur externe ? Car il me fout le boxon.
Tu fais comme tu veux, c'était juste pour tester la partie qui gère le nombre
de dvd. À priori, cette partie fonctionne.
Je vire et ..................... je teste le 347
EDIT : Je vire les filtres et je passe à 30 secondes pour prendre un max de titres sur le DVD-VIDEO
Tests en cours ...
Dernière modification par Anonyme (19-06-2019 21:47:31)