Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compresser une vidéo en php

    5 octobre 2020 à 19:01:03

    Salut tout le monde,

    je viens vers vous pour une orientation concernant mon site qui est encore en développement.

    Alors je vous explique, je suis entrain de créer un site web qui permet aux utilisateur des uploader des vidéos et des images sur le site la, jusque là tout fonctionne bien, mais le problème est que j'autorise aux utilisateur uploader même de fichier lourds ( film, série, etc.) et là mon site devient vite très lourd;

    Alors une pensé m'ai venue est celle de la compression de fichier au niveau de mon serveur, mais le problème est que je ne connais pas une API PHP qui le fait(la compression de fichier), après quelque recherche sur le Net je suis tombé sur la bibliothèque FFMPEG mais sauf que je ne sais pas l'installer en vrai dire ce difficile pour moi, donc si vous connaissez une bibliothèque PHP qui peut faire le job facilement dites le moi s'il vous plaît soit donnez moi le lien du tuto qui l'apprend.

    Note: pour ce qui n'ont pas compris jusque là, mon site et un peu genre YouTube et si vous connaissez comment YouTube fait pour ses vidéos dites le moi aussi s'il vous plaît, car ça pourrai être bénéfique pour moi.

    Merci d'avance pour votre aide :)

    • Partager sur Facebook
    • Partager sur Twitter

    Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

      5 octobre 2020 à 19:06:51

      Salut, pourtant c'est assez claire: https://github.com/PHP-FFMpeg/PHP-FFMpeg
      • Partager sur Facebook
      • Partager sur Twitter
        5 octobre 2020 à 21:41:56

        oui salut @Ptit Rat  merci beaucoup pour ta réponse.

        je reconnais que j'étais tombé sur ce lien, mais le problème est que je suis sous Windows 10 64 bits donc pour Windows ils ont demandés de telecharger des dll via un lien, sauf que ce lien est mort donc la page ne charge pas et je ne sais comment faire.

        si tu pourras vraiment m'aider j'en serai reconnaissant 

        • Partager sur Facebook
        • Partager sur Twitter

        Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

          5 octobre 2020 à 22:12:55

          Salut

          Je pense qu'avec le site officiel de ffmpeg, tu devrais trouver ce qu'il te faut pour télécharger/installer sous Windows.

          Indice : https://ffmpeg.org/download.html#build-windows

          • Partager sur Facebook
          • Partager sur Twitter
            6 octobre 2020 à 13:23:57

            Salut Ymox et Ptit Rat,

            Merci j'ai réussi a installer FFMPEG sur mon pc  encore merci.

            Mais il y a un autre problème quand j'ose exécuter ce code  pris sur GitHub via le lien de Ptit Rat , PHP me crache dessus, voici le code:

            <?php
            
                require_once 'vendor/autoload.php';
                
                $ffmpeg = FFMpeg\FFMpeg::create();
                $video = $ffmpeg->open('video.mpg');
                $video
                    ->filters()
                    ->resize(new FFMpeg\Coordinate\Dimension(320, 240))
                    ->synchronize();
                $video
                    ->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))
                    ->save('frame.jpg');
                $video
                    ->save(new FFMpeg\Format\Video\X264(), 'export-x264.mp4')
                    ->save(new FFMpeg\Format\Video\WMV(), 'export-wmv.wmv')
                    ->save(new FFMpeg\Format\Video\WebM(), 'export-webm.webm');

            voici le texte et le code d'erreur:

            ( ! ) Parse error: syntax error, unexpected ':', expecting '{' in C:\wamp\www\test-ffmpeg\vendor\symfony\polyfill-php80\bootstrap.php on line 23

            Note: sachez que j'ai déjà exécuté la commande : composer require php-ffmpeg/php-ffmpeg

            dans le répertoire de mon projet.

            Merci d'avance pour votre aide 

            • Partager sur Facebook
            • Partager sur Twitter

            Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

              6 octobre 2020 à 13:41:43

              Il y a différence de version de PHP entre ta ligne de commandes pour l'installation de php-ffmpeg/php-ffmpeg et celle du serveur sur lequel tu testes, et le code n'est semble-t'il pas compatible pour la version du serveur.

              • Partager sur Facebook
              • Partager sur Twitter
                6 octobre 2020 à 15:47:23

                Merci Ymox pour ta réponse,

                Vous me dites qu'il y a un problème de version, alors composer n'est ce pas que son rôle est de gérer la compatibilité entre version ?

                et aussi tout fonction à la perfection en ligne de commande, par exemple je viens de transformer une vidéo mp4 en audio mp3 avec la commande:

                ffmpeg -i "nom_fichier.extension" "nouveau_nom.extension". Si réellement il y avait un problème de version je pense que cela ne devrait pas fonctionner à moins que je me trompe 

                et aussi je bien télécharger FFMPEG via le lien que tu avais posté ci-haut 

                • Partager sur Facebook
                • Partager sur Twitter

                Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                  6 octobre 2020 à 15:55:54

                  Composer se base par défaut sur la version de PHP qui l'exécute, il ne peut deviner qu'il y en a d'autres ailleurs et qui sont utilisées pour le même projet. Et tu peux très bien avoir une version de PHP en ligne de commandes et une autre pour fonctionner comme serveur web (avec Apache, nginx, IIS, etc.). Si tu es sous macOS, c'est même très probable.

                  La commande que tu donnes est une commande ffmpeg, donc ne semble rien avoir à voir avec ton problème de PHP. Si elle fonctionne, cela veut dire que ffmpeg fonctionne, mais n'implique pas que toutes les versions de PHP pourront fonctionner avec la dépendance que tu as utilisée.

                  Uniformise les versions entre la CLI et ton serveur web, puis réinstalle les dépendances avec composer install.

                  -
                  Edité par Ymox 6 octobre 2020 à 19:52:41

                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 octobre 2020 à 17:35:47

                    Merci pour ta réponse,

                    Oui je viens de vérifier effectivement en ligne de commande j'ai la version 7.4.2 de php et mon serveur wampserver utilise la version 5.5.12

                    Alors comment dois-je faire pour mettre à jour la version php de wampserver ? parce que moi je veux la version 7 de php 

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                      6 octobre 2020 à 19:52:02

                      Tu peux regarder le tutoriel mentionné dans ma signature, il y a une partie qui explique comment s'occuper de la version en ligne de commandes. Attention, toi tu en as déjà une qu'il faut changer, les instructions sont pour en ajouter une de zéro.

                      Note que tu as déjà tout ce qu'il faut à disposition, rien à télécharger ni à installer, il faut juste effectuer les réglages.

                      -
                      Edité par Ymox 6 octobre 2020 à 19:53:27

                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 octobre 2020 à 10:18:57

                        Salut @Ymox merci pour ton tutoriel j'ai appris certain truc notament:

                        Avec les nouvelles versions de PHP, il y a quelque chose à modifier. Les binaires de PHP étaient fournies avec un fichier php7apache2_4.dll qui semble avoir été renommé en php7.dll. Deux options s’offrent à vous :

                        • renommer le fichier php7.dll en php7apache2_4.dll et copier-coller le fichier wampserver.conf depuis une autre version de PHP 7 ;
                        • changer la ligne 10 du fichier wampserver.conf repris depuis une autre version de PHP 7, afin de remplacer cette fois php7apache2_4.dll par php7.dll.

                        Ceci à partir de PHP 7.0.24 et 7.1.10.

                        Mais après les manipulations que tu conseilles dans ton tuto, le voyant de wampserver reste figer en orange et ne passe pas en vert.

                        J'ai essaie de fouiller sur Net je suis tombé sur beaucoup des tutos et là on conseil souvent de vérifier les services(apache, PHP et MySql), et là je remarque que le service apache ne démarre pas avec la version PHP7.4.2 mais quand je bascule vers la version PHP5.5.12 tout fonctionne normalement.

                        comment dois-je faire pour que apache se lance ou démarre ses services avec PHP7.4.2 ?

                        Merci pour vos réponses

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                          7 octobre 2020 à 14:23:17

                          En fait, le tutoriel n'est pas à jour pour ce que tu cites (je croyais pourtant que c'était le cas), cela ne s'est produit que pour deux ou quatre versions.

                          Mais ce n'est normalement rien qui te concerne, tu n'avais qu'une chose à modifier pour le réglage de PHP en ligne de commandes… j'ai l'impression que le sommaire du tutoriel n'a pas servi à grand chose, ou alors tu t'es lancé dans l'installation d'une nouvelle version de PHP ?

                          Pour tes modifications, annule-les autant que possible. Tu n'as pas dit lequel des deux points tu as appliqué, note que c'était ou l'un ou l'autre.

                          -
                          Edité par Ymox 7 octobre 2020 à 14:23:48

                          • Partager sur Facebook
                          • Partager sur Twitter
                            7 octobre 2020 à 15:18:53

                            En faite j'ai appliqué la règle du point N°2 vu que dans le répertoire de mon PHP7.4.2 il y avait déjà un fichier au nom php7.dll, donc voilà pourquoi après avoir copié les fichier wampserver.conf et phpForApache.ini de la version PHP5.5.12 dans le répertoire de PHP7.4.2 j'avais juste 

                            à modifier le fichier wampserver.conf.

                            Voici à quoi ressemble le fichier wampserver.conf:

                            <?php
                            
                            $phpConf['phpIniDir'] = '.';
                            $phpConf['phpExeDir'] = '.';
                            $phpConf['phpConfFile'] = 'php.ini';
                            
                            $phpConf['apache']['2.2']['LoadModuleName'] = 'php5_module';
                            $phpConf['apache']['2.2']['LoadModuleFile'] = 'php5apache2_2.dll';
                            $phpConf['apache']['2.2']['AddModule'] =  '';
                            
                            $phpConf['apache']['2.4']['LoadModuleName'] = 'php5_module';
                            $phpConf['apache']['2.4']['LoadModuleFile'] = 'php5apache2_4.dll';
                            $phpConf['apache']['2.4']['AddModule'] =  '';
                            
                            ?>

                            Et tu peux bien remarquez que chez moi à la ligne 10 il n' y avait rien, donc la ligne 8 et 12 je les ai remplacé par le fichier php7.dll

                            -
                            Edité par EL-jos 7 octobre 2020 à 15:23:21

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                              7 octobre 2020 à 15:30:43

                              Quitte à me répéter, ce qui est dans le tutoriel pour ce que tu as fait n'est pas à jour, et ce n'est pas ce que je m'attendais que tu suives vu qu'on parlait uniquement de la ligne de commandes et qu'il y a une partie du tutoriel qui justement en parle. Je n'avais pas précisé, mais il n'y avait pas besoin de suivre tout ce qui précédait pour la lire.

                              Je repose la question : tu as voulu installer une nouvelle version de PHP ?

                              Annule donc tes modifications de nom de fichier et/ou du fichier wampserver.conf pour pouvoir revenir à un état qui devrait te permettre de lier Apache à PHP 7.4.2. Le contenu du fichier que tu me montres là semble être OK pour PHP 5 (l'aurais-tu repris depuis une version 5 et non 7 comme indiqué ?), il faut changer le 5 en 7 et supprimer les lignes 6 à 9 pour celui qui est dans php7.4.2 (PHP 7 n'est plus compatible avec Apache 2.2) ah non, au temps pour moi.

                              Dans ce même dossier php7.4.2, tu dois avoir un fichier nommé php7apache2_4.dll normalement, c'est peut-être un fichier que tu aurais renommé en php7.dll.

                              -
                              Edité par Ymox 7 octobre 2020 à 15:37:34

                              • Partager sur Facebook
                              • Partager sur Twitter
                                7 octobre 2020 à 15:47:30

                                Merci beaucoup @Ymox pour ta réponse.

                                voici après suppression des lignes allant de 6 à 9 et remplacer tout le 5 en 7 voici ce que j'obtient :

                                <?php
                                
                                $phpConf['phpIniDir'] = '.';
                                $phpConf['phpExeDir'] = '.';
                                $phpConf['phpConfFile'] = 'php.ini';
                                
                                $phpConf['apache']['2.4']['LoadModuleName'] = 'php7_module';
                                $phpConf['apache']['2.4']['LoadModuleFile'] = 'php7.dll';
                                $phpConf['apache']['2.4']['AddModule'] =  '';
                                
                                ?>

                                Mais mon voyant est toujours orange et ne passe pas en vert 

                                Note: Non j'avais pas un fichier du nom de php7apache2_4.dll plutôt j'avais déjà un fichier au nom de php7.dll. je n'ai renommer aucun fichier

                                -
                                Edité par EL-jos 7 octobre 2020 à 15:54:40

                                • Partager sur Facebook
                                • Partager sur Twitter

                                Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                                  7 octobre 2020 à 15:54:54

                                  C'est bien le fichier C:\wamp(64)\bin\php\php7.4.2\wampserver.conf que tu montres ?

                                  Dans le menu accessible par l'icône de WAMP, quelle version de PHP est sélectionnée ?

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    7 octobre 2020 à 16:00:18

                                    Oui ce bien le fichier C:\wamp(64)\bin\php\php7.4.2\wampserver.conf et je n'ai pas touché le fichier wampserver.conf qui se trouve dans le répertoire php5.5.12

                                    Au niveau de l'icône de WAMP, on me signale que ce PHP7.4.2 qui est sélectionné 

                                    -
                                    Edité par EL-jos 7 octobre 2020 à 16:03:02

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                                      7 octobre 2020 à 16:34:36

                                      OK. C'est étrange, parce que les builds de WampServer sont normalement propres sur ce point… Essaie de fermer et relancer WampServer ?

                                      Sinon, arrête WampServer et tente de renommer ton fichier php7.dll en php7apache2_4.dll et de changer php7.dll en php7apache2_4.dll dans le fchier wampserver.conf avant de le (WampServer) relancer.

                                      Je précise bien php7.dll et pas php.exe, ce n'est évidemment pas la même chose.

                                      -
                                      Edité par Ymox 7 octobre 2020 à 16:57:14

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        7 octobre 2020 à 17:54:37

                                        Merci pour ta réponse, mais malgré ça le voyant est toujours orange 

                                        <?php
                                        
                                        $phpConf['phpIniDir'] = '.';
                                        $phpConf['phpExeDir'] = '.';
                                        $phpConf['phpConfFile'] = 'php.ini';
                                        
                                        $phpConf['apache']['2.4']['LoadModuleName'] = 'php7_module';
                                        $phpConf['apache']['2.4']['LoadModuleFile'] = 'php7apache2_4.dll';
                                        $phpConf['apache']['2.4']['AddModule'] =  '';
                                        
                                        ?>

                                        et je bien renommé le fichier php.dll de la répertoire php7.4.2 en php7apache2_4.dll

                                        Mais rien a changé.


                                        Il y a quelque chose que je viens de remarquer est que dans clic droit sur l'icône de wamp > Appache > Modules apache là je vois php5_module est coché mais il n'y a pas de module pour php7 est ce normal ?

                                        -
                                        Edité par EL-jos 7 octobre 2020 à 18:02:58

                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                                          7 octobre 2020 à 18:09:26

                                          Tu es certain ne de rien avoir touché aux fichiers pour PHP 5 ? Et tu es bien revenu sur PHP 5.5.12 avant de faire les modifications ?

                                          Quelle version de WampServer utilises-tu ?

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            7 octobre 2020 à 18:47:37

                                            Oui j'ai suivis tes instructions à la lettre près  malheureusement ça ne fonctionne pas chez moi

                                            j'utilise WAMP version 2.5 et je suis sous windows 10 64 bits

                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                                              7 octobre 2020 à 21:47:21

                                              Mmm, WampServer 2.5, je ne suis pas certain qu'il soit compatible avec PHP 7.4 en fait Qui plus est, à l'époque, il n'existait qu'en x86, si tu as pris PHP 7.4.2 x64, ça peut être la raison pour laquelle ça ne fonctionne pas. Tu peux tenter avec PHP 7.4.2 x86 avant de continuer, mais repasse à PHP 5.5.12 pour Apache (donc avec le menu de l'icône de WampServer) avant. Ensuite tu pourras supprimer la version que tu avais téléchargée au début de ce sujet et préparer la x86.

                                              Comme tu as Windows 10, rien ne te force à utiliser une aussi vieille version, et c'est plus sûr/logique/pratique d'installer des vieilles versions de PHP sur WampServer 3.2 que mettre de nouvelles versions dans WampServer 2.5. Mon WampServer 3.2.3 fonctionne avec PHP 8 et 5.3. Mais de nos jours, je n'ai plus besoin que de PHP 5.6 comme vieille version, et encore, c'est temporaire dans la mesure que c'est un projet en train de mourir, remplacé par quelque chose sur PHP 7.3.

                                              Reviens à PHP 5.5.12 pour Apache (donc avec le menu de l'icône de WampServer), fais une sauvegarde de tes bases de données via phpMyAdmin, désinstalle WampServer 2.5 et installe la 3.2.3 – fais bien attention aux prérequis pour cette version. Là aussi. regarde le tutoriel, il y a une partie qui explique comment mettre à jour, quoi sauvegarder et comment, ainsi que ce qu'il faut installer avant la nouvelle version.

                                              Il y a deux archives avec tout dedans pour x86 et pour x64 sur le dépôt du mainteneur, il va te falloir les deux archives.

                                              -
                                              Edité par Ymox 7 octobre 2020 à 21:53:56

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                8 octobre 2020 à 13:30:20

                                                Salut @Ymox Merci pour tes tutoriels, je les ai suivis à la lettre et WAMP fonctionne maintenant bien avec la version 8.0.21 pour MySql, 2.4.46 pour Apache et 7.4.9 pour PHP que ça soit au niveau de WAMP ou même de la ligne de commande, donc tout fonctionne bien, mais mon problème sur l'API FFMPEG continue toujours quoique j'ai la même version de PHP partout et aussi j'ai refais le cout de composer pour être sûr mais rien ne fonction voici le code:

                                                <?php
                                                
                                                require 'vendor/autoload.php';
                                                
                                                $ffmpeg = FFMpeg\FFMpeg::create();
                                                $video = $ffmpeg->open('video.mpg');
                                                $video
                                                    ->filters()
                                                    ->resize(new FFMpeg\Coordinate\Dimension(320, 240))
                                                    ->synchronize();
                                                $video
                                                    ->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))
                                                    ->save('frame.jpg');
                                                $video
                                                    ->save(new FFMpeg\Format\Video\X264(), 'export-x264.mp4')
                                                    ->save(new FFMpeg\Format\Video\WMV(), 'export-wmv.wmv')
                                                    ->save(new FFMpeg\Format\Video\WebM(), 'export-webm.webm');

                                                Et ça me renvoie une erreur bizarre qu'il n' y avait pas avant voici l'erreur:

                                                 ( ! ) Fatal error: Uncaught Alchemy\BinaryDriver\Exception\ExecutionFailureException: ffprobe failed to execute command C:\FFMPEG\ffprobe.EXE video.mpg -show_streams -print_format json: Error Output: ffprobe version 2020-10-03-git-069d2b4a50-essentials_build-www.gyan.dev Copyright (c) 2007-2020 the FFmpeg developers built with gcc 10.2.0 (Rev3, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-l in C:\wamp64\www\test-ffmpeg\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\FFProbe.php on line 263

                                                et voici la deuxième:

                                                ( ! ) FFMpeg\Exception\RuntimeException: Unable to probe video.mpg in C:\wamp64\www\test-ffmpeg\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\FFProbe.php on line 263

                                                NB: il est à noter que FFMPEG fonctionne bien en ligne de commande et voici la commande composer que j'utilise: composer require php-ffmpeg/php-ffmpeg

                                                Tout ça je l'ai eu au niveau de ce GITHUB

                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                                                  8 octobre 2020 à 14:31:23

                                                  En prenant la première partie de l'erreur pour faire une recherche, je tombe sur ceci.

                                                  Est-ce que par hasard tu utilises un certificat SSL/TLS auto-signé ?

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    8 octobre 2020 à 15:27:39

                                                    Ymox a écrit:

                                                    En prenant la première partie de l'erreur pour faire une recherche, je tombe sur ceci.


                                                    Excuse-moi, Je viens de vois ce qui était dit mais je ne comprends rien de ce que je dois faire, il n'y a pas d'explication juste des lignes de code 

                                                    Ymox a écrit:

                                                    Est-ce que par hasard tu utilises un certificat SSL/TLS auto-signé ?


                                                    Si j'ai bonne mémoire en début de l'année 2020 j'avais créé un site E-commerce qui implémentait l'API Express-checkout de PayPal pour les payements en ligne et pendant le développement du site en local, PayPal me demandait souvent un truc genre openssl et je devait modifier le fichier php.ini de WAMP pour renseigner le chemin qui menait vers le certificat(je pense de PayPal), mais actuellement je ne me souvient plus du tout de la ligne de code encore moins du fichier
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                                                      8 octobre 2020 à 15:32:25

                                                      Le plus gros point est qu'il accédait à une vidéo par HTTPS plutôt que par HTTP.

                                                      Note que tu sembles ouvrir le fichier sans en spécifier le chemin complet, ça peut être la cause. Utilise le chemin machine complet en jouant avec __DIR__.

                                                      -
                                                      Edité par Ymox 8 octobre 2020 à 15:33:54

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        8 octobre 2020 à 16:24:51

                                                        ça ne fonctionne toujours pas et aussi mon éditeur VScode souligne toute les ligne en rouge et cela me pousse à croire qu'il y a une erreur quelque par.

                                                        voici mon code:

                                                        <?php
                                                        
                                                        require 'vendor/autoload.php';
                                                        
                                                        $ffmpeg = FFMpeg\FFMpeg::create();
                                                        $video = $ffmpeg->open(__DIR__ . "\video.mp4"); // ce que tu m'as conseillé, NB: la vidéo est à la racine(même emplacement avec mon fichier index.php)
                                                        $video
                                                            ->filters()
                                                            ->resize(new FFMpeg\Coordinate\Dimension(320, 240))
                                                            ->synchronize();
                                                        $video
                                                            ->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))
                                                            ->save('frame.jpg');
                                                        $video
                                                            ->save(new FFMpeg\Format\Video\X264(), 'export-x264.mp4')
                                                            ->save(new FFMpeg\Format\Video\WMV(), 'export-wmv.wmv')
                                                            ->save(new FFMpeg\Format\Video\WebM(), 'export-webm.webm');


                                                        excuse moi vraiment pour la demande, mais pourras-tu essayer ce bout de code chez toi pour voir ce que ça va donné ?

                                                        -
                                                        Edité par EL-jos 8 octobre 2020 à 16:26:55

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                                                          8 octobre 2020 à 17:23:02

                                                          Le problème vient de l'antislash avec les guillemets doubles. Utilise les guillemets droits ou double l'antislash.

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            8 octobre 2020 à 20:14:41

                                                            Bonsoir @Ymox, merci beaucoup, car une partie fonctionne et voici mon nouveau code tout en suivant tes conseils:

                                                            <?php
                                                            
                                                            require 'vendor/autoload.php';
                                                            
                                                            $ffmpeg = FFMpeg\FFMpeg::create();
                                                            $video = $ffmpeg->open(__DIR__ . '\video.mp4');
                                                            $video
                                                                ->filters()
                                                                ->resize(new FFMpeg\Coordinate\Dimension(320, 240))
                                                                ->synchronize();
                                                            $video
                                                                ->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))
                                                                ->save('frame.jpg');
                                                            $video
                                                                ->save(new FFMpeg\Format\Video\X264(),__DIR__ .  'export-x264.mp4')
                                                                ->save(new FFMpeg\Format\Video\WMV(),__DIR__ .  'export-wmv.wmv')
                                                                ->save(new FFMpeg\Format\Video\WebM(),__DIR__ .  'export-webm.webm');

                                                            tout fonctionne bien sauve quand on arrive au moment de l'exportation (à partir de la ligne 14 jusqu'à 17) j'obtiens une erreur du genre:

                                                            ( ! ) Fatal error: Uncaught Alchemy\BinaryDriver\Exception\ExecutionFailureException: ffmpeg failed to execute command C:\FFMPEG\ffmpeg.EXE -y -i C:\wamp64\www\test-ffmpeg\video.mp4 -async 1 -metadata:s:v:0 start_time=0 -vcodec libx264 -acodec libfaac -b:v 1000k -refs 6 -coder 1 -sc_threshold 40 -flags +loop -me_range 16 -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -trellis 1 -b:a 128k -vf "[in]scale=320:240 [out]" -pass 1 -passlogfile "C:\WINDOWS\TEMP\ffmpeg-passes5f7f55cf97f568lzwa/pass-5f7f55cf98213" C:\wamp64\www\test-ffmpegexport-x264.mp4: Error Output: ffmpeg version 2020-10-03-git-069d2b4a50-essentials_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers built with gcc 10.2.0 (Rev3, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enabl in C:\wamp64\www\test-ffmpeg\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Media\AbstractVideo.php on line 106
                                                            ( ! ) FFMpeg\Exception\RuntimeException: Encoding failed in C:\wamp64\www\test-ffmpeg\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Media\AbstractVideo.php on line 106

                                                            est ce un problème de syntaxe ou comment ?

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            Ton présent détermine ton futur et la connaissance te placera au dessus de ta génération .

                                                              9 octobre 2020 à 8:44:47

                                                              Tu as mis un antislash avant le nom de la vidéo source, mais pas avant les noms des vidéos encodées.

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Compresser une vidéo en php

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown