39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace FFMpeg\Functional;
|
||
|
|
|
||
|
|
use FFMpeg\Format\Video\X264;
|
||
|
|
|
||
|
|
class VideoTranscodeTest extends FunctionalTestCase
|
||
|
|
{
|
||
|
|
public function testSimpleTranscodeX264()
|
||
|
|
{
|
||
|
|
$filename = __DIR__ . '/output/output-x264.mp4';
|
||
|
|
if (is_file($filename)) {
|
||
|
|
unlink(__DIR__ . '/output/output-x264.mp4');
|
||
|
|
}
|
||
|
|
|
||
|
|
$ffmpeg = $this->getFFMpeg();
|
||
|
|
$video = $ffmpeg->open(__DIR__ . '/../../files/Test.ogv');
|
||
|
|
|
||
|
|
$this->assertInstanceOf('FFMpeg\Media\Video', $video);
|
||
|
|
|
||
|
|
$lastPercentage = null;
|
||
|
|
$phpunit = $this;
|
||
|
|
|
||
|
|
$codec = new X264('libvo_aacenc');
|
||
|
|
$codec->on('progress', function ($video, $codec, $percentage) use ($phpunit, &$lastPercentage) {
|
||
|
|
if (null !== $lastPercentage) {
|
||
|
|
$phpunit->assertGreaterThanOrEqual($lastPercentage, $percentage);
|
||
|
|
}
|
||
|
|
$lastPercentage = $percentage;
|
||
|
|
$phpunit->assertGreaterThanOrEqual(0, $percentage);
|
||
|
|
$phpunit->assertLessThanOrEqual(100, $percentage);
|
||
|
|
});
|
||
|
|
|
||
|
|
$video->save($codec, $filename);
|
||
|
|
$this->assertFileExists($filename);
|
||
|
|
unlink($filename);
|
||
|
|
}
|
||
|
|
}
|