2012-04-13 10:20:54 +02:00
|
|
|
<?php
|
|
|
|
|
|
2012-04-13 14:34:53 +02:00
|
|
|
/*
|
|
|
|
|
* 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.
|
|
|
|
|
*/
|
|
|
|
|
|
2012-04-13 12:45:41 +02:00
|
|
|
namespace FFMpeg\Format\Video;
|
2012-04-13 10:20:54 +02:00
|
|
|
|
2012-04-13 15:42:10 +02:00
|
|
|
/**
|
|
|
|
|
* The X264 video format
|
|
|
|
|
*/
|
2012-05-25 20:53:56 +02:00
|
|
|
class X264 extends DefaultVideo
|
2012-04-13 10:20:54 +02:00
|
|
|
{
|
2014-08-01 00:03:13 +08:00
|
|
|
/** @var boolean */
|
|
|
|
|
private $bframesSupport;
|
|
|
|
|
|
2013-06-25 10:03:20 +02:00
|
|
|
public function __construct($audioCodec = 'libfaac', $videoCodec = 'libx264')
|
|
|
|
|
{
|
|
|
|
|
$this
|
|
|
|
|
->setAudioCodec($audioCodec)
|
|
|
|
|
->setVideoCodec($videoCodec);
|
2014-08-01 00:03:13 +08:00
|
|
|
$this->bframesSupport = true;
|
2013-06-25 10:03:20 +02:00
|
|
|
}
|
2012-04-13 10:20:54 +02:00
|
|
|
|
2012-06-11 19:19:03 +02:00
|
|
|
/**
|
|
|
|
|
* {@inheritDoc}
|
|
|
|
|
*/
|
|
|
|
|
public function supportBFrames()
|
|
|
|
|
{
|
2014-08-01 00:03:13 +08:00
|
|
|
return $this->bframesSupport;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param $support
|
|
|
|
|
* @return X264
|
|
|
|
|
*/
|
|
|
|
|
public function setBFramesSupport($support)
|
|
|
|
|
{
|
|
|
|
|
$this->bframesSupport = $support;
|
|
|
|
|
|
|
|
|
|
return $this;
|
2012-06-11 19:19:03 +02:00
|
|
|
}
|
|
|
|
|
|
2012-04-13 15:42:10 +02:00
|
|
|
/**
|
|
|
|
|
* {@inheritDoc}
|
|
|
|
|
*/
|
|
|
|
|
public function getAvailableAudioCodecs()
|
2012-04-13 10:20:54 +02:00
|
|
|
{
|
|
|
|
|
return array('libvo_aacenc', 'libfaac', 'libmp3lame');
|
|
|
|
|
}
|
|
|
|
|
|
2012-04-13 15:42:10 +02:00
|
|
|
/**
|
|
|
|
|
* {@inheritDoc}
|
|
|
|
|
*/
|
|
|
|
|
public function getAvailableVideoCodecs()
|
2012-04-13 10:20:54 +02:00
|
|
|
{
|
|
|
|
|
return array('libx264');
|
|
|
|
|
}
|
2012-10-31 00:30:24 +01:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* {@inheritDoc}
|
|
|
|
|
*/
|
|
|
|
|
public function getPasses()
|
|
|
|
|
{
|
|
|
|
|
return 2;
|
|
|
|
|
}
|
2013-04-16 11:24:29 -07:00
|
|
|
|
|
|
|
|
public function getModulus()
|
|
|
|
|
{
|
|
|
|
|
return 2;
|
|
|
|
|
}
|
2012-05-25 15:44:43 +02:00
|
|
|
}
|