[lecteur CD/DVD] connaître type de média contenu
- vintherine
- yeomen
- Messages : 281
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
[lecteur CD/DVD] connaître type de média contenu
Bonsoir,
j'essaie de savoir dans un script bash quel est le type de média contenu dans mon lecteur optique (cd/dvd de données, cd audio, PhotoCD, vidéo, cd/dvd vierge…). La finalité est un pipe-menu pour openbox permettant de choisir l'action à effectuer (montage, ouverture avec lecteur audio ou vidéo, gravure...).
j'obtiens des renseignements parcellaires avec lsblock, notamment le système de fichier (FSTYPE) quand il est renseigné, d'autres avec udissks ou encore gvfs-info ou gvfs-mount -li, mais rien n'est facilement exploitable. Existe-t-il une commande plus pertinente ?
Merci d'avance
j'essaie de savoir dans un script bash quel est le type de média contenu dans mon lecteur optique (cd/dvd de données, cd audio, PhotoCD, vidéo, cd/dvd vierge…). La finalité est un pipe-menu pour openbox permettant de choisir l'action à effectuer (montage, ouverture avec lecteur audio ou vidéo, gravure...).
j'obtiens des renseignements parcellaires avec lsblock, notamment le système de fichier (FSTYPE) quand il est renseigné, d'autres avec udissks ou encore gvfs-info ou gvfs-mount -li, mais rien n'est facilement exploitable. Existe-t-il une commande plus pertinente ?
Merci d'avance
Re: [lecteur CD/DVD] connaître type de média contenu
est-ce qu'il existe déjà un paquet archlinux permettant de faire la même chose sous openbox ?
en général ce type de comportement de "confort" ( l'automount avec proposition de programme à utiliser dès l'insertion d'un CD/DVD, de disque dur USB ou de clé USB ) existe avec la plupart des environnements de bureau ( kde, gnome ),
l'idée c'est d'éviter de réinventer la roue, il se peut qu'un fan d'openbox a déjà écrit ce type de programme pour openbox et qu'il soit disponible sur les dépôts d'archlinux ( dépôts officiels ou celui de aur )
en général ce type de comportement de "confort" ( l'automount avec proposition de programme à utiliser dès l'insertion d'un CD/DVD, de disque dur USB ou de clé USB ) existe avec la plupart des environnements de bureau ( kde, gnome ),
l'idée c'est d'éviter de réinventer la roue, il se peut qu'un fan d'openbox a déjà écrit ce type de programme pour openbox et qu'il soit disponible sur les dépôts d'archlinux ( dépôts officiels ou celui de aur )
- vintherine
- yeomen
- Messages : 281
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
Re: [lecteur CD/DVD] connaître type de média contenu
1) je ne veux pas d'un automount. Pourquoi faire ? Un pipe-menu bien conçu devrait permettre de choisir aisément l'action à exécuter (ou pas) et ça ne fera pas un clic de plus.
2) j'ai recherché dans les pipes-menus existants, mais n'ai pas trouvé quelque-chose d'aussi complet que je le souhaite (périphériques mtp notamment)
3) pour l'instant pcmanfm (ou thunar) fait le job, y compris si je le souhaitais en daemon avec auto-montage, mais pas exactement comme j'en ai envie.
4) réinventer la roue (me) permet aussi d'apprendre, et c'est aussi pour ça que je suis sous Linux. Après personne ne sera obligé de l'utiliser n'est-ce pas ?
2) j'ai recherché dans les pipes-menus existants, mais n'ai pas trouvé quelque-chose d'aussi complet que je le souhaite (périphériques mtp notamment)
3) pour l'instant pcmanfm (ou thunar) fait le job, y compris si je le souhaitais en daemon avec auto-montage, mais pas exactement comme j'en ai envie.
4) réinventer la roue (me) permet aussi d'apprendre, et c'est aussi pour ça que je suis sous Linux. Après personne ne sera obligé de l'utiliser n'est-ce pas ?
- FoolEcho
- Maître du Kyudo
- Messages : 10711
- Inscription : dim. 15 août 2010, 11:48
- Localisation : Basse-Normandie
Re: [lecteur CD/DVD] connaître type de média contenu
Heu... faut aussi savoir commencer petit bras, justement ne pas réinventer la roue et savoir utiliser les outils «de base».vintherine a écrit :4) réinventer la roue (me) permet aussi d'apprendre, et c'est aussi pour ça que je suis sous Linux. Après personne ne sera obligé de l'utiliser n'est-ce pas ?
Tu as jeté un œil sur devmon (aujourd'hui inclu dans udevil-git) ?vintherine a écrit :2) j'ai recherché dans les pipes-menus existants, mais n'ai pas trouvé quelque-chose d'aussi complet que je le souhaite (périphériques mtp notamment)
https://bbs.archlinux.org/viewtopic.php?id=112502&p=4
https://igurublog.wordpress.com/downloa ... pt-devmon/
http://ignorantguru.github.io/udevil/
Mais si tu veux descendre plus bas, ça passe sans aucun doute par udisks et cie (perso... je ne sais pas faire)... mount (sauf que ce qui n'est pas un système de fichiers ne se monte pas et on retombe sur la question d'identification du media, chose que je ne sais pas faire pour un lecteur optique, vu que le contenu varie... et que je ne me suis jamais posé la question, que donne
file
sur ce type de truc, par exemple ?).Gestion_de_volumes_avec_udisks
«The following statement is not true. The previous statement is true.» 

- vintherine
- yeomen
- Messages : 281
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
Re: [lecteur CD/DVD] connaître type de média contenu
oui, ça je maîtrise plus ou moins bien (lsblk, udisks, udisks2, gvfs....). Les rares trucs que je n'ai pas réussi à comprendre sont :Mais si tu veux descendre plus bas, ça passe sans aucun doute par udisks et cie
- comment font les démons de kde et autres pour savoir à quel genre de média on a affaire (voir question du 1er post)
- comment savoir si un lecteur est ouvert ou simplement vide
le premier point est plus ou moins contourné :
- j'estime qu'un média sans fstype mais avec des pistes audio c'est un cd audio. Mais je n'ai jamais eu de CD-Text entre les mains et je ne sais pas l'appréhender
- pour tous les autres je propose dans le menu d'ouvrir un mediaplayer même si cela n'a aucun sens.
Voici les médias que j'aimerai pouvoir identifier de façon certaine :
Les CD-DA (logo "Compact Disc Digital Audio"). C'est le cd-audio classique
Les DVD Video (logo "DVD Video")
accessoirement :
Les VideoCD (logo "Compact Disc Digital Video" et/ou "VideoCD")
Les PhotoCD ont le plus souvent un logo "Kodak PhotoCD"
Les CD+G (logo "CD Graphics") ou CD-EG ("Extended Graphics")
Les CD-i (logo "Compact Disc Interactive")
Les SVCD (logo "Super Video CD")
Les DVCD (logo "DVCD")
Les HDCD (High Definition Compatible Digital) ont un logo "HDCD". Format probable "Red Book".
Le SACD (Super Audio Compact Disc), disques constitués de deux couches, l'une au format audio "Red Book", l'autre en un format proche du DVD.
Les CDs DTS (Digital Theater Surround) sont identiques à des CDs normaux, à ceci près qu'ils utilisent un encodage DTS au lieu de PCM.
Je suppose que l'identification est dans la piste d'amorçage du média, encore faut-il savoir la lire ! J'ai une piste avec dd mais là, pour le coup, j'aimerais utiliser la roue de quelqu'un d'autre.
Concernant udevil je n'ai pas encore suffisamment pioché, mais udevil info /dev/sxy semble donner les mêmes renseignements que udisks --show-info. Merci pour la piste. Toutefois j'aimerais limiter au maximum les dépendances, notamment pour la partie de base. Par exemple je compte utiliser gvfs pour les lecteurs mp3 et les apn en mtp, mais pas pour les fonctions élémentaires (cd, clefs usb....)
Quand à file :
Code : Tout sélectionner
$ file /dev/sr0
/dev/sr0: block special
- vintherine
- yeomen
- Messages : 281
- Inscription : mer. 04 janv. 2012, 22:14
- Localisation : Annecy
Re: [lecteur CD/DVD] connaître type de média contenu
Pour les cd audio j'ai trouvé, avec gvfs-mount -li.
donc si une variable Device contient l'identifiant du périphérique il suffit de faire
si on l'a monté avec gvfs-mount cdda://sr0 on a en plus
on sait donc s'il est monté
par contre ça m’embête un peu d'utiliser gvfs qui n'est pas forcément installé sur touts les machines.
voilà voilà, reste à trouver la même certitude pour les DVD vidéo. J'ai remarqué qu'ils utilisent le système de fichier udf. Est-ce les seuls ?
Code : Tout sélectionner
../..
Drive(1): MATSHITADVD-RAM UJ862AS
Type: GProxyDrive (GProxyVolumeMonitorUDisks2)
ids:
unix-device: '/dev/sr0'
themed icons: [drive-optical] [drive]
symbolic themed icons: [drive-optical-symbolic] [drive-symbolic] [drive-optical] [drive]
is_media_removable=1
has_media=1
is_media_check_automatic=1
can_poll_for_media=0
can_eject=1
can_start=0
can_stop=0
start_stop_type=shutdown
sort_key=00coldplug/11removable/sr0
Volume(0): Disque audio
Type: GProxyVolume (GProxyVolumeMonitorUDisks2)
ids:
class: 'device'
unix-device: '/dev/sr0'
activation_root=cdda://sr0/
themed icons: [media-optical-cd-rom] [media-optical-cd] [media-optical] [media]
symbolic themed icons: [media-optical-symbolic] [media-symbolic] [media-optical] [media]
can_mount=1
can_eject=1
should_automount=1
sort_key=gvfs.time_detected_usec.1390341519576690
../..
Code : Tout sélectionner
gvfs-mount -li | grep "activation_root=cdda://$Device"
Code : Tout sélectionner
Mount(0): Disque audio -> cdda://sr0/
Type: GProxyShadowMount (GProxyVolumeMonitorUDisks2)
default_location=cdda://sr0/
themed icons: [media-optical-cd-rom] [media-optical-cd] [media-optical] [media]
symbolic themed icons: [media-optical-symbolic] [media-symbolic] [media-optical] [media]
x_content_types: x-content/audio-cdda
can_unmount=1
can_eject=1
is_shadowed=0
Code : Tout sélectionner
gvfs-mount -li | grep "Disque audio -> cdda://$Device"
voilà voilà, reste à trouver la même certitude pour les DVD vidéo. J'ai remarqué qu'ils utilisent le système de fichier udf. Est-ce les seuls ?