pcpunch
Messages postés1243Date d'inscriptionmardi 7 mai 2002StatutMembreDernière intervention18 février 20195 14 oct. 2003 à 21:16
Non la taille en Mo car pour la durée c pas un probléme!!
En faite je veux par ex :
Film.avi(1 piste video>600mo, 1 piste audio 98mo)
Mon but est de créer un soft qui calcule la taille de sortie d'un divx en fonction du choix d'un nouveau codec audio de compression..
En fait c pour un ami qui n'y connait pas grand chose en info, il a un lecteur de salon et tous les films qui ne sont pas en mp3 pour le son, ca passe pas!! alors il doit les recompresser en mp3(pour la bande son) avec namdub, etc...!!
Mais il est difficile de calculer en fonction du bitrate audio la nouvelle taille de l'avi recompresser!!! j'ai la formule mathématique pour calculer ca!! mais il me faut la taille en mo de la piste video de l'avi!!!!
Comme ca on peu recompresser la bande son en choissisant la qualité optimum et ca rentre sur un cd!!!!
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013131 14 oct. 2003 à 21:39
La fonction API AVIFileInfo te retourne un type AVIFILEINFO :
Private Type AVIFILEINFO
dwMaxBytesPerSec As Long
dwFlags As Long
dwCaps As Long
dwStreams As Long
dwSuggestedBufferSize As Long
dwWidth As Long
dwHeight As Long
dwScale As Long
dwRate As Long
dwLength As Long
dwEditCount As Long
szFileType As String * 64
End Type
Faut voir si le membre dwMaxBytesPerSec te retourne le bitrate de l'avi... à ce moment là, tu n'a plus qu'à multiplier le bitrate avec la longueur du film pour avoir la taille de la vidéo ! Mais je ne suis pas sûr que ca corresponde au bitrate global de la vidéo... à tester
DarK Sidious
[Responsable de la rubrique API et responsable VB du site www.ProgOtoP.com]
madbob
Messages postés285Date d'inscriptiondimanche 14 décembre 2003StatutMembreDernière intervention13 mars 2012 13 juil. 2004 à 09:42
madbob
de mon coté j'ai tester cette formule :
Taille = (Debit Video + Debit Audio) * (2040/2018) * temps/8
Cette formule n'est pas compatible avec ce que je veux faire :
recalculer la durée en seconde...