Recherche avancée

Médias (2)

Mot : - Tags -/plugins

Autres articles (65)

Sur d’autres sites (12251)

  • ffmpeg fails on conversion from .mov to .mp4 fails aT 98%

    3 avril 2013, par user2241249

    Our code is below. When converting a uploaded .mov to .mp4 the conversion halts at 98%.

    Almost all of our other preferred formats encode flawlessly. Anyone has any clue on where we went wrong ? We are struggling on this for a while now so we want to ask the experts, thanks in advance for any help.

    <?php
    $Path = dirname(__FILE__) . "/";
    $url = "http://" . $_SERVER['SERVER_NAME'] . str_replace('\\', '/', dirname($_SERVER['SCRIPT_NAME'])) . "/";

    session_start();
    include_once 'inc/config.inc.php';
    include_once 'common.php';
    include_once 'inc/ffmpegprogressbar.class.php';

    ob_flush();
    ?>


       
       
       <?php

    // Specifie Inputfile for FFMPEG
       $count = count($_SESSION['Files']);
    // $file  = array_pop($_SESSION['Files']);

       $FileInstance = array_pop($_SESSION['Files']);
       //$FileInstance = $_SESSION['Files'][0];
       $file = $FileInstance['FileName'];
       $passNeeded = $FileInstance['PassNeeded'];
       $fmt = $FileInstance['fmt'];

       $FFMPEGInput = $Path . 'data/' . $_SESSION['OldSession'] . "/" . $file;

       $timeUnique = time();
       //echo "Start:Session holds: ".$_SESSION["cstatus"].", cstatus var =   $cstatus";


     /*  if ($FileInstance['PassNeeded'] == 5) {
           $FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 1920x1080";
       } else if ($FileInstance['PassNeeded'] == 4) {
           $FFMPEGParams ="-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 1280x720";
       } else if ($FileInstance['PassNeeded'] == 3) {
           $FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 854x480";
       } else if ($FileInstance['PassNeeded'] == 2) {
           $FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 640x360";
       }
       */
    if($fmt=="flv"){
    if ($FileInstance['PassNeeded'] == 5) {
           $FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 1920x1080";
       } else if ($FileInstance['PassNeeded'] == 4) {
           $FFMPEGParams ="-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 1280x720";
       } else if ($FileInstance['PassNeeded'] == 3) {
           $FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 854x480";
       } else if ($FileInstance['PassNeeded'] == 2) {
           $FFMPEGParams = "-r 1000 -ar 11025 -ab 32 -f $fmt -sameq -g 15 -s 640x360";
       }
    }elseif($fmt=="mp4"){
    $FFMPEGParams = " -pix_fmt yuv420p -s 640x360";

    }elseif($fmt=="ogv"){
    $FFMPEGParams = " -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 125k -s 640x360";

    }elseif($fmt=="webm"){
    $FFMPEGParams = " -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b 125k -s 640x360";
    //}elseif($fmt!==""){
    //-i %1 -s qvga -acodec libfaac -ar 22050 -ab 128k -vcodec libx264 -threads 0 -f   ipod %2
    //-vcodec mpeg4 -acodec aac output.mp4
    //$FFMPEGParams = "-r 20 -ar 44100 -ab 196 -f $fmt -s 480x351";
    }
       if ($FileInstance['PassNeeded'] > 2) {
           $FileInstance['PassNeeded'] = $FileInstance['PassNeeded'] - 1;
           array_unshift($_SESSION['Files'], $FileInstance);
       }

       $flv_rpath = 'data/' . $_SESSION['OldSession'] . "/" . $file. $timeUnique . ".".$fmt;

        $FFMPEGOutput = $FFMPEGInput . $timeUnique . ".$fmt";

       $_SESSION['ConvertedFiles'][$file][] = array('Pass' => $passNeeded, 'OutFile' => $file . $timeUnique . ".$fmt","fmt"=>$fmt);



       if (!$_GET["pkey"]) {
           $pkey = rand();
       } elseif (file_exists('log/' . $_GET["pkey"] . '.ffmpeg')) {
           $pkey = $_GET["pkey"];
       } else {
           $pkey = rand();
       }

    // initializing and create ProgressBar
       flush();
       $FFMPEGProgressBar = &new FFMPEGProgressBar();
       flush();
    // Show Progressbar
       if ($count > 0) {
           if ($FileInstance['PassNeeded'] < 3) {
           define('FFMPEG_LIBRARY', '/usr/local/bin/ffmpeg ');
           $extension = "ffmpeg";
           $extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
           $extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;
               if (!extension_loaded($extension)) {
                   dl($extension_soname) or die("Can't load extension $extension_fullname\n");
               }
               exec(FFMPEG_LIBRARY . " -y -i '" . $FFMPEGInput . "' -vframes 1 -ss 00:00:03 -an -vcodec png -f rawvideo -s 160x90 '$FFMPEGInput.png'");
           }
           $FFMPEGProgressBar->Show($pkey, $count, $url, $passNeeded, $file, $timeUnique,$fmt);
           if (!$_GET["pkey"] || !file_exists('log/' . $_GET["pkey"] . '.ffmpeg')) {
               flush();
               $FFMPEGProgressBar = &new FFMPEGProgressBar();
               flush();
               @$FFMPEGProgressBar->execFFMPEG($FFMPEGInput, $FFMPEGOutput, $FFMPEGParams, $pkey);

               flush();
               $_SESSION['new_space']["video"] = 'data/' . $_SESSION['OldSession'] . "/" . $file;
               $_SESSION['new_space']["{$FileInstance['name']}"] = $flv_rpath;
               $_SESSION['new_space']["session"] =   $_SESSION['OldSession'];
           }
       //echo "End:Session holds: ".$_SESSION["cstatus"].", cstatus var = $cstatus";
       } else {
    //  header("Location: $url" . "index.php" );
           echo "<code class="echappe-js">&lt;script type=\&quot;text/javascript\&quot;&gt;window.location.href=&amp;#39;&quot; . $url . &quot;&amp;#39;;&lt;/script&gt;

    No Input" ;
    }
    // ShowProgressbar
     ?>

  • ffmpeg - scaling and stacking 2 videos ?

    25 mai 2016, par Gambit2007

    I have 2 inputs and i want to scale, crop and put them on top of each other at the same time. My command should look something like this :

    ffmpeg -i input1 -i input2 -filter_complex crop=10000:5000:1000:0,scale=3840:1536 vstack output.mp4

    I know i need to use chaining (?) but i tried to look it up online and couldn’t really get it to work.

    So what would be the correct syntax the scale and crop both inputs and then put them vertically on top of each other while using ’-filter_complex’ only once ?

    Thanks !

  • Anomalie #3607 : Problème de compatibilité avec mysql 5.7 pour SPIP 3.1

    26 avril 2016, par Guillaume Fahrner

    Le format est correct, la valeur ne convient par contre pas. La changer parait suffisant :

    https://github.com/concrete5/concrete5/issues/3185 :

    The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in ’YYYY-MM-DD HH:MM:SS’ format. The supported range is ’1000-01-01 00:00:00’ to ’9999-12-31 23:59:59’.

    Per http://dev.mysql.com/doc/refman/5.7/en/datetime.html