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);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |