public function testGetterAndSetter() { $tags = array('tag_a', 'tag_b'); $language = 'portuñol'; $url = '/mnt/video/123/23435.mp4'; $path = '/mnt/video/123/23435.mp4'; $mime = 'video/mpeg4'; $duration = 3456; $acodec = 'aac'; $vcodec = 'mpeg4-HP'; $bitrate = 10000; $framerate = '25/1'; $only_audio = false; $channels = 1; $duration = 66666; $width = 1920; $height = 1080; $hide = false; $numview = 3; $resolution = array('width' => $width, 'height' => $height); $track = new Track(); $track->setTags($tags); $track->setLanguage($language); $track->setUrl($url); $track->setPath($path); $track->setMimeType($mime); $track->setDuration($duration); $track->setAcodec($acodec); $track->setVcodec($vcodec); $track->setBitrate($bitrate); $track->setFramerate($framerate); $track->setOnlyAudio($only_audio); $track->setChannels($channels); $track->setDuration($duration); $track->setWidth($width); $track->setHeight($height); $track->setHide($hide); $track->setNumview($numview); $track->setResolution($resolution); $this->assertEquals($tags, $track->getTags()); $this->assertEquals($language, $track->getLanguage()); $this->assertEquals($url, $track->getUrl()); $this->assertEquals($path, $track->getPath()); $this->assertEquals($mime, $track->getMimeType()); $this->assertEquals($duration, $track->getDuration()); $this->assertEquals($acodec, $track->getAcodec()); $this->assertEquals($vcodec, $track->getVcodec()); $this->assertEquals($bitrate, $track->getBitrate()); $this->assertEquals($framerate, $track->getFramerate()); $this->assertFalse($only_audio, $track->getOnlyAudio()); $this->assertEquals($channels, $track->getChannels()); $this->assertEquals($duration, $track->getDuration()); $this->assertEquals($width, $track->getWidth()); $this->assertEquals($height, $track->getHeight()); $this->assertFalse($hide, $track->getHide()); $this->assertEquals($numview, $track->getNumview()); $this->assertEquals($resolution, $track->getResolution()); }
public function importRecording($opencastId, $invert = false) { $mediaPackage = $this->opencastClient->getMediaPackage($opencastId); $seriesRepo = $this->dm->getRepository('PumukitSchemaBundle:Series'); if (isset($mediaPackage["series"])) { $series = $seriesRepo->findOneBy(array("properties.opencast" => $mediaPackage["series"])); } else { $series = $seriesRepo->findOneBy(array("properties.opencast" => "default")); } if (!$series) { $series = $this->importSeries($mediaPackage); } $multimediaobjectsRepo = $this->dm->getRepository('PumukitSchemaBundle:MultimediaObject'); $onemultimediaobjects = $multimediaobjectsRepo->findOneBy(array("properties.opencast" => $mediaPackage["id"])); if ($onemultimediaobjects == null) { $title = $mediaPackage["title"]; $properties = $mediaPackage["id"]; $recDate = $mediaPackage["start"]; $multimediaObject = $this->factoryService->createMultimediaObject($series); $multimediaObject->setSeries($series); $multimediaObject->setRecordDate($recDate); $multimediaObject->setProperty("opencast", $properties); $multimediaObject->setProperty("opencastinvert", boolval($invert)); $multimediaObject->setProperty("opencasturl", $this->opencastClient->getPlayerUrl() . "?id=" . $properties); $multimediaObject->setTitle($title); if (isset($mediaPackage["language"])) { $multimediaObject->setProperty("opencastlanguage", strtolower($mediaPackage["language"])); } else { $multimediaObject->setProperty("opencastlanguage", 'en'); } foreach ($this->otherLocales as $locale) { $multimediaObject->setTitle($title, $locale); } //Multiple tracks if (isset($mediaPackage["media"]["track"][0])) { for ($i = 0; $i < count($mediaPackage["media"]["track"]); $i++) { $tags = $mediaPackage["media"]["track"][$i]["tags"]; $url = $mediaPackage["media"]["track"][$i]["url"]; $mime = $mediaPackage["media"]["track"][$i]["mimetype"]; $duration = $mediaPackage["media"]["track"][$i]["duration"]; $track = new Track(); if (isset($mediapackage["media"]["track"][$i]["audio"])) { $acodec = $mediaPackage["media"]["track"][$i]["audio"]["encoder"]["type"]; $track->setAcodec($acodec); } if (isset($mediaPackage["language"])) { $track->setLanguage(strtolower($mediaPackage["language"])); } if (isset($mediaPackage["media"]["track"][$i]["video"])) { $vcodec = $mediaPackage["media"]["track"][$i]["video"]["encoder"]["type"]; $track->setVcodec($vcodec); $framerate = $mediaPackage["media"]["track"][$i]["video"]["framerate"]; $track->setFramerate($framerate); } if (!$track->getVcodec() && $track->getAcodec()) { $track->setOnlyAudio(true); } $track->addTag("opencast"); $track->addTag($mediaPackage["media"]["track"][$i]["type"]); $track->setUrl($url); $track->setPath($this->opencastService->getPath($url)); $track->setMimeType($mime); $track->setDuration($duration / 1000); $this->inspectionService->autocompleteTrack($track); $multimediaObject->setDuration($track->getDuration()); $multimediaObject->addTrack($track); } } else { $tags = $mediaPackage["media"]["track"]["tags"]; $url = $mediaPackage["media"]["track"]["url"]; $mime = $mediaPackage["media"]["track"]["mimetype"]; $duration = $mediaPackage["media"]["track"]["duration"]; $track = new Track(); if (isset($mediapackage["media"]["track"]["audio"])) { $acodec = $mediaPackage["media"]["track"]["audio"]["encoder"]["type"]; $track->setAcodec($acodec); } if (isset($mediaPackage["media"]["track"]["video"])) { $vcodec = $mediaPackage["media"]["track"]["video"]["encoder"]["type"]; $track->setVcodec($vcodec); $framerate = $mediaPackage["media"]["track"]["video"]["framerate"]; $track->setFramerate($framerate); } if (!$track->getVcodec() && $track->getAcodec()) { $track->setOnlyAudio(true); } $track->addTag("opencast"); $track->addTag($mediaPackage["media"]["track"]["type"]); $track->setUrl($url); $track->setPath($this->opencastService->getPath($url)); $track->setMimeType($mime); $track->setDuration($duration / 1000); $this->inspectionService->autocompleteTrack($track); $multimediaObject->setDuration($track->getDuration()); $multimediaObject->addTrack($track); } for ($j = 0; $j < count($mediaPackage["attachments"]["attachment"]); $j++) { if (isset($mediaPackage["attachments"]["attachment"][$j]["type"])) { if ($mediaPackage["attachments"]["attachment"][$j]["type"] == "presenter/search+preview") { $tags = $mediaPackage["attachments"]["attachment"][$j]["tags"]; $url = $mediaPackage["attachments"]["attachment"][$j]["url"]; $pic = new Pic(); $pic->setTags(array($tags)); $pic->setUrl($url); $multimediaObject->addPic($pic); } } } $tagRepo = $this->dm->getRepository('PumukitSchemaBundle:Tag'); $opencastTag = $tagRepo->findOneByCod('TECHOPENCAST'); if ($opencastTag) { $tagService = $this->tagService; $tagAdded = $tagService->addTagToMultimediaObject($multimediaObject, $opencastTag->getId()); } $this->dm->persist($multimediaObject); $this->dm->flush(); if ($track) { $opencastUrls = $this->getOpencastUrls($opencastId); $this->opencastService->genSbs($multimediaObject, $opencastUrls); } } }