Вход Регистрация
Файл: my.net.ru/system/PHP-classes/ffmpeg.class.php
Строк: 25
<?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;
    
    }
    
  }
  
}
Онлайн: 3
Реклама