Example #1
0
 /**
  * @test
  * @return Job
  */
 public function createJob()
 {
     $inputConfig = new HttpInputConfig();
     $inputConfig->url = self::URL_FILE;
     $input = Input::create($inputConfig);
     /* CREATE VIDEO STREAM CONFIG */
     $videoStreamConfig = new VideoStreamConfig();
     $videoStreamConfig->bitrate = 1024000;
     $videoStreamConfig->height = 202;
     $videoStreamConfig->width = 480;
     /* CREATE AUDIO STREAM CONFIGS */
     $audioStreamConfig = new AudioStreamConfig();
     $audioStreamConfig->bitrate = 256000;
     $encodingProfileConfig = new EncodingProfileConfig();
     $encodingProfileConfig->name = $this->getName() . 'EncodingProfile';
     $encodingProfileConfig->videoStreamConfigs[] = $videoStreamConfig;
     $encodingProfileConfig->audioStreamConfigs[] = $audioStreamConfig;
     /* CREATE ENCODING PROFILE */
     $encodingProfile = EncodingProfile::create($encodingProfileConfig);
     $jobConfig = new JobConfig();
     $jobConfig->encodingProfile = $encodingProfile;
     $jobConfig->input = $input;
     $jobConfig->manifestTypes[] = ManifestTypes::M3U8;
     $jobConfig->manifestTypes[] = ManifestTypes::MPD;
     /* CREATE JOB */
     $job = Job::create($jobConfig);
     $this->assertInstanceOf(Job::class, $job);
     $this->assertNotNull($job->jobId);
     $this->assertNotEquals($job->status, Job::STATUS_ERROR);
     return $job;
 }
 public function testMultiLanguageJob()
 {
     $inputConfig = new HttpInputConfig();
     $inputConfig->url = self::URL_FILE;
     $inputConfig->skipAnalysis = true;
     $input = Input::create($inputConfig);
     $audioMetaDataJustSound = new AudioMetaData();
     $audioMetaDataJustSound->defaultStreamId = 0;
     $audioMetaDataJustSound->label = 'Just Sound';
     $audioMetaDataJustSound->language = 'de';
     $audioMetaDataSoundAndVoice = new AudioMetaData();
     $audioMetaDataSoundAndVoice->defaultStreamId = 1;
     $audioMetaDataSoundAndVoice->label = 'Sound and Voice';
     $audioMetaDataSoundAndVoice->language = 'en';
     /* CREATE VIDEO STREAM CONFIG */
     $videoStreamConfig = new VideoStreamConfig();
     $videoStreamConfig->bitrate = 2400000;
     $videoStreamConfig->height = 720;
     $videoStreamConfig->width = 1280;
     /* CREATE AUDIO STREAM CONFIGS */
     $audioStreamConfig = new AudioStreamConfig();
     $audioStreamConfig->bitrate = 256000;
     $encodingProfileConfig = new EncodingProfileConfig();
     $encodingProfileConfig->name = 'SkippedAnalysisProfile';
     $encodingProfileConfig->videoStreamConfigs[] = $videoStreamConfig;
     $encodingProfileConfig->audioStreamConfigs[] = $audioStreamConfig;
     /* CREATE ENCODING PROFILE */
     $encodingProfile = EncodingProfile::create($encodingProfileConfig);
     $jobConfig = new JobConfig();
     $jobConfig->encodingProfile = $encodingProfile;
     $jobConfig->input = $input;
     $jobConfig->manifestTypes[] = ManifestTypes::MPD;
     $jobConfig->manifestTypes[] = ManifestTypes::M3U8;
     $jobConfig->speed = JobSpeedTypes::STANDARD;
     $jobConfig->audioMetaData[] = $audioMetaDataJustSound;
     $jobConfig->audioMetaData[] = $audioMetaDataSoundAndVoice;
     /* CREATE JOB */
     $job = Job::create($jobConfig);
     $this->assertInstanceOf('bitcodin\\Job', $job);
     $this->assertNotNull($job->jobId);
     $this->assertNotEquals($job->status, Job::STATUS_ERROR);
     return $job;
 }
$inputHeight = $inputVideoMediaConfiguration->displayAspectRatioDen;
$aspectRatio = $inputWidth / $inputHeight;
// Predefined widths
$widths = array(426, 640, 854, 1280, 1920);
$bitrates = array(400 * 1000, 800 * 1000, 1200 * 1000, 2400 * 1000, 4800 * 1000);
$heights = array();
foreach ($widths as $width) {
    array_push($heights, getHeight($width, $aspectRatio));
}
$videoStreamConfigurations = array();
for ($i = 0; $i < count($widths); $i++) {
    $videoStreamConfiguration = new VideoStreamConfig();
    $videoStreamConfiguration->width = $widths[$i];
    $videoStreamConfiguration->height = $heights[$i];
    $videoStreamConfiguration->bitrate = $bitrates[$i];
    array_push($videoStreamConfigurations, $videoStreamConfiguration);
}
$audioStreamConfig = new AudioStreamConfig();
$audioStreamConfig->bitrate = 128000;
$encodingProfileConfig = new EncodingProfileConfig();
$encodingProfileConfig->name = 'API TEST PROFILE DELETE';
$encodingProfileConfig->videoStreamConfigs = $videoStreamConfigurations;
$encodingProfileConfig->audioStreamConfigs[] = $audioStreamConfig;
$encodingProfile = EncodingProfile::create($encodingProfileConfig);
$jobConfig = new JobConfig();
$jobConfig->encodingProfile = $encodingProfile;
$jobConfig->input = $input;
$jobConfig->manifestTypes[] = ManifestTypes::M3U8;
$jobConfig->manifestTypes[] = ManifestTypes::MPD;
$job = Job::create($jobConfig);
EncodingProfile::delete($encodingProfile->encodingProfileId);
 public function testMultiLanguageJobWithMissingAudioMetaDataFields()
 {
     $inputConfig = new HttpInputConfig();
     $inputConfig->url = self::URL_FILE;
     $input = Input::create($inputConfig);
     $encodingProfile = $this->getMultiLanguageEncodingProfile();
     $audioMetaDataJustSound = new AudioMetaData();
     $audioMetaDataJustSound->defaultStreamId = 0;
     $audioMetaDataJustSound->label = 'Just Sound';
     $audioMetaDataSoundAndVoice = new AudioMetaData();
     $audioMetaDataSoundAndVoice->defaultStreamId = 1;
     $audioMetaDataSoundAndVoice->language = 'en';
     $jobConfig = new JobConfig();
     $jobConfig->encodingProfile = $encodingProfile;
     $jobConfig->input = $input;
     $jobConfig->manifestTypes[] = ManifestTypes::MPD;
     $jobConfig->speed = JobSpeedTypes::STANDARD;
     $jobConfig->audioMetaData[] = $audioMetaDataJustSound;
     $jobConfig->audioMetaData[] = $audioMetaDataSoundAndVoice;
     $this->setExpectedException('bitcodin\\exceptions\\BitcodinException');
     $job = Job::create($jobConfig);
     return $job;
 }
 public function testMergeChannelsMultiAudioStreamJob()
 {
     $inputConfig = new HttpInputConfig();
     $inputConfig->url = 'http://bitbucketireland.s3.amazonaws.com/at_test/mono_streams.mkv';
     $input = Input::create($inputConfig);
     /* CREATE VIDEO STREAM CONFIG */
     $videoStreamConfig = new VideoStreamConfig();
     $videoStreamConfig->bitrate = 512000;
     $videoStreamConfig->height = 202;
     $videoStreamConfig->width = 480;
     /* CREATE AUDIO STREAM CONFIGS */
     $audioStreamConfig1 = new AudioStreamConfig();
     $audioStreamConfig1->bitrate = 256000;
     $audioStreamConfig1->defaultStreamId = 0;
     $audioStreamConfig2 = new AudioStreamConfig();
     $audioStreamConfig2->bitrate = 128000;
     $audioStreamConfig2->defaultStreamId = 1;
     $encodingProfileConfig = new EncodingProfileConfig();
     $encodingProfileConfig->name = 'Multi Audio Stream Profile';
     $encodingProfileConfig->videoStreamConfigs[] = $videoStreamConfig;
     $encodingProfileConfig->audioStreamConfigs[] = $audioStreamConfig1;
     $encodingProfileConfig->audioStreamConfigs[] = $audioStreamConfig2;
     /* CREATE ENCODING PROFILE */
     $encodingProfile = EncodingProfile::create($encodingProfileConfig);
     $audioMetaData12 = new AudioMetaData();
     $audioMetaData12->defaultStreamId = 0;
     $audioMetaData12->label = 'Channel 1 and 2';
     $audioMetaData12->language = 'en';
     $audioMetaData34 = new AudioMetaData();
     $audioMetaData34->defaultStreamId = 1;
     $audioMetaData34->label = 'Channel 3 and 4';
     $audioMetaData34->language = 'en';
     $mergeAudioChannelConfig12 = new MergeAudioChannelConfig();
     $mergeAudioChannelConfig12->audioChannels = array(1, 2);
     $mergeAudioChannelConfig34 = new MergeAudioChannelConfig();
     $mergeAudioChannelConfig34->audioChannels = array(3, 4);
     $jobConfig = new JobConfig();
     $jobConfig->encodingProfile = $encodingProfile;
     $jobConfig->input = $input;
     $jobConfig->manifestTypes[] = ManifestTypes::M3U8;
     $jobConfig->manifestTypes[] = ManifestTypes::MPD;
     $jobConfig->speed = JobSpeedTypes::STANDARD;
     $jobConfig->audioMetaData[] = $audioMetaData12;
     $jobConfig->audioMetaData[] = $audioMetaData34;
     $jobConfig->mergeAudioChannelConfigs[] = $mergeAudioChannelConfig12;
     $jobConfig->mergeAudioChannelConfigs[] = $mergeAudioChannelConfig34;
     /* CREATE JOB */
     $job = Job::create($jobConfig);
     $this->assertInstanceOf('bitcodin\\Job', $job);
     $this->assertNotNull($job->jobId);
     $this->assertNotEquals($job->status, Job::STATUS_ERROR);
     return $job;
 }
 /**
  * @depends analyzeFtpInput_File4
  */
 public function testCreateFtpInputJob_File4(Input $input)
 {
     $encodingProfileConfig = AbstractEncodingProfileTest::encodingProfileProvider($this->getName())['defaultEncodingProfileConfig'][0];
     /* CREATE ENCODING PROFILE */
     $encodingProfile = EncodingProfile::create($encodingProfileConfig);
     $jobConfig = new JobConfig();
     $jobConfig->encodingProfile = $encodingProfile;
     $jobConfig->input = $input;
     $jobConfig->manifestTypes[] = ManifestTypes::M3U8;
     $jobConfig->manifestTypes[] = ManifestTypes::MPD;
     /* CREATE JOB */
     $job = Job::create($jobConfig);
     $this->assertInstanceOf(Job::class, $job);
     $this->assertNotNull($job->jobId);
     $this->assertNotEquals($job->status, Job::STATUS_ERROR);
     return $job;
 }
 public function testVideoOnlyJob()
 {
     $inputConfig = new HttpInputConfig();
     $inputConfig->url = self::URL_FILE;
     $input = Input::create($inputConfig);
     /* CREATE VIDEO STREAM CONFIG */
     $videoStreamConfig = new VideoStreamConfig();
     $videoStreamConfig->bitrate = 1024000;
     $videoStreamConfig->height = 202;
     $videoStreamConfig->width = 480;
     $encodingProfileConfig = new EncodingProfileConfig();
     $encodingProfileConfig->name = 'TestEncodingProfile_' . $this->getName() . '@JobMultiLanguageTest';
     $encodingProfileConfig->videoStreamConfigs[] = $videoStreamConfig;
     /* CREATE ENCODING PROFILE */
     $encodingProfile = EncodingProfile::create($encodingProfileConfig);
     $jobConfig = new JobConfig();
     $jobConfig->encodingProfile = $encodingProfile;
     $jobConfig->input = $input;
     $jobConfig->manifestTypes[] = ManifestTypes::MPD;
     $jobConfig->manifestTypes[] = ManifestTypes::M3U8;
     $jobConfig->speed = JobSpeedTypes::STANDARD;
     /* CREATE JOB */
     $job = Job::create($jobConfig);
     $this->assertInstanceOf('bitcodin\\Job', $job);
     $this->assertNotNull($job->jobId);
     $this->assertNotEquals($job->status, Job::STATUS_ERROR);
     return $job;
 }