diff --git a/CHANGELOG.md b/CHANGELOG.md index def4d95..74357f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). ### Added - Add pull request and issue templates. +- Usage of new codec "aac" of ffmpeg 3 ### Changed diff --git a/src/FFMpeg/Format/Video/X264.php b/src/FFMpeg/Format/Video/X264.php index 5f8e8d9..66f079b 100644 --- a/src/FFMpeg/Format/Video/X264.php +++ b/src/FFMpeg/Format/Video/X264.php @@ -51,7 +51,7 @@ class X264 extends DefaultVideo */ public function getAvailableAudioCodecs() { - return array('libvo_aacenc', 'libfaac', 'libmp3lame', 'libfdk_aac'); + return array('aac', 'libvo_aacenc', 'libfaac', 'libmp3lame', 'libfdk_aac'); } /** diff --git a/tests/Functional/VideoTranscodeTest.php b/tests/Functional/VideoTranscodeTest.php index f36f1c5..1bae7ed 100644 --- a/tests/Functional/VideoTranscodeTest.php +++ b/tests/Functional/VideoTranscodeTest.php @@ -25,7 +25,37 @@ class VideoTranscodeTest extends FunctionalTestCase $lastPercentage = null; $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) { if (null !== $lastPercentage) { $phpunit->assertGreaterThanOrEqual($lastPercentage, $percentage); @@ -55,7 +85,7 @@ class VideoTranscodeTest extends FunctionalTestCase $video = new Video(__DIR__ . '/../files/UnknownFileTest.ogv', $ffmpeg->getFFMpegDriver(), $ffmpeg->getFFProbe()); $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() @@ -77,7 +107,7 @@ class VideoTranscodeTest extends FunctionalTestCase $video->filters() ->resize(new Dimension(320, 240), ResizeFilter::RESIZEMODE_INSET) ->rotate(RotateFilter::ROTATE_90); - $video->save(new X264('libvo_aacenc'), $filename); + $video->save(new X264('aac'), $filename); $dimension = $ffmpeg->getFFProbe() ->streams($filename) diff --git a/tests/files/sample.3gp b/tests/files/sample.3gp new file mode 100644 index 0000000..4a3d8ea Binary files /dev/null and b/tests/files/sample.3gp differ