Вход Регистрация
Файл: vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Driver/FFMpegDriver.php
Строк: 102
<?php

/*
 * This file is part of PHP-FFmpeg.
 *
 * (c) Alchemy <info@alchemy.fr>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace FFMpegDriver;

use 
AlchemyBinaryDriverAbstractBinary;
use 
AlchemyBinaryDriverConfiguration;
use 
AlchemyBinaryDriverConfigurationInterface;
use 
AlchemyBinaryDriverExceptionExecutableNotFoundException as BinaryDriverExecutableNotFound;
use 
FFMpegExceptionExecutableNotFoundException;
use 
FFMpegExceptionRuntimeException;
use 
PsrLogLoggerInterface;

class 
FFMpegDriver extends AbstractBinary
{
    
/**
     * {@inheritdoc}
     */
    
public function getName()
    {
        return 
'ffmpeg';
    }

    
/**
     * Creates an FFMpegDriver.
     *
     * @param LoggerInterface     $logger
     * @param array|Configuration $configuration
     *
     * @return FFMpegDriver
     */
    
public static function create(?LoggerInterface $logger null$configuration = [])
    {
        if (!
$configuration instanceof ConfigurationInterface) {
            
$configuration = new Configuration($configuration);
        }

        
$binaries $configuration->get('ffmpeg.binaries', ['avconv''ffmpeg']);

        if (!
$configuration->has('timeout')) {
            
$configuration->set('timeout'300);
        }

        try {
            return static::
load($binaries$logger$configuration);
        } catch (
BinaryDriverExecutableNotFound $e) {
            throw new 
ExecutableNotFoundException('Unable to load FFMpeg'$e->getCode(), $e);
        }
    }

    
/**
     * Get ffmpeg version.
     *
     * @return string
     *
     * @throws RuntimeException
     */
    
public function getVersion()
    {
        
preg_match('#versions(S+)#'$this->command('-version'), $version);
        if (!isset(
$version[1])) {
            throw new 
RuntimeException('Cannot to parse the ffmpeg version!');
        }

        return 
$version[1];
    }
}
Онлайн: 0
Реклама