Forum général.cherche-logiciel format de fichiers images + piste audio + timestamps

Posté par  . Licence CC By‑SA.
Étiquettes :
4
9
oct.
2024

Contexte : nombre de vidéos de présentations ou de conférences ne sont en fait qu'une succession d'images fixes (diapo) avec la narration du présentateur par dessus. Les stocker sous formes de vidéo a tendance 1/ à dégrader le rendu 2/ aboutir à des fichiers lourds vs la taille des images.

Je me demande si il existe un format de fichiers qui permette de stoker des images + piste audio + timestamps ; les timestamps servant à indiquer quand afficher l'image suivante.

Et question subsidiaire, un logiciel qui sache les produire et un logiciel qui sache les lire.

À vrai dire, j'ai écrit une page web (html+js) pour gérer ça mais ce n'est bien évidemment pas standard.

À défaut d'un format spécifiquement conçu pour cet usage est ce qu'il serait pertinent d'utiliser un format existant ? Je sais que PNG par exemple permet de stocker des données arbitraires sous forme de "frame", les logiciels ne faisant le rendu que celles qu'ils comprennent.

  • # C'est un peu comme ca...

    Posté par  . Évalué à 2 (+0/-0).

    … que fonctionnent les sous-titres au format .srt

    Mais pour ton besoin précis, je ne connais pas d'outil existant qui fasse ça.

  • # N'importe quel format vidéo

    Posté par  (site web personnel) . Évalué à 4 (+1/-0). Dernière modification le 09 octobre 2024 à 23:53.

    N'importe quel format vidéo en fait. Tous les formats récents supportent, autant que je sache, un débit d'images variable. Ainsi qu'un formaté d'images capable de compresser dans perte par exemple.

    C'est un usage fort éloigné de ce qui se fait habituellement en vidéo, mais je ne serais pas surpris que ce soit techniquement faisable avec, par exemple, du MKV contenant une piste AV1 à débit d'images très, très faible et très variable, et une piste Opus.

  • # Sozi ?

    Posté par  (site web personnel) . Évalué à 3 (+1/-0).

    Sozi (https://sozi.baierouge.fr) semble gérer image+délai en parcourrant une image svg, mais pas sur que l'audio soit géré.

  • # Fla$h

    Posté par  (site web personnel) . Évalué à 2 (+0/-0).

    Je me goure ou alors c'est le cas d'usage typique du Flash ;-) ?

    • [^] # Re: Fla$h

      Posté par  . Évalué à 5 (+3/-0).

      Adobe/Flash repose au cimetière aux côtés de Sun/JavaApplet et MS/Sylverlight ; replacées par les technologies web : HTML + CSS + JS et toutes les API qui vont avec : WebGL, WebRTC, Canvas

      Ce sont des technologies pour construire des applications - un lecteur de vidéo en serait une - mais pas des formats.

  • # Diaporama ?

    Posté par  . Évalué à 3 (+2/-0). Dernière modification le 10 octobre 2024 à 09:08.

    Ce serait en quelque sorte un diaporama accompagnée d'un commentaire pour chaque vue. Sur windows powerpoint le fait et permet d'enregistrer le commentaire pour chaque vue depuis powerpoint. Sur Libreoffice Impress on peut aussi insérer des fichiers son mais qu'il faut avoir crée préalablement, avec audacity par exemple dans ce tuto :

    https://www.pedagogie.ac-nantes.fr/medias/fichier/tutoriel-diaporama-libreoffice-avec-transition-sonorisee-avec-notes_1586908505098-pdf

    A l'enregistrement sur Lireoffice impress on peut choisir le format powerpoint (ou l'un des formats powerpoint) je ne saurais lequel choisir, mes connaissances dans le domaine des présentation sont plus que limitées.

    Quand à la taille des fichiers cela doit être la somme des photos et des fichiers sons approximativement.

    Pour lire le fichier ppt ou pps ou autre format powerpoint, il faut powerpoint ou Libreoffice impress ou encore sur les poste windows sans powerpoint il y a un lecteur powerpoint viewer.

    • [^] # Re: Diaporama ?

      Posté par  . Évalué à 2 (+1/-0).

      Edit :
      A l'exportation du fichier depuis Libreoffice en html un fichier png est créé.
      Si le png convient on peut garder ce format ou bien le convertir avec openshot commme dans cette vidéo:
      https://www.youtube.com/watch?v=qEAHF3W4_Lc

      • [^] # Re: Diaporama ?

        Posté par  . Évalué à 2 (+0/-0). Dernière modification le 10 octobre 2024 à 15:16.

        Obtenir les images de slides n'est pas un soucis mais merci pour l'astuce.
        Par contre l'idée d'utiliser openshot est une bonne piste.

        Les projets openshot sont sauvegardés en json et Openshot lui même peut être invoqué en ligne de commande ; à tester si on peut demander le rendu final de cette façon. Il serait alors possible de templatiser le json pour y placer les images, leurs durées, des transitions, et la bande son.

        Et cela rejoint un peu le commentaire plus haut : un format vidéo c'est déjà à peu près ce que je recherche.

        C'est peut être un chouia moins optimisé que juste images+son mais on doit sur un très bon Pareto.

        • [^] # Re: Diaporama ?

          Posté par  . Évalué à 1 (+1/-1).

          Il me semble que c'est plutôt mp4 pour la vidéo.

          En ligne de commande il y a ffmpeg qui fait très bien cela, j'ai demandé à copilot, google trouvait rien.

          Question : Bonjour je voudrais créer un diaporama sonore avec ffmpeg

          Réponse :

          Ah, un projet ambitieux ! Pour créer un diaporama sonore avec ffmpeg, commence par rassembler tes images et ta bande sonore.

          Ensuite, ouvre ton terminal et utilise une commande comme celle-ci :
          bash

          ffmpeg -framerate 1/5 -i img%d.jpg -i audio.mp3 -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4

          Dans cet exemple:

          -framerate 1/5 signifie que chaque image sera affichée pendant 5 secondes
          -i img%d.jpg est le modèle pour les noms de fichiers d'images (img1.jpg, img2.jpg, etc.)

          -i audio.mp3 est ton fichier audio
          -c:v libx264 spécifie le codec vidéo

          -r 30 définit le nombre d'images par seconde
          -pix_fmt yuv420p est le format de pixel.

          Essaye et dis-moi si ça marche bien pour toi !

          • [^] # Re: Diaporama ?

            Posté par  . Évalué à 1 (+1/-1).

            La réponse de copilot était bonne mais avec un seul fichier son, j'ai demandé un complément de réponse pour avoir chaque commentaire avec son image, la ligne de commande change. Il faut connaitre la durée, ce n'est pas si simple.

            Question : et pour synchroniser les commentaires mp3 avec chaque jpg

            Réponse :
            Pour synchroniser des commentaires audio avec chaque image, tu vas devoir faire appel à des filtres de ffmpeg.

            Voici une façon de procéder :

            Crée un fichier texte (input.txt) listant chaque image avec la durée de son affichage et le commentaire associé. Par exemple :
            file 'img1.jpg'
            duration 5
            file 'img2.jpg'
            duration 3
            file 'img3.jpg'
            duration 7

            Ensuite, utilise la commande ffmpeg pour générer ton diaporama :
            bash

            ffmpeg -f concat -safe 0 -i input.txt -i commentaire1.mp3 -i commentaire2.mp3 -i commentaire3.mp3 -filter_complex \
            "[0:v][1:a][2:a][3:a]concat=n=3:v=1:a=1[out]" -map "[out]" output.mp4
            Dans cet exemple :

            -f concat -safe 0 -i input.txt indique d'utiliser le fichier de liste
            -filter_complex permet de combiner les différentes entrées

            concat=n=3:v=1:a=1[out] spécifie qu'il y a 3 segments vidéo et audio à concaténer
            Essaie cette méthode et ajuste les durées et les commentaires selon tes besoins !

            Une autre méthode qui me semble plus simple c'est de créer une vidéo par image et son commentaire associé, comme cela pas besoin de connaître la durée exacte, puis de concaténer les vidéos de chaque images, rebelote pour copilot :

            Question:
            Sans connaître la durée du commentaire on pourrait faire plusieurs vidéo avec la première méthode, puis concaténer les vidéos résultante, quelle serait la commande d'assemblage ?
            Copilot

            Réponse :
            Oui, tu peux tout à fait assembler plusieurs vidéos en une seule avec ffmpeg. Voici comment tu pourrais procéder :

            Crée un fichier texte (videos.txt) listant les vidéos à concaténer :
            file 'video1.mp4'
            file 'video2.mp4'
            file 'video3.mp4'

            Utilise la commande ffmpeg pour les assembler :
            bash

            ffmpeg -f concat -safe 0 -i videos.txt -c copy output.mp4
            Cela assemblera tes vidéos sans réencoder, ce qui est plus rapide et maintient la qualité. Bonne chance pour ton projet !

          • [^] # Re: Diaporama ?

            Posté par  . Évalué à 2 (+0/-0). Dernière modification le 10 octobre 2024 à 21:34.

            J'ai commencé quelques expérimentations.

            Une vidéo de 17 minutes. Pesant 390MB, la piste vidéo pèse 381 MB, la piste son en pèse 9MB.
            Video: h264, 1920x1080, 2993 kb/s, 29.97 fps
            Audio: aac, 96000 Hz, mono, 68 kb/s

            Le PDF des 54 slides pèse 8.9MB, transformé en 54 fichiers Jpeg : 4MB.
            On pourrait espérer un fichier de 13MB.

            J'encode le tout avec ffmpeg en mpeg4, cela prend 1.3min ; le résultat pèse 105MB et la qualité est moins bonne que les jpeg.

            Un peu décevant …

            • [^] # Re: Diaporama ?

              Posté par  . Évalué à 3 (+1/-0).

              My bad, j'ai refait l'encodage en libx64 au lieu de mpeg4 et ça prend maintenant 3 minutes mais surtout ça produit un fichier de 16MB avec une qualité top.

              Houpi !

              • [^] # Re: Diaporama ?

                Posté par  . Évalué à 3 (+2/-0).

                C'est la jungle des formats vidéo et des options de ffmpeg, c'est du chinois pour moi je découvre, même si j'avais un peu utilisé ffmpeg sous windows indirectement avec virtualdub qui semble tomber en désuétude, mais que j'avais trouvé très efficace pour extraire des images d'une vidéo, ou pour l'édition de vidéo, appliquer des effets etc..

                J'en vois une option pour libx64 qui fera bien baisser la taille c'est:
                -tune stillimage (good for slideshow-like content)
                https://trac.ffmpeg.org/wiki/Encode/H.264

                Et une autre pour mpeg4 :
                -qscale:v n (ou n est un nombre entre 1 et 31 qui définit la qualité)
                https://trac.ffmpeg.org/wiki/Encode/MPEG-4

                Il y a une interface graphique pour ffmpeg assez simple dispo sur ubuntu et probablement les autres distributions c'est winff : https://github.com/WinFF/winff

                On peut creuser encore c'est une vraie mine ffmpeg, il y a des tonnes de filtres audio ou vidéo, mais pour ce diaporama peut-être les effets de transition (j'ai la flemme de demander à l'IA même si les résultats du moteur de recherche ne me plaisent pas trop ):
                https://trac.ffmpeg.org/wiki/Xfade
                https://donglumail.medium.com/3-methods-you-need-to-know-for-ffmpeg-transition-animation-7d2ea8f7ced7

                En tout cas merci d'avoir posé la question (et merci aussi à copilot pour ses réponses) j'ai tout noté dans un fichier texte, si je veux faire un diaporama sonorisé, je saurai faire.

                • [^] # Re: Diaporama ?

                  Posté par  . Évalué à 1 (+0/-0).

                  avec virtualdub qui semble tomber en désuétude

                  Perso j'ai remplacé Virtualdub par Avidemux qui fait en gros la même chose et qui semble toujours maintenu (dernière version en 2022).
                  Dispo à la fois pour Windows et pour Linux (Appimage)

                  Les vrais naviguent en -42

                  • [^] # Re: Diaporama ?

                    Posté par  . Évalué à 2 (+0/-0). Dernière modification le 11 octobre 2024 à 10:58.

                    Avidemux est en développement, plus que jamais en 2024. Le fait que les versions dites "stables" ne sortent pas souvent induit peut-être en erreur. Je me sers de la version git qui fonctionne très bien et même mieux que la version officielle.
                    https://github.com/mean00/avidemux2/commits/master/
                    Arch Aur

                  • [^] # Re: Diaporama ?

                    Posté par  (site web personnel) . Évalué à 2 (+0/-0).

                    et pour Linux (Appimage)

                    pourquoi parler du Appimage ? avidemux est empaqueté dans pas mal de distributions : https://pkgs.org/search/?q=avidemux (bon, pour Debian, penser à ajouter le dépôt multimedia et RPM Fusion pour Fedora). ok c'est la stable 2.8.1 de 2022 généralement, mais bon.

                    • [^] # Re: Diaporama ?

                      Posté par  . Évalué à 1 (+0/-0).

                      Je ne l'ai jamais trouvé dans les dépôts "standards" de mes distributions (Ubuntu puis Debian, avec un passage rapide par Fedora où je n'ai peut-être pas cherché).

                      pas de paquet officiel pour Debian 12

                      Vu la dernière expérience que j'ai eu avec un ppa (flightgear) qui m'avait cassé pas mal de dépendances, je suis beaucoup moins chaud pour ajouter des dépôts venant de je-ne-sais-où.

                      Les vrais naviguent en -42

                      • [^] # Re: Diaporama ?

                        Posté par  (site web personnel) . Évalué à 3 (+1/-0).

                        oui, avidemux ne peut être intégré dans Debian de base (ce n'est pas que leur choix que ce soit debian ou avidemux d'ailleurs :/), heureusement que les brevets logiciels sont encore illégaux en Europe…

                        il est sur https://deb-multimedia.org/dists/stable/main/binary-amd64/
                        c'est un dépôt classique sur Debian fourni par des DD (debian developer) européens — français plus précisément
                        https://contributors.debian.org/contributor/marillat/
                        https://contributors.debian.org/contributor/varenet@debian/

                        cf. FAQ deb-multimedia

                        Même souci chez Fedora. Pour Mageia, on a aussi tainted mais la distribution étant de droit européen (contrairement à Debian et Fedora), elle peut se permettre de le gérer officiellement (et les miroirs aux USA n'ont pas tainted, vu que c'est un souci de re-distribution).

                        pour les PPA, ce n'est prévu que pour Ubuntu et c'est comme AUR : il y a parfois à boire et à manger, tu es censé savoir ce que tu fais.

                        • [^] # Re: Diaporama ?

                          Posté par  . Évalué à 1 (+0/-0).

                          oui, avidemux ne peut être intégré dans Debian de base (ce n'est pas que leur choix que ce soit debian ou avidemux d'ailleurs :/), heureusement que les brevets logiciels sont encore illégaux en Europe…

                          Espérons que ça ne change pas, pour l'instant il reste même recommandé par l'état français

                          pour les PPA, ce n'est prévu que pour Ubuntu et c'est comme AUR : il y a parfois à boire et à manger, tu es censé savoir ce que tu fais

                          C'était sur Ubuntu, je pense que c'était dû à une incompatibilité de version d'Ubuntu, mais on est d'accord sur le fait qu'il faut plutôt faire attention.

                          D'un autre côté, il y a un mois une mise à jour de la debian (stable et sans le dépôt backport à l'époque) m'a désinstallé discrètement Evince pour pouvoir mettre à jour une lib dont il dépendait. Donc autant dire qu'il faut quoiqu'il arrive être prudent lors des mises à jours.

                          Les vrais naviguent en -42

                • [^] # Re: Diaporama ?

                  Posté par  . Évalué à 2 (+0/-0).

                  J'ai essayé -tune stillimage. Cela ne change pas le résultat - qualité et taille. Cependant, comme on donne à ffmpeg des images statiques en entrée, il applique peut être déjà cette optimisation par défaut dans ce cas.

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.