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 :

creer une video a partir d'une sequence d'image


Sujet :

Python

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mai 2019
    Messages : 67
    Points : 44
    Points
    44
    Par défaut creer une video a partir d'une sequence d'image
    bonjour,

    j'ai une suite d'image constituée de 50 images, et je désire en faire une video avec ffmpeg.
    le soucis c'est apres execution du script je me retrouve avec cette erreur

    C:\Users\frede>python C:\Users\fred\OneDrive\Bureau\TEST_VIDEO.py
    'ffmpeg' n’est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    je l'ai bien installé avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pip install ffmpeg-python
    voici le code utilisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import os
    import ffmpeg
     
    os.system("ffmpeg -r 25 -i r'C:\Users\frede\OneDrive\Images\SUITE_PNG\AUTRES\PANNEAU_%02d.png' r'C:\Users\frede\OneDrive\Images\SUITE_PNG\AUTRES\test.mp4'")
    merci d'avance pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Slt !

    Je me suis amusé à transformer la BA de Matrix 4 il y a quelques mois, voici un bout du code si ça peut aider (y a du ménage à faire):
    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
     
    import numpy as np
    import cv2, time, random, os
    from PIL import Image
     
    output = r'C:\Users\toto\Desktop\emojis\frames'
     
    for i,f in enumerate(paths): #paths = liste des chemins des images
        img = cv2.imread(os.path.join(output,f))
        imgs.append(img)
     
     
    height, width, layers = img.shape
    size = (width,height)
    duration = int(f.split('.')[0].split('_')[1]) #msec
    print(duration)
    fps = nb_of_imgs / (duration/1000)
    print('Final fps :',fps)
    input("Press any key to create the movie")
     
    out = cv2.VideoWriter('Matrix.avi',cv2.VideoWriter_fourcc(*'DIVX'), fps, size) #of =Output FPS
    #print('QUALITY :',out.get(cv2.VIDEOWRITER_PROP_QUALITY))
    #out.set(cv2.VIDEOWRITER_PROP_QUALITY,1000)
    #print('QUALITY :',out.get(cv2.VIDEOWRITER_PROP_QUALITY))
    for i in range(len(imgs)):
        out.write(imgs[i])
     
    out.release()
    print("VIDEO RELEASED")
     
    input("Press any key to add audio")
     
    import subprocess
    subprocess.run("ffmpeg -i Matrix.avi -i Matrix.m4a -c copy Output-HFPS.avi")

    Malheureusement la qualité n'est pas optimale sur Vimeo et pire sur Youtube (vidéo composée de 38 052 864 émoticônes)

    Concernant ffmpeg, je crois qu'il faut installer ça :
    https://github.com/BtbN/FFmpeg-Builds/releases
    https://fr.wikihow.com/installer-FFmpeg-sur-Windows
    Comme tu peux le voir dans mon script, il est possible de concevoir un film avec le module cv2, j'ai utilisé uniquement ffmpeg pour rajouter le son.



    @Hominidé Une coquille s'est glissé dans ta commande.
    Dernière modification par Invité ; 19/01/2022 à 23h10.

  3. #3
    Membre expérimenté
    Avatar de MPython Alaplancha
    Homme Profil pro
    Paysan à 3 francs six sous
    Inscrit en
    Juin 2018
    Messages
    870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Paysan à 3 francs six sous
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2018
    Messages : 870
    Points : 1 522
    Points
    1 522
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par frederic2710 Voir le message
    bonjour,

    j'ai une suite d'image constituée de 50 images, et je désire en faire une video avec ffmpeg.
    le soucis c'est apres execution du script je me retrouve avec cette erreur



    je l'ai bien installé avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pip install ffmpeg-python
    voici le code utilisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    import os
    import ffmpeg
     
    os.system("ffmpeg -r 25 -i r'C:\Users\frede\OneDrive\Images\SUITE_PNG\AUTRES\PANNEAU_%02d.png' r'C:\Users\frede\OneDrive\Images\SUITE_PNG\AUTRES\test.mp4'")
    merci d'avance pour votre aide
    Bonjour,
    Manifestement tu n'utilises pas le biding python de ffmpeg... Si tu veux utiliser ffmpeg via os.system(), il te faut alors l'installer dans ton shell :
    ...
    Et là tu pourras t'inspirer de notre membre éclairé LeNarvolo alias Jojo la gâchette
    #Rien de nouveau sous le soleil, tout est vanité comme courir après le vent!
    Developpement pour Android avec Python3/Kivy/Buildozer

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par frederic2710 Voir le message
    le soucis c'est apres execution du script je me retrouve avec cette erreur
    Vous avez installé une bibliothèque qui permet d'appeler ffmpeg avec un passage de paramètres autres que ceux de la ligne de commande utilisés par ffmpeg: dommage de faire os.system("ffmpeg....)!

    Reste que le moteur reste l'exécutable ffmpeg quil faut installer "à part" (pour que os.system("ffmpeg....) fonctionne).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mai 2019
    Messages : 67
    Points : 44
    Points
    44
    Par défaut
    j'ai installe ffmpeg.exe, j'ai place l'exécutable dans le même dossier que ma séquence d'image et j'ai mis également le script dans le même dossier.
    j'ai toujours la même erreur.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Check mes liens !!!

    Il y a la procédure d'installation dans le second lien ! C'est pas si simple !
    Il faut notamment modifier les variables d'environnement.

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par frederic2710 Voir le message
    j'ai installe ffmpeg.exe, j'ai place l'exécutable dans le même dossier que ma séquence d'image et j'ai mis également le script dans le même dossier.
    j'ai toujours la même erreur.
    Installez, c'est pas poser n'importe où, c'est lire le document d'installation avant... et s'assurer qu'après la commande ffmpeg -r 25 -i blah blah fonctionne. Sinon repartir dans le document d'installation...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    Hello,
    Citation Envoyé par frederic2710 Voir le message
    j'ai une suite d'image constituée de 50 images, et je désire en faire une video avec ffmpeg.
    Pour transformer une suite d'images png en vidéo mp4 tu peux aussi utiliser le module moviepy. L'avantage c'est que son installation installe aussi le module imageio_ffmpeg qui contient le binaire de ffmpeg.
    Voici un exemple qui transforme une série de 20 images png en une vidéo mp4 de 1 seconde :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import os
    import moviepy.video.io.ImageSequenceClip
    image_folder=r'd:\tmp\ball'
    fps=20
     
    image_files = [os.path.join(image_folder,img)
                   for img in os.listdir(image_folder)
                   if img.endswith(".png")]
    clip = moviepy.video.io.ImageSequenceClip.ImageSequenceClip(image_files, fps=fps)
    clip.write_videofile(r'd:\tmp\ball.mp4')
    #

    Moviepy - Building video d:\tmp\ball.mp4.
    Moviepy - Writing video d:\tmp\ball.mp4


    Moviepy - Done !
    Moviepy - video ready d:\tmp\ball.mp4


    Process finished with exit code 0

    Résultat en pièce jointe.


    Ami calmant, J.P
    Fichiers attachés Fichiers attachés
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

Discussions similaires

  1. creer une sequence
    Par malikibadolo dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 4
    Dernier message: 30/03/2017, 16h56
  2. creer une video a partir d'une sequence d'images.
    Par KINENVEU dans le forum Programmation multimédia/Jeux
    Réponses: 10
    Dernier message: 17/10/2009, 21h29
  3. [XSLT] Creer une sequence avec XSLT 1.0
    Par irukatan dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/06/2008, 02h21
  4. Creer Une Sequence
    Par big1 dans le forum Oracle
    Réponses: 3
    Dernier message: 12/10/2006, 17h30
  5. [C#] Comment créer une liste d'image dynamiquement ?
    Par gwenhael dans le forum ASP.NET
    Réponses: 3
    Dernier message: 08/09/2006, 11h30

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