IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

ffmpeg erreur Invalid argument [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut ffmpeg erreur Invalid argument
    Bonjour,
    Suite au post de tyrtamos, je me suis lancé dans un petit programme de conversion.
    Malheureusement, j'ai l'erreur :
    [NULL @ 0x55a40fee4b00] Unable to find a suitable output format for '...'
    ...: Invalid argument
    Les ... est mon nom de fichier.



    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    import os
     
    path = r"..."
    print(path)
     
    end =".mkv"
    liste_fich_convert = []
    liste_chemin_fich_convert = []
     
    for root, directories, files in os.walk(path):  
        for file in files:
            if file.endswith(end):
                liste_fich_convert.append(file)
                chemin_fich_convert = os.path.join(root,file)
                liste_chemin_fich_convert.append(chemin_fich_convert)
     
    print(liste_fich_convert)
    print(liste_chemin_fich_convert)
     
    options_conv = [
    # "-hide_banner", # cache la bannière
    # "-nostdin", # empêche les questions pendant le traitement
    # "-y", # permet de remplacer un fichier existant sans demander
    # "-c:v", "libx264", # utilise le pilote vidéo mp4
    # "-c:a", "aac", # utilise le pilote audio AAC
    ]
     
    new_ext = "mp4"
    def video_convert(source,opt):
        source_ss_ext = ".".join(source.split(".")[:-1])
        ext = source.split(".")[-1]
        # print(source_ss_ext)
        # print(ext)
        destination=source_ss_ext.replace(".","-")+new_ext
        print(source)
        print(destination)
        opt = " ".join(opt)
        print(opt)
        # print (r"ffmpeg -i {entree} {options} {sortie}".\
        #           format(entree=source,sortie=destination,options=opt))
        os.system(r"ffmpeg -i {entree} {options} {sortie}".\
                  format(entree=source,sortie=destination,options=opt))
     
    for el in liste_chemin_fich_convert:
        # print(el)
        video_convert(el,options_conv)
    Avez-vous des idées ?
    Bon week-end.

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Salut,

    Les ... est mon nom de fichier.
    Ne devrait-il pas être le nom d'un dossier ?

  3. #3
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Non, car j'itère sur la liste. Ceci dit, j'ai réglé un souci : j'avais oublié un point dans l'extension mp4.
    En console, j'ai maintenant :
    ....mp4: No such file or directory
    Je vais creuser.

  4. #4
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Cela fonctionne maintenant mais les fichiers sont convertis dans le répertoire dans lequel se situe mon programme et non dans le répertoire initial.
    C'est mieux que rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    import os
     
    path = # répertoire source
    print(path)
     
    end =".mkv"
    liste_fich_convert = []
    liste_chemin_fich_convert = []
     
    for root, directories, files in os.walk(path):  
        for file in files:
            if file.endswith(end):
                liste_fich_convert.append(file)
                chemin_fich_convert = os.path.join(root,file)
                liste_chemin_fich_convert.append(chemin_fich_convert)
     
    print(liste_fich_convert)
    print(liste_chemin_fich_convert)
     
    options_conv = [
    # "-hide_banner", # cache la bannière
    # "-nostdin", # empêche les questions pendant le traitement
    # "-y", # permet de remplacer un fichier existant sans demander
    # "-c:v", "libx264", # utilise le pilote vidéo mp4
    # "-c:a", "aac", # utilise le pilote audio AAC
    ]
     
    new_ext = ".mp4"
    def video_convert(source,opt):
        source_ss_ext = ".".join(source.split(".")[:-1])
        fich = source_ss_ext.split("/")[-1]
        ext = source.split(".")[-1]
        # print(source_ss_ext)
        # print(ext)
        # destination=source_ss_ext.replace(".","-")+new_ext
        destination=fich+new_ext
        # print(source)
        # print(fich)
        print(destination)
        opt = " ".join(opt)
        # print(opt)
        # print (r"ffmpeg -i {entree} {options} {sortie}".\
        #           format(entree=source,sortie=destination,options=opt))
        os.system(r"ffmpeg -i {entree} {options} {sortie}".\
                  format(entree=source,sortie=destination,options=opt))
     
    for el in liste_chemin_fich_convert:
        # print(el)
        video_convert(el,options_conv)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur : Invalid argument supplied for foreach() lors d'ajouts en BD
    Par XAVIERV dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 27/01/2021, 22h28
  2. [Socket] Erreur 22: Invalid argument
    Par Cocodidou dans le forum C++
    Réponses: 5
    Dernier message: 05/07/2013, 13h44
  3. Réponses: 1
    Dernier message: 01/12/2011, 23h00
  4. [debutant]erreur invalid lvalue in assignment
    Par Battosaiii dans le forum C
    Réponses: 3
    Dernier message: 30/11/2005, 17h32
  5. Invalid argument?
    Par Anduriel dans le forum Langage
    Réponses: 24
    Dernier message: 12/10/2005, 19h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo