Вход Регистрация
Файл: system/PHP-classes/FFMPEG.class.php
Строк: 15
<?php 

/*
--------------------------------------------------
Класс для работы с видеофайлами
Работает автономно без установки расширения ffmpeg 
на сервер, если он не установлен
--------------------------------------------------
*/
  
CLASS FFMPEG{
  
  
/*
  -------------------
  Получение скриншота
  -------------------
  */
  
  
PUBLIC STATIC FUNCTION SCREEN($path_video$path_screen$duration "00:00:05") {
    
    
//$path_video - путь к видеофайлу
    //$path_screen - путь куда сохранять скриншот
    //$duration - момент кадра который нужно скринить / формат 00(час):00(минута):00(секунда)
    
    //Сначала пытаемся подключиться к ffmpeg если он установлен на сервер
    
IF (CLASS_EXISTS('ffmpeg_movie')){
      
      
//Получаем номер кадра для скриншота
      
$frame 25;
      
      
//Путь до видео
      
$movie = NEW ffmpeg_movie($path_video);
      
      
$ff_frame $movie->getFrame($frame);
      
      
//Если такой кадр есть
      
IF ($ff_frame) {

        
$gd_image $ff_frame->toGDImage();
        
        IF (
$gd_image) {
          
          
imagepng($gd_image$path_screen);
          
imagedestroy($gd_image);
        
        }
      
      }
      
    }ELSE{
      
      
EXEC('ffmpeg -i '.$path_video.' -ss '.$duration.' -vframes 1 '.$path_screen.'');
      
    }
    
  }
  
  
/*
  ----------------------
  Получение длительности
  ----------------------
  */
  
  
PUBLIC STATIC FUNCTION DURATION($path_video) {
    
    
//$path_video - путь к видеофайлу
    
    //Сначала пытаемся подключиться к ffmpeg если он установлен на сервер
    
IF (CLASS_EXISTS('ffmpeg_movie')){
      
      
//Путь до видео
      
$movie = NEW ffmpeg_movie($path_video);
      
      
//Получаем длительность видео в секундах
      
$sec $movie->getDuration();
      
      
$duration GMDATE("H:i:s"$sec);
      
      RETURN 
$duration;
      
    }ELSE{
      
      
$EX EXEC("ffmpeg -i ".$path_video." 2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,//");
      
      
$duration MB_SUBSTR($EX08'UTF-8');
      
      RETURN 
$duration;
    
    }
    
  }
  
}
Онлайн: 0
Реклама