Merge pull request #257 from ScoringLine/feature/aac-codec-support
Add support for aac codec of ffmpeg3
This commit is contained in:
		
				commit
				
					
						8908cd19bc
					
				
			
		
					 5 changed files with 42 additions and 8 deletions
				
			
		
							
								
								
									
										11
									
								
								.travis.yml
									
										
									
									
									
								
							
							
						
						
									
										11
									
								
								.travis.yml
									
										
									
									
									
								
							|  | @ -1,31 +1,34 @@ | ||||||
| language: php | language: php | ||||||
| 
 | 
 | ||||||
|  | dist: trusty | ||||||
|  | 
 | ||||||
| branches: | branches: | ||||||
|   only: |   only: | ||||||
|     - master |     - master | ||||||
| 
 | 
 | ||||||
| php: | php: | ||||||
|   - 5.3 |  | ||||||
|   - 5.4 |   - 5.4 | ||||||
|   - 5.5 |   - 5.5 | ||||||
|   - 5.6 |   - 5.6 | ||||||
|   - 7.0 |   - 7.0 | ||||||
|  |   - 7.1 | ||||||
|   - hhvm |   - hhvm | ||||||
| 
 | 
 | ||||||
| matrix: | matrix: | ||||||
|   allow_failures: |   allow_failures: | ||||||
|     - php: hhvm |     - php: hhvm | ||||||
|   include: |   include: | ||||||
|     - php: 5.3 |     - php: 5.4 | ||||||
|       env: COMPOSER_FLAGS="--prefer-lowest" |       env: COMPOSER_FLAGS="--prefer-lowest" | ||||||
| 
 | 
 | ||||||
| before_install: | before_install: | ||||||
|   - sudo apt-get update |   - sudo add-apt-repository ppa:mc3man/trusty-media -y | ||||||
|  |   - sudo apt-get update -q | ||||||
|   - composer self-update |   - composer self-update | ||||||
|   - if [ "$COMPOSER_FLAGS" == "--prefer-lowest" ]; then composer require "roave/security-advisories" dev-master --no-update; fi; |   - if [ "$COMPOSER_FLAGS" == "--prefer-lowest" ]; then composer require "roave/security-advisories" dev-master --no-update; fi; | ||||||
| 
 | 
 | ||||||
| install: | install: | ||||||
|   - sudo apt-get install -y ffmpeg libavcodec-extra-53 |   - sudo apt-get install -y ffmpeg | ||||||
|   - composer update --prefer-source $COMPOSER_FLAGS |   - composer update --prefer-source $COMPOSER_FLAGS | ||||||
| 
 | 
 | ||||||
| script: | script: | ||||||
|  |  | ||||||
|  | @ -10,6 +10,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). | ||||||
| ### Added | ### Added | ||||||
| 
 | 
 | ||||||
| - Add pull request and issue templates. | - Add pull request and issue templates. | ||||||
|  | - Usage of new codec "aac" of ffmpeg 3 | ||||||
| 
 | 
 | ||||||
| ### Changed | ### Changed | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -54,7 +54,7 @@ class X264 extends DefaultVideo | ||||||
|      */ |      */ | ||||||
|     public function getAvailableAudioCodecs() |     public function getAvailableAudioCodecs() | ||||||
|     { |     { | ||||||
|         return array('libvo_aacenc', 'libfaac', 'libmp3lame', 'libfdk_aac'); |         return array('aac', 'libvo_aacenc', 'libfaac', 'libmp3lame', 'libfdk_aac'); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  |  | ||||||
|  | @ -25,7 +25,37 @@ class VideoTranscodeTest extends FunctionalTestCase | ||||||
|         $lastPercentage = null; |         $lastPercentage = null; | ||||||
|         $phpunit = $this; |         $phpunit = $this; | ||||||
| 
 | 
 | ||||||
|         $codec = new X264('libvo_aacenc'); |         $codec = new X264('aac'); | ||||||
|  |         $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); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public function testAacTranscodeX264() | ||||||
|  |     { | ||||||
|  |         $filename = __DIR__ . '/output/output-x264_2.mp4'; | ||||||
|  |         if (is_file($filename)) { | ||||||
|  |             unlink(__DIR__ . '/output/output-x264_2.mp4'); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         $ffmpeg = $this->getFFMpeg(); | ||||||
|  |         $video = $ffmpeg->open(__DIR__ . '/../files/sample.3gp'); | ||||||
|  | 
 | ||||||
|  |         $this->assertInstanceOf('FFMpeg\Media\Video', $video); | ||||||
|  | 
 | ||||||
|  |         $lastPercentage = null; | ||||||
|  |         $phpunit = $this; | ||||||
|  | 
 | ||||||
|  |         $codec = new X264('aac'); | ||||||
|         $codec->on('progress', function ($video, $codec, $percentage) use ($phpunit, &$lastPercentage) { |         $codec->on('progress', function ($video, $codec, $percentage) use ($phpunit, &$lastPercentage) { | ||||||
|             if (null !== $lastPercentage) { |             if (null !== $lastPercentage) { | ||||||
|                 $phpunit->assertGreaterThanOrEqual($lastPercentage, $percentage); |                 $phpunit->assertGreaterThanOrEqual($lastPercentage, $percentage); | ||||||
|  | @ -55,7 +85,7 @@ class VideoTranscodeTest extends FunctionalTestCase | ||||||
|         $video = new Video(__DIR__ . '/../files/UnknownFileTest.ogv', $ffmpeg->getFFMpegDriver(), $ffmpeg->getFFProbe()); |         $video = new Video(__DIR__ . '/../files/UnknownFileTest.ogv', $ffmpeg->getFFMpegDriver(), $ffmpeg->getFFProbe()); | ||||||
| 
 | 
 | ||||||
|         $this->setExpectedException('FFMpeg\Exception\RuntimeException'); |         $this->setExpectedException('FFMpeg\Exception\RuntimeException'); | ||||||
|         $video->save(new X264('libvo_aacenc'), __DIR__ . '/output/output-x264.mp4'); |         $video->save(new X264('aac'), __DIR__ . '/output/output-x264.mp4'); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public function testTranscodePortraitVideo() |     public function testTranscodePortraitVideo() | ||||||
|  | @ -77,7 +107,7 @@ class VideoTranscodeTest extends FunctionalTestCase | ||||||
|         $video->filters() |         $video->filters() | ||||||
|             ->resize(new Dimension(320, 240), ResizeFilter::RESIZEMODE_INSET) |             ->resize(new Dimension(320, 240), ResizeFilter::RESIZEMODE_INSET) | ||||||
|             ->rotate(RotateFilter::ROTATE_90); |             ->rotate(RotateFilter::ROTATE_90); | ||||||
|         $video->save(new X264('libvo_aacenc'), $filename); |         $video->save(new X264('aac'), $filename); | ||||||
| 
 | 
 | ||||||
|         $dimension = $ffmpeg->getFFProbe() |         $dimension = $ffmpeg->getFFProbe() | ||||||
|             ->streams($filename) |             ->streams($filename) | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								tests/files/sample.3gp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								tests/files/sample.3gp
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue