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