EXTRACTION AUDIO FLV VERS MP3

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 - 14 janv. 2008 à 16:12
bubulemaster Messages postés 19 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 22 mars 2010 - 17 sept. 2008 à 14:38
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45422-extraction-audio-flv-vers-mp3

bubulemaster Messages postés 19 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 22 mars 2010
17 sept. 2008 à 14:38
Bonjour,

j'ai cherché sur internet et sur le site de macromedia, je ne trouve pas la doc du format FLV.
Je voudrais juste connaitre la durée et la dimension de la vidéo.

Merci
pjbou Messages postés 1 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 7 septembre 2008
7 sept. 2008 à 00:18
Bonjour!
Le code a l'air très complet et semble bien marcher pour les autres, mais je suis incapable de l'insérer dans mon appli VB. J'utilise VB Express 2008. Quand je le colle dans un module, j'ai un 40aine d'erreurs qui apparaissent... Je suis débutant, et je ne vois vraiment pas comment résoudre le problème.
Merci!
GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
31 janv. 2008 à 01:54
Hello,

Merci pour ton code!
Je l'ai adapté au FBSL :)
Voici le code pour celles et ceux que ça intéresse :
#AppType CONSOLE

Dim mnIn As Integer, mnOut As Integer
Dim %i, $sBuff, %nPos

Flv2Mp3( "Stupeflip - Je fume pu d'shit.flv" )

Function Flv2Mp3(ByVal szFLVFile As String) As Integer
    mnIn = FileOpen( szFLVFile, BINARY_INPUT )
    Flv2Mp3 = False
    If (ReadUInt32() = &H464C5601) Then
        ReadUInt8() 'flags
        nPos = ReadUInt32()

        FileSeek( mnIn, nPos )'+1
        ReadUInt32() 'prevTagSize

        Do Until FileEof(mnIn)
            ReadTag()
            ReadUInt32() 'prevTagSize
        Loop

        If mnOut Then
            Flv2Mp3 = True
            FileClose( mnOut  )
            mnOut = 0
        End If
    End If
    FileClose( mnIn )
End Function

Sub ReadTag()
Dim eTagType As Integer, eMediaType As Integer, nLength As Integer, xbData As String
Static xTotal As Integer

    eTagType = ReadUInt8()
    nLength  = ReadUInt24()
    ReadUInt32() 'timeStamp
    ReadUInt24() 'streamID

    If nLength Then
        eMediaType = ReadUInt8()
        xbData = ReadBytes(nLength - 1)
        '# Audio et de type MP3        If (eTagType &H8) And (eMediaType \ 16) 2 Then
            If mnOut = 0 Then
                xTotal = 0
                mnOut = FileOpen( ".\out.mp3", BINARY_NEW )
            End If
            xTotal = xTotal + nLength
            FilePut( mnOut, xbData )
            'Locate(5, 5): Print xTotal, " MP3 bytes written"
        End If
    End If
End Sub

Function ReadBytes(vnLength As Integer)
    sBuff = FileGet(mnIn, vnLength): Return sBuff
End Function

Function ReadUInt32() As Integer
    sBuff = FileGet( mnIn, 4): Return CVI(sBuff, 1)
End Function

Function ReadUInt24() As Integer
    sBuff = FileGet( mnIn, 3): Return CVI(sBuff, 1)
End Function

Function ReadUInt8() As Integer
    sBuff = FileGet( mnIn, 1): Return CVI(sBuff, 1)
End Function


Enjoy!
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
18 janv. 2008 à 10:00
la doc est dispo chez macromédia ^^

CrackPath va me reservir...
j'avais codé tout un tas de conditions, c'etait sacrément tordu, et j'avais pas cette même garantie de bien gérer tous les cas. Des fois les choses les plus simples...

GetUnique a été codée y'a longtemps...

ces deux fonctions sont d'ailleurs sur Codyx, pour les garder sous le coude
cs_moustachu Messages postés 1079 Date d'inscription jeudi 14 novembre 2002 Statut Membre Dernière intervention 1 janvier 2012
18 janv. 2008 à 09:44
Ebartsoft>C'est justement parce que j'avais reçu un coup de fil que je me suis dit que j'avais pas fermé ma balise.Pfiouuu, je suis pas passé loin !

Renfield>Super commenté, ça fait plaisir ! très bien tes fonctions CrackPath et surtout GetUnique. Où as-tu appris comment était constitué un fichier flv ?

++
Moustachu
Afficher les 18 commentaires