|
| Extraite les metadonnées des fichiers vidéos |
| Started by Denis, Aug., 24 2023 8:25 AM - 10 replies |
| |
| | | |
|
| |
Registered member 189 messages |
|
| Posted on August, 24 2023 - 8:25 AM |
Bonjour, Je suis loin d'être un spécialiste en matière de vidéo. En achetant la V.27, j'espérais beaucoup du champ multimédia, mais, au final, il n'apporte pas grand chose de plus que l'Active Media Player de Microsoft. Donc, pour extraire les métadonnées de fichiers vidéo, je dois faire appel à EXIFTOOL, mais cà fait un peu bricolage : Ligne de commande, masquage de fenêtre DOS, création et lecture de fichiers intérmédiaires... bof, bof... Existe-il un moyen fiable et "propre" de faire çà avec des DLL Microsoft ou autre ? Merci aux spécialistes de m'apporter leurs lumières. |
| |
| |
| | | |
|
| | |
| |
Registered member 1,046 messages |
|
| Posted on August, 26 2023 - 11:46 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 189 messages |
|
| Posted on August, 27 2023 - 3:13 AM |
Merci Cédric pour ce lien. Je l'avais trouvé et testé en vain avec plusieurs versions de MEDIAINFO.DLL. Cà n'a jamais fonctionné. J'utilise la fonction MCI pour récupérer la durée en HH:MM:SS:CCC. C'est parfois plus précis que les metadonnées. Et avec les caméras d'action modernes (GoPro, DJI, INSTA,...), il peut y avoir plusieurs milliers de lignes à extraire des metadatas : Mediainfo.dll ne fait pas le job. Il faut pouvoir extraire du EXIF, du GPS, du XMP, de l'IPTC, etc... selon l'origine matériel du fichier média |
| |
| |
| | | |
|
| | |
| |
Registered member 175 messages |
|
| Posted on August, 27 2023 - 12:07 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 962 messages |
|
| Posted on August, 28 2023 - 8:01 AM |
Hello, il y a aussi l'assemblage dotnet MetaDataExtractor de licence Apache-2 :
MetadataExtractor is a straightforward .NET library for reading metadata from image, movie and audio files. The library understands several formats of metadata, many of which may be present in a single image: Exif IPTC XMP JFIF / JFXX ICC Profiles GPS Le projet se trouve ici : https://github.com/drewnoakes/metadata-extractor-dotnet Voici comment l'intégrer dans Windev 1 - Télécharger le fichier paquet nuget (.nupkg) qui se trouve ici : https://www.nuget.org/packages/MetadataExtractor (cliquer sur download package) 2 - Ouvrir le fichier nupkg avec 7zip par exemple et extraire le fichier MetadataExtractor.dll qui se trouve dans lib/net45 3 - Cet assemblage a une dépendance avec un autre assemblage : XmpCore. Télécharger le fichier paquet nuget (.nupkg) de cet assemblage qui se trouve ici : https://www.nuget.org/packages/XmpCore/ 4 - Ouvrir le fichier nupkg avec 7zip par exemple et extraire le fichier XmpCore.dll qui se trouve dans lib/net35 5 - Inclure ces deux assemblages dotnet dans son projet Voici un exemple de code pour lire toutes les metadata d'un fichier sous windev en utilisant ces 2 assemblages :
listeDir est un System.Object dynamique rep est un MetadataExtractor.Directory dynamique balise est un MetadataExtractor.Tag dynamique QUAND EXCEPTIONEXCEPTION DANS listeDir = ImageMetadataReader.ReadMetadata("maVideo.mp4") FAIRE Trace("Erreur Lecture Fichier : " + ExceptionInfo()) RETOUR FIN POUR TOUT rep de listeDir POUR TOUTE balise de rep.Tags QUAND EXCEPTIONEXCEPTION DANS Trace( rep.Name + " - " + balise.Name + " : " + balise.Description) FAIRE Trace("Erreur Lecture tag " + balise.Name + " : " + ExceptionInfo()) CONTINUER FIN FIN FIN
-- Ami calmant, J.P |
| |
| |
| | | |
|
| | |
| |
Registered member 189 messages |
|
| Posted on August, 29 2023 - 7:18 AM |
Merci à vous, Je vais tester tout çà et, si possible, comparer les possibilités des solutions : lecture / écriture de métadonnées. C'est vraiment dommage que les fonctions WINDEV ne soient pas plus évoluées à ce niveau. |
| |
| |
| | | |
|
| | |
| |
Registered member 189 messages |
|
| Posted on August, 30 2023 - 1:05 AM |
@Jurassic J'ai chargé et installé les 2 DLL et je teste MetadataExtractor. Mais je me prends systématiquement un message d'erreur "Erreur Lecture Fichier : L'initialisation du Framework .NET a échoué. Vérifiez vos paramètres de sécurité .NET. Il n'est généralement pas permis d'utiliser le Framework .NET depuis un chemin réseau." Je n'utilise aucun chemin réseau : Ma vidéo de test est dans le répertoire courant. Et comment vérifier les paramètres de sécurité .NET ? Merci pour ton aide |
| |
| |
| | | |
|
| | |
| |
Registered member 189 messages |
|
| Posted on August, 30 2023 - 1:28 AM |
Bon, j'ai trouvé comment outrepasser le message de sécurité. Il faut modifier 2 clés dans la BdR Windows (Possible en Windev)
Key : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 Value: SchUseStrongCrypto Type: REG_DWORD Data : 1
Key : HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319 Value: SchUseStrongCrypto Type: REG_DWORD Data : 1 |
| |
| |
| | | |
|
| | |
| |
Registered member 189 messages |
|
| Posted on August, 30 2023 - 1:39 AM |
En matière d'extraction de métadonnées d'une vidéo, le résultat est sans appel... EXIFTOOL 219 balises extraites METADATAEXTRACTOR 75 balises extraites |
| |
| |
| | | |
|
| | |
| |
Registered member 962 messages |
|
| Posted on August, 30 2023 - 9:43 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 189 messages |
|
| Posted on August, 30 2023 - 10:59 AM |
Merci, Jurassic Quitte à utiliser la ligne de commande, je vais rester avec ma procédure EXIFTOOL qui est très "autonome".
xLig_Cde = fRepEnCours()+"\exiftool.bat "+Caract(34)+Table_VDOS.Fichier_Vidéo[I]+Caract(34)+" "+Caract(34)+xFic_Metadatas+Caract(34)
xRes_Lance = LanceAppli(xLig_Cde,exeIconise,exeBloquant)
Le Fichier .BAT exiftool -ee -g %1 > %2
Le truc, c'est qu'avec les nouvelles caméras (action, gimbal, drone, cctv, etc..), il faut pouvoir récupérer des milliers de métadonnées (Gimbal, positions GPS, altitudes, etc...) En plus, les marques prolifèrent, et d'une marque à l'autre, les tags sont différents et formatés différemment. Un des derniers fichiers que j'ai traité contenait pas moins de 67000 métadonnées !!!
Avec EXIFTOOL, il faut passer par un fichier .BAT qui contient la ligne de commande avec passage de paramètres %1,%2,etc... On peut générer un fichier TXT non formatté, mais avec un pseudo séparateur entre TAG et VALEUR Il suffit ensuite de charger ce fichier TXT et de le traiter avec les commandes WINDEV pour extraire TAGS ET VALEURS J'ai optimisé mon code pour éviter que çà lag trop.
Cà vaudrait vraiment le coup que WINDEV sorte un peu du monde de la gestion pour se pencher sur celui du multimédia.
Un grand merci à vous deux pour toutes ces pistes. En espérant que çà en aidera d'autres aussiMessage modified, August, 30 2023 - 11:05 AM |
| |
| |
| | | |
|
| | | | |
| | |
|