Skip to content

Récupérer la durée d’une vidéo avec ffmpeg depuis PHP

  1. $videofile = “fichier.flv”;
  2. passthru(“ffmpeg -i “{$videofile}” 2>&1″);
  3. $duration = ob_get_contents();
  4. $search=‘/Duration: (.*?),/’;
  5. $duration=preg_match($search, $duration, $matches, PREG_OFFSET_CAPTURE, 3);
  6. echo $matches[1][0];
  7. Pour récupérer la durée, en seconde, on peut utiliser cette fonction :
  8. echo hms2sec($matches[1][0]);
  9. function hms2sec ($hms) {
  10.         list($h, $m, $s) = explode (“:”, $hms);
  11.         $seconds = 0;
  12.         $seconds += (intval($h) * 3600);
  13.         $seconds += (intval($m) * 60);
  14.         $seconds += (intval($s));
  15.         return $seconds;
  16. }