Question [Résolu] Charger la DLL mediainfo.dll

Plus d'informations
il y a 12 ans 2 mois #17094 par Gabriel
Bonjour a tous je cherche a utiliser la DLL mediainfo.dll et pour ca j'essaie de la charger mais ca ne marche pas.

je suis Windows 8 powershell v3

la dll se trouve sur le site mediaarea.net/fr/MediaInfo/Download/Windows

et le message d'erreur lorsque j'essaie est le suivant [code:1]
PS C:\Users\toto\Downloads\MPTag\MediaInfo_DLL_0.7.67x64> [Reflection.Assembly]::Load(\"$chemin\"«»)
Exception calling \"Load\" with \"1\" argument(s): \"Could not load file or assembly
'C:\\Users\\toto\\Downloads\\MPTag\\MediaInfo_DLL_0.7.67x86\\MediaInfo.dll' or one of its dependencies. The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)\"
At line:1 char:1
+ [Reflection.Assembly]::Load(\"$chemin\"«»)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : FileLoadException
[/code:1]

j'ai essayé
[code:1]
[System.Reflection.Assembly]::LoadFile(\"$chemin\"«»)
[Reflection.Assembly]::LoadFile(\"$chemin\"«»)
[Reflection.Assembly]::Load(\"$chemin\"«»)
[/code:1]

quelqu'un peut m'eclairer...? :-)

Message édité par: tonic8, à: 8/04/15 15:57<br><br>Message édité par: Arnaud, à: 9/04/15 10:51

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 2 mois #17095 par xyz
Réponse de xyz sur le sujet Re:charger la dll mediainfo.dll
Salut,
tonic8 écrit:

quelqu'un peut m'eclairer...? :-)

L'outil IlDasm.ex du sdk le peut, il s'agit d'une dll d'API native, et pas d'un assembly dotnet.

Donc pour l'utiliser, sous réserve d'avoir les signatures des méthodes, il faut passer par du code P/Invoke en C#/VB.Net.
Et du peu que j'ai constaté, sous Seven 64, il y a déjà des dépendances de DLL à résoudre avant d'aller plus loin.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 2 mois #17096 par Gabriel
Réponse de Gabriel sur le sujet Re:charger la dll mediainfo.dll
:dry:

dommage... et pas dommage je viens de penser a une autre methode.
:P

testée et approuvée.

dans le meme site il y a un client gui et un client en ligne de commande qui sort les infos (si on le souhaite c'est un des format dispo) en XML

donc
[code:1]
PS C:\Users\toto\Downloads\MPTag\MediaInfo_CLI_0.7.67x64&gt; [xml]$a = .\MediaInfo.exe --Output=XML \&quot;C:\video\9s02e05.avi\&quot;
[/code:1]

si on demande d'afficher les données de l'objet
[code:1]
PS C:\Users\toto\Downloads\MPTag\MediaInfo_CLI_0.7.67x64&gt;$a.Mediainfo.file.track

type : General
Complete_name : C:\video\9s02e05.avi
Format : AVI
Format_Info : Audio Video Interleave
File_size : 349 MiB
Duration : 42mn 5s
Overall_bit_rate : 1 159 Kbps
Writing_application : MEncoder SVN-r35239-4.1.2
Writing_library : MPlayer

type : Video
ID : 0
Format : MPEG-4 Visual
Format_profile : Advanced Simple@L5
Format_settings__BVOP : 2
Format_settings__QPel : No
Format_settings__GMC : No warppoints
Format_settings__Matrix : Default (H.263)
Codec_ID : XVID
Codec_ID_Hint : XviD
Duration : 42mn 5s
Bit_rate : 1 026 Kbps
Width : 624 pixels
Height : 352 pixels
Display_aspect_ratio : 16:9
Original_display_aspect_ratio : 16:9
Frame_rate : 23.976 fps
Color_space : YUV
Chroma_subsampling : 4:2:0
Bit_depth : 8 bits
Scan_type : Progressive
Compression_mode : Lossy
Bits__Pixel_Frame_ : 0.195
Stream_size : 309 MiB (89%)
Writing_library : XviD 64

type : Audio
ID : 1
Format : MPEG Audio
Format_version : Version 1
Format_profile : Layer 3
Mode : Joint stereo
Codec_ID : 55
Codec_ID_Hint : MP3
Duration : 42mn 4s
Bit_rate_mode : Constant
Bit_rate : 128 Kbps
Channel_s_ : 2 channels
Sampling_rate : 48.0 KHz
Compression_mode : Lossy
Delay_relative_to_video : 83ms
Stream_size : 38.5 MiB (11%)
Alignment : Split accross interleaves
Interleave__duration : 500 ms (11.99 video frames)
Interleave__preload_duration : 500 ms
Writing_library : LAME3.99.5

[/code:1]

apuka fokon...

merci Laurent.<br><br>Message édité par: tonic8, à: 1/03/14 01:08 [/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 12 ans 2 mois #17097 par xyz
Réponse de xyz sur le sujet Re:charger la dll mediainfo.dll
tonic8 écrit:

apuka fokon...


Sur le sujet du P/Invoke , il existe un outil qui peut faciliter la conversion. Mais si les sources de ta DLL ne sont pas publiées, tu risques de devoir revalider ton code lors de chaque MAJ.

Le XML me semble donc préférable.
[edit]
Le code source cpp<br><br>Message édité par: Laurent Dardenne, à: 1/03/14 13:04

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 1 mois #19455 par Gabriel
Réponse de Gabriel sur le sujet Re:charger la dll mediainfo.dll
bonjour je rouvre le thread pour un petit update

d'abord merci à Laurent pour ses conseils. Mais le XML et moi on fait 2 :), j'ai donc fait ce dont j'avais besoin mais cela restais très limité, (ca m'a gavé, j'ai pas voulu aller plus loin avec l'interpretation du XML, mon besoin etait de collecter certaines infos, nbres de pistes audio, quelle langues s'est, si il y a des sous titres le nombre les langues des sous titres)

Récemment en recherchant encore le graal, je suis tomber sur un script qui permet de renommer les fichiers vidéo en interrogeant imdb.

Là je regarde en particulier comment il fait pour analyser le fichier, il utilise mediainfo.exe (version CLI) pour extraire 1 seule information, la taille de l'image (pour déterminer si c'est du SD, HD720p ou autre).

et la commande utilisée est:
[code:1]
$MI = \&quot;c:\mediainfo\mediainfo.exe\&quot;
&amp;$MI \&quot;--Inform=Video;%Width%\&quot; $cheminDuFfichierComplet
[/code:1]

le soft lui retourne une chaine avec juste l'info demandée... (dans l'exemple module: Video, data: taille de l'image.

mettez:
[code:1]
--Inform=General;%AudioCount%
[/code:1]
et vous aurez le nombre de piste audio dispo dans un fichier

mettez:
[code:1]
--Inform=General;%AudioCount%\%TextCount%
[/code:1]
et vous aurez le nombre de piste audio dispo dans un fichier suivit d'un \&quot;\\&quot;,suivi du nombre de sous-titre

ce qui peut etre mis entre les variable c'est du texte

[code:1]
c:\mediainfo.exe --Inform=General;le nbre de piste audio:%AudioCount%\nle nbre de soustitre%TextCount% .\fichierVideo.mkv
le nbre de piste audio:3
le nbre de soustitre:1
[/code:1]

le \&quot;\n\&quot; permettant un retour a la ligne.
le \&quot;;\&quot; est special et ne peut etre utiliser dans l'output pour separer les valeur (il est utilisé pour reconnaître un changement de \&quot;section\&quot;.

les section sont \&quot;General, Video, Audio, Text, Chapter, Image, Menu\&quot;

l'ensemble des paramètres en ligne de commande qu'on peut extraire sont dispo soit par la ligne de commande :
[code:1]MediaInfo.exe --Info-Parameters[/code:1]

ou dans ce fichier doc (celui-ci semble assez ancien, il manque des valeurs

Donc maintenant apukafaukon :)

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.042 secondes
Propulsé par Kunena